You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by JohnDeIgnite <is...@pintye.com> on 2018/07/20 15:37:44 UTC

Ignite Cluster behind one Public IP address

Hi there,

Thanks for that great product.

My question is:

How can I access my Ignite Cluster which is behind one Public IP address?

For example:

My Cluster provider gave me one Floating IP (123.456.789.111) what can bind
to any of my Ignite Worker machines.
Anyone has its own local IP address like 192.168.0.1, 192.168.0.2, etc.

I can access ( can work each of them if the floating (public) IP is bind to
one of them, example 123.456.789.111 -> 192.168.0.5 )

But as far as I start a second Ignite Server, this schema does not work any
more.

I made some changes in the configuration:




On the servers default-config.xml looks like:

//
---------------------------------------------------------------------------------

    <bean id="grid.cfg"
class="org.apache.ignite.configuration.IgniteConfiguration">
        <property name="peerClassLoadingEnabled" value="true"/>
	<property name="networkTimeout" value="150000"/>
	<property name="addressResolver">
	     <bean class="org.apache.ignite.configuration.BasicAddressResolver">
	         <constructor-arg>
	             <map>

	                 <entry key="127.0.0.1" value="123.456.789.111"/>
	             </map>
	         </constructor-arg>
	     </bean>
	</property>
        <property name="discoverySpi">
            <bean
class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">

		<property name="localPort" value="47503"/>
		<property name="ipFinder">
		    <bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder">
		    <property name="multicastGroup" value="2XX.10.10.5"/>
		    </bean>
		</property>
    	    </bean>
	</property>
    </bean>

//
---------------------------------------------------------------------------------



My client config looks like:

        IgniteConfiguration configuration = new IgniteConfiguration();
        configuration.setClientMode(true);
        configuration.setPeerClassLoadingEnabled(true);

        TcpDiscoverySpi tcpDiscoverySpi = new TcpDiscoverySpi();

        TcpDiscoveryMulticastIpFinder tcpDiscoveryMulticastIpFinder = new
TcpDiscoveryMulticastIpFinder();
       
tcpDiscoveryMulticastIpFinder.setAddresses(Arrays.asList("123.456.789.111"));
        tcpDiscoveryMulticastIpFinder.setMulticastGroup("228.10.10.5");
        //tcpDiscoveryMulticastIpFinder.setShared(true);

        tcpDiscoverySpi.setIpFinder(tcpDiscoveryMulticastIpFinder);

        configuration.setDiscoverySpi(tcpDiscoverySpi);
        configuration.setFailureDetectionTimeout(15000);
        configuration.setClientFailureDetectionTimeout(15000);

//
---------------------------------------------------------------------------------

Addition:

ignitevisor can see both server and a client also, but ignite works properly
only when
one server run on the cluster-

Can you help me to solve this?

Thank You in advance.




--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Ignite Cluster behind one Public IP address

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

Apache Ignite is pretty flexible in this regard, i.e. you can have two
nodes both exposing JDBC on different ports.

But still you won't able to add an Ignite node to cluster which is visible
from one IP without massive configuration & tunnelling effort.

Regards,

-- 
Ilya Kasnacheev

2018-07-21 19:03 GMT+03:00 Dave Harvey <dh...@jobcase.com>:

> You could add a mode that you  bind the IP address to, and start two
> ignite client nodes on the that node, each using a different port for JDBC,
> etc.
>
> On Fri, Jul 20, 2018 at 1:13 PM, Ilya Kasnacheev <
> ilya.kasnacheev@gmail.com> wrote:
>
>> Hello!
>>
>> With such configuration you can only use 'thin' Ignite clients, such as
>> JDBC, ODBC, REST, etc.
>>
>> Ignite nodes (including client nodes) need to be able to communicate to
>> every node in the cluster, not just one of them.
>>
>> Regards,
>>
>> --
>> Ilya Kasnacheev
>>
>> 2018-07-20 18:37 GMT+03:00 JohnDeIgnite <is...@pintye.com>:
>>
>>> Hi there,
>>>
>>> Thanks for that great product.
>>>
>>> My question is:
>>>
>>> How can I access my Ignite Cluster which is behind one Public IP address?
>>>
>>> For example:
>>>
>>> My Cluster provider gave me one Floating IP (123.456.789.111) what can
>>> bind
>>> to any of my Ignite Worker machines.
>>> Anyone has its own local IP address like 192.168.0.1, 192.168.0.2, etc.
>>>
>>> I can access ( can work each of them if the floating (public) IP is bind
>>> to
>>> one of them, example 123.456.789.111 -> 192.168.0.5 )
>>>
>>> But as far as I start a second Ignite Server, this schema does not work
>>> any
>>> more.
>>>
>>> I made some changes in the configuration:
>>>
>>>
>>>
>>>
>>> On the servers default-config.xml looks like:
>>>
>>> //
>>> ------------------------------------------------------------
>>> ---------------------
>>>
>>>     <bean id="grid.cfg"
>>> class="org.apache.ignite.configuration.IgniteConfiguration">
>>>         <property name="peerClassLoadingEnabled" value="true"/>
>>>         <property name="networkTimeout" value="150000"/>
>>>         <property name="addressResolver">
>>>              <bean class="org.apache.ignite.confi
>>> guration.BasicAddressResolver">
>>>                  <constructor-arg>
>>>                      <map>
>>>
>>>                          <entry key="127.0.0.1" value="123.456.789.111"/>
>>>                      </map>
>>>                  </constructor-arg>
>>>              </bean>
>>>         </property>
>>>         <property name="discoverySpi">
>>>             <bean
>>> class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
>>>
>>>                 <property name="localPort" value="47503"/>
>>>                 <property name="ipFinder">
>>>                     <bean
>>> class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicas
>>> t.TcpDiscoveryMulticastIpFinder">
>>>                     <property name="multicastGroup" value="2XX.10.10.5"/>
>>>                     </bean>
>>>                 </property>
>>>             </bean>
>>>         </property>
>>>     </bean>
>>>
>>> //
>>> ------------------------------------------------------------
>>> ---------------------
>>>
>>>
>>>
>>> My client config looks like:
>>>
>>>         IgniteConfiguration configuration = new IgniteConfiguration();
>>>         configuration.setClientMode(true);
>>>         configuration.setPeerClassLoadingEnabled(true);
>>>
>>>         TcpDiscoverySpi tcpDiscoverySpi = new TcpDiscoverySpi();
>>>
>>>         TcpDiscoveryMulticastIpFinder tcpDiscoveryMulticastIpFinder = new
>>> TcpDiscoveryMulticastIpFinder();
>>>
>>> tcpDiscoveryMulticastIpFinder.setAddresses(Arrays.asList("12
>>> 3.456.789.111"));
>>>         tcpDiscoveryMulticastIpFinder.setMulticastGroup("228.10.10.5");
>>>         //tcpDiscoveryMulticastIpFinder.setShared(true);
>>>
>>>         tcpDiscoverySpi.setIpFinder(tcpDiscoveryMulticastIpFinder);
>>>
>>>         configuration.setDiscoverySpi(tcpDiscoverySpi);
>>>         configuration.setFailureDetectionTimeout(15000);
>>>         configuration.setClientFailureDetectionTimeout(15000);
>>>
>>> //
>>> ------------------------------------------------------------
>>> ---------------------
>>>
>>> Addition:
>>>
>>> ignitevisor can see both server and a client also, but ignite works
>>> properly
>>> only when
>>> one server run on the cluster-
>>>
>>> Can you help me to solve this?
>>>
>>> Thank You in advance.
>>>
>>>
>>>
>>>
>>> --
>>> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>>>
>>
>>
>
>
> *Disclaimer*
>
> The information contained in this communication from the sender is
> confidential. It is intended solely for use by the recipient and others
> authorized to receive it. If you are not the recipient, you are hereby
> notified that any disclosure, copying, distribution or taking action in
> relation of the contents of this information is strictly prohibited and may
> be unlawful.
>
> This email has been scanned for viruses and malware, and may have been
> automatically archived by *Mimecast Ltd*, an innovator in Software as a
> Service (SaaS) for business. Providing a *safer* and *more useful* place
> for your human generated data. Specializing in; Security, archiving and
> compliance. To find out more Click Here
> <http://www.mimecast.com/products/>.
>

Re: Ignite Cluster behind one Public IP address

Posted by Dave Harvey <dh...@jobcase.com>.
You could add a mode that you  bind the IP address to, and start two ignite
client nodes on the that node, each using a different port for JDBC, etc.

On Fri, Jul 20, 2018 at 1:13 PM, Ilya Kasnacheev <il...@gmail.com>
wrote:

> Hello!
>
> With such configuration you can only use 'thin' Ignite clients, such as
> JDBC, ODBC, REST, etc.
>
> Ignite nodes (including client nodes) need to be able to communicate to
> every node in the cluster, not just one of them.
>
> Regards,
>
> --
> Ilya Kasnacheev
>
> 2018-07-20 18:37 GMT+03:00 JohnDeIgnite <is...@pintye.com>:
>
>> Hi there,
>>
>> Thanks for that great product.
>>
>> My question is:
>>
>> How can I access my Ignite Cluster which is behind one Public IP address?
>>
>> For example:
>>
>> My Cluster provider gave me one Floating IP (123.456.789.111) what can
>> bind
>> to any of my Ignite Worker machines.
>> Anyone has its own local IP address like 192.168.0.1, 192.168.0.2, etc.
>>
>> I can access ( can work each of them if the floating (public) IP is bind
>> to
>> one of them, example 123.456.789.111 -> 192.168.0.5 )
>>
>> But as far as I start a second Ignite Server, this schema does not work
>> any
>> more.
>>
>> I made some changes in the configuration:
>>
>>
>>
>>
>> On the servers default-config.xml looks like:
>>
>> //
>> ------------------------------------------------------------
>> ---------------------
>>
>>     <bean id="grid.cfg"
>> class="org.apache.ignite.configuration.IgniteConfiguration">
>>         <property name="peerClassLoadingEnabled" value="true"/>
>>         <property name="networkTimeout" value="150000"/>
>>         <property name="addressResolver">
>>              <bean class="org.apache.ignite.confi
>> guration.BasicAddressResolver">
>>                  <constructor-arg>
>>                      <map>
>>
>>                          <entry key="127.0.0.1" value="123.456.789.111"/>
>>                      </map>
>>                  </constructor-arg>
>>              </bean>
>>         </property>
>>         <property name="discoverySpi">
>>             <bean
>> class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
>>
>>                 <property name="localPort" value="47503"/>
>>                 <property name="ipFinder">
>>                     <bean
>> class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicas
>> t.TcpDiscoveryMulticastIpFinder">
>>                     <property name="multicastGroup" value="2XX.10.10.5"/>
>>                     </bean>
>>                 </property>
>>             </bean>
>>         </property>
>>     </bean>
>>
>> //
>> ------------------------------------------------------------
>> ---------------------
>>
>>
>>
>> My client config looks like:
>>
>>         IgniteConfiguration configuration = new IgniteConfiguration();
>>         configuration.setClientMode(true);
>>         configuration.setPeerClassLoadingEnabled(true);
>>
>>         TcpDiscoverySpi tcpDiscoverySpi = new TcpDiscoverySpi();
>>
>>         TcpDiscoveryMulticastIpFinder tcpDiscoveryMulticastIpFinder = new
>> TcpDiscoveryMulticastIpFinder();
>>
>> tcpDiscoveryMulticastIpFinder.setAddresses(Arrays.asList("12
>> 3.456.789.111"));
>>         tcpDiscoveryMulticastIpFinder.setMulticastGroup("228.10.10.5");
>>         //tcpDiscoveryMulticastIpFinder.setShared(true);
>>
>>         tcpDiscoverySpi.setIpFinder(tcpDiscoveryMulticastIpFinder);
>>
>>         configuration.setDiscoverySpi(tcpDiscoverySpi);
>>         configuration.setFailureDetectionTimeout(15000);
>>         configuration.setClientFailureDetectionTimeout(15000);
>>
>> //
>> ------------------------------------------------------------
>> ---------------------
>>
>> Addition:
>>
>> ignitevisor can see both server and a client also, but ignite works
>> properly
>> only when
>> one server run on the cluster-
>>
>> Can you help me to solve this?
>>
>> Thank You in advance.
>>
>>
>>
>>
>> --
>> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>>
>
>

Disclaimer

The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful.

This email has been scanned for viruses and malware, and may have been automatically archived by Mimecast Ltd, an innovator in Software as a Service (SaaS) for business. Providing a safer and more useful place for your human generated data. Specializing in; Security, archiving and compliance. To find out more visit the Mimecast website.

Re: Ignite Cluster behind one Public IP address

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

With such configuration you can only use 'thin' Ignite clients, such as
JDBC, ODBC, REST, etc.

Ignite nodes (including client nodes) need to be able to communicate to
every node in the cluster, not just one of them.

Regards,

-- 
Ilya Kasnacheev

2018-07-20 18:37 GMT+03:00 JohnDeIgnite <is...@pintye.com>:

> Hi there,
>
> Thanks for that great product.
>
> My question is:
>
> How can I access my Ignite Cluster which is behind one Public IP address?
>
> For example:
>
> My Cluster provider gave me one Floating IP (123.456.789.111) what can bind
> to any of my Ignite Worker machines.
> Anyone has its own local IP address like 192.168.0.1, 192.168.0.2, etc.
>
> I can access ( can work each of them if the floating (public) IP is bind to
> one of them, example 123.456.789.111 -> 192.168.0.5 )
>
> But as far as I start a second Ignite Server, this schema does not work any
> more.
>
> I made some changes in the configuration:
>
>
>
>
> On the servers default-config.xml looks like:
>
> //
> ------------------------------------------------------------
> ---------------------
>
>     <bean id="grid.cfg"
> class="org.apache.ignite.configuration.IgniteConfiguration">
>         <property name="peerClassLoadingEnabled" value="true"/>
>         <property name="networkTimeout" value="150000"/>
>         <property name="addressResolver">
>              <bean class="org.apache.ignite.configuration.
> BasicAddressResolver">
>                  <constructor-arg>
>                      <map>
>
>                          <entry key="127.0.0.1" value="123.456.789.111"/>
>                      </map>
>                  </constructor-arg>
>              </bean>
>         </property>
>         <property name="discoverySpi">
>             <bean
> class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
>
>                 <property name="localPort" value="47503"/>
>                 <property name="ipFinder">
>                     <bean
> class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.
> TcpDiscoveryMulticastIpFinder">
>                     <property name="multicastGroup" value="2XX.10.10.5"/>
>                     </bean>
>                 </property>
>             </bean>
>         </property>
>     </bean>
>
> //
> ------------------------------------------------------------
> ---------------------
>
>
>
> My client config looks like:
>
>         IgniteConfiguration configuration = new IgniteConfiguration();
>         configuration.setClientMode(true);
>         configuration.setPeerClassLoadingEnabled(true);
>
>         TcpDiscoverySpi tcpDiscoverySpi = new TcpDiscoverySpi();
>
>         TcpDiscoveryMulticastIpFinder tcpDiscoveryMulticastIpFinder = new
> TcpDiscoveryMulticastIpFinder();
>
> tcpDiscoveryMulticastIpFinder.setAddresses(Arrays.asList("
> 123.456.789.111"));
>         tcpDiscoveryMulticastIpFinder.setMulticastGroup("228.10.10.5");
>         //tcpDiscoveryMulticastIpFinder.setShared(true);
>
>         tcpDiscoverySpi.setIpFinder(tcpDiscoveryMulticastIpFinder);
>
>         configuration.setDiscoverySpi(tcpDiscoverySpi);
>         configuration.setFailureDetectionTimeout(15000);
>         configuration.setClientFailureDetectionTimeout(15000);
>
> //
> ------------------------------------------------------------
> ---------------------
>
> Addition:
>
> ignitevisor can see both server and a client also, but ignite works
> properly
> only when
> one server run on the cluster-
>
> Can you help me to solve this?
>
> Thank You in advance.
>
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>