It seems that the message didn't render properly as i was expecting. the
Ignite docs only tell us how to start an instance using network_mode = host,
that's not what i'm looking to. Here's the complete message, or at least i
hope this time the message is rendered properly.I've been facing some issues
while maintaining connectivity between an ignite server instance running
inside a docker container and another ignite instance running inside my
Spring boot APP. If i start ignite in spring boot in client mode, everything
works fine, but if i start ignite in server mode , spring boot never finish
starting up, while ignite on docker side keeps printing:
Topology snapshot [ver=1, servers=1, clients=0, CPUs=2, heap=1.0GB]Topology
snapshot [ver=2, servers=2, clients=0, CPUs=6, heap=4.6GB]Topology snapshot
[ver=3, servers=1, clients=0, CPUs=2, heap=1.0GB]Topology snapshot [ver=4,
servers=2, clients=0, CPUs=6, heap=4.6GB]Topology snapshot [ver=5,
servers=1, clients=0, CPUs=2, heap=1.0GB]
I'm using apache ignite 2.3.0 and Spring boot 1.5.9 the Dockered instance as
the following config: ignite.xml
<http://apache-ignite-users.70518.x6.nabble.com/file/t1693/ignite.xml>
Through docker compose i'm exposing the required port range's, here's my
docker compose config:
ignite: image: xxxx build: ./_docker/ignite/local/ restart: always
volumes: - ./data:/data networks: - xxx ports: -
47100-47120:47100-47120 - 47500-47520:47500-47520 - 11211:11211
- 49112:49112
And my docker file:
FROM apacheignite/ignite:2.3.0ENV CONFIG_URI=/cfg/ignite.xmlENV
OPTION_LIBS=ignite-indexingENV DIGNITE_QUIET=falseEXPOSE 11211 47100-47120
47500-47520 49112VOLUME ["/data"]ADD ignite.xml /cfg/ignite.xmlCMD
$IGNITE_HOME/run.sh -v
At spring side i'm instancing ignite with the following config props:
IgniteConfiguration igniteConfiguration = new IgniteConfiguration();
igniteConfiguration.setClientMode(isClientMode());
igniteConfiguration.setActiveOnStart(true); // durable file memory
persistence if (isFilePersistence()) { final
DataStorageConfiguration dataStorageConfiguration = new
DataStorageConfiguration();
dataStorageConfiguration.setDefaultDataRegionConfiguration(
new DataRegionConfiguration().setPersistenceEnabled(true) );
dataStorageConfiguration.setStoragePath(getFilePersistenceStorePath());
dataStorageConfiguration.setWalArchivePath(getFilePersistenceWalArchivePath());
dataStorageConfiguration.setWalPath(getFilePersistenceWalStorePath());
igniteConfiguration.setDataStorageConfiguration(dataStorageConfiguration);
} // connector configuration ConnectorConfiguration
connectorConfiguration = new ConnectorConfiguration();
connectorConfiguration.setPort(getConnectorPort());
igniteConfiguration.setConnectorConfiguration(connectorConfiguration);
// common ignite configuration
igniteConfiguration.setMetricsLogFrequency(getMetricsLogFrequency());
igniteConfiguration.setQueryThreadPoolSize(getQueryThreadPoolSize());
igniteConfiguration.setDataStreamerThreadPoolSize(getDataStreamerThreadPoolSize());
igniteConfiguration.setManagementThreadPoolSize(getManagementThreadPoolSize());
igniteConfiguration.setPublicThreadPoolSize(getPublicThreadPoolSize());
igniteConfiguration.setSystemThreadPoolSize(getSystemThreadPoolSize());
igniteConfiguration.setRebalanceThreadPoolSize(getRebalanceThreadPoolSize());
igniteConfiguration.setAsyncCallbackPoolSize(getAsyncCallbackPoolSize());
igniteConfiguration.setPeerClassLoadingEnabled(isPeerClassLoadingEnabled());
igniteConfiguration.setIgniteInstanceName(getInstanceName());
BinaryConfiguration binaryConfiguration = new BinaryConfiguration();
binaryConfiguration.setCompactFooter(isCompactFooter());
igniteConfiguration.setBinaryConfiguration(binaryConfiguration); //
cluster tcp configuration TcpCommunicationSpi tcpCommunicationSpi =
new TcpCommunicationSpi();
tcpCommunicationSpi.setLocalPort(getDefaultPort());
tcpCommunicationSpi.setLocalPortRange(20);
igniteConfiguration.setCommunicationSpi(tcpCommunicationSpi);
TcpDiscoverySpi tcpDiscoverySpi = new TcpDiscoverySpi();
tcpDiscoverySpi.setLocalPort(getDiscoveryPort());
tcpDiscoverySpi.setLocalPortRange(getDiscoveryPortRange()); if
(isVmMode()) { TcpDiscoveryVmIpFinder tcpDiscoveryVmIpFinder =
new TcpDiscoveryVmIpFinder(); // need to be changed when it come
to real cluster log.info(MARKER, "AutoDiscover VM -> {}",
getAutoDiscoverAddresses());
tcpDiscoveryVmIpFinder.setAddresses(Arrays.asList(getAutoDiscoverAddresses()));
tcpDiscoveryVmIpFinder.setShared(true);
tcpDiscoverySpi.setIpFinder(tcpDiscoveryVmIpFinder); } else {
TcpDiscoveryMulticastIpFinder tcpDiscoveryMulticastIpFinder = new
TcpDiscoveryMulticastIpFinder(); // need to be changed when it
come to real cluster log.info(MARKER, "AutoDiscover Multicast ->
{}", getAutoDiscoverAddresses());
tcpDiscoveryMulticastIpFinder.setShared(true);
tcpDiscoveryMulticastIpFinder.setAddresses(Arrays.asList(getAutoDiscoverAddresses()));
tcpDiscoverySpi.setIpFinder(tcpDiscoveryMulticastIpFinder); }
igniteConfiguration.setDiscoverySpi(tcpDiscoverySpi);
All the props are mapped using .properties file with the following values:
ignite.filePersistence.enabled=falseignite.filePersistence.filePath=./dataignite.filePersistence.storePath=./data/storeignite.filePersistence.walArchivePath=./data/walArchiveignite.filePersistence.walStorePath=./data/walStoreignite.slowClientQueueLimit=1000ignite.connectorPort=11211ignite.serverPortRange=47500ignite.clientMode=trueignite.metricsLogFrequency=0ignite.queryThreadPoolSize=2ignite.dataStreamerThreadPoolSize=1ignite.managementThreadPoolSize=2ignite.publicThreadPoolSize=2ignite.systemThreadPoolSize=2ignite.rebalanceThreadPoolSize=1ignite.asyncCallbackPoolSize=2ignite.peerClassLoadingEnabled=trueignite.instanceName=deviceCommandQueueignite.vmMode=falseignite.defaultPort=47101ignite.discoveryPort=47501ignite.discoveryPortRange=20ignite.compactFooter=falseignite.autoDiscoverAddresses=127.0.0.1:47500..47509
Has anyone faced a similar issue ? or can someone help me with this ? Thanks
in advance.
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/