ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe chen <scsic...@gmail.com>
Subject Issue of ignite run in docker
Date Sat, 28 May 2016 00:12:24 GMT
I wish ignite run in docker and share data between different computer.
First I use  default bridge network  and  "export port" by docker parameter
"-p 47500-47509:47500:47509".
But it seem not work.

So I decide to use overlay network. I referent docker official document to
build docker overlay network with swarm.
Reference document is here
https://docs.docker.com/swarm/install-manual/
I run httpd container on computer0 to proxy tomcat container on computer1
and It work fine. So I think the docker overlay network is workable.

Then I run Ignite container on computer0 and  another Ignite on computer1

 # docker -H :4000 run -d --name ignite0 --net sris4
--env="constraint:node==t0srv" base/ignite
4b318089a747b63b41dfd4b46552a1178feb21c6439f5618fa253041d308df7a
 # docker -H :4000 run -d --name ignite1 --net sris4
--env="constraint:node==t1srv" base/ignite
8578c039e823433251999db42acfbd5aeddd3f0de10dac51eb5c419c01a02955
# docker -H :4000 ps
CONTAINER ID        IMAGE               COMMAND
CREATED             STATUS              PORTS
NAMES
8578c039e823        base/ignite         "bin/ignite.sh /bin/s"   2 minutes
ago       Up 2 minutes
t1srv/ignite1
4b318089a747        base/ignite         "bin/ignite.sh /bin/s"   2 minutes
ago       Up 2 minutes
t0srv/ignite0
# docker -H :4000 logs  ignite0
[23:52:46]    __________  ________________
[23:52:46]   /  _/ ___/ |/ /  _/_  __/ __/
[23:52:46]  _/ // (7 7    // /  / / / _/
[23:52:46] /___/\___/_/|_/___/ /_/ /___/
[23:52:46]
[23:52:46] ver. 1.6.0#20160518-sha1:0b22c45b
[23:52:46] 2016 Copyright(C) Apache Software Foundation
[23:52:46]
[23:52:46] Ignite documentation: http://ignite.apache.org
[23:52:46]
[23:52:46] Quiet mode.
[23:52:46]   ^-- Logging to file
'/opt/ignite/work/log/ignite-4b7bd44a.0.log'
[23:52:46]   ^-- To see **FULL** console log here add -DIGNITE_QUIET=false
or "-v" to ignite.{sh|bat}
[23:52:46]
[23:52:46] OS: Linux 4.5.2-aufs amd64
[23:52:46] VM information: Java(TM) SE Runtime Environment 1.8.0_92-b14
Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 25.92-b14
[23:52:46] Configured plugins:
[23:52:46]   ^-- None
[23:52:46]
[23:52:46] Security status [authentication=off, tls/ssl=off]
[23:53:08] Performance suggestions for grid  (fix if possible)
[23:53:08] To disable, set -DIGNITE_PERFORMANCE_SUGGESTIONS_DISABLED=true
[23:53:08]   ^-- Decrease number of backups (set 'backups' to 0)
[23:53:08]
[23:53:08] To start Console Management & Monitoring run
ignitevisorcmd.{sh|bat}
[23:53:08]
[23:53:08] Ignite node started OK (id=4b7bd44a)
[23:53:08] Topology snapshot [ver=1, servers=1, clients=0, CPUs=16,
heap=1.0GB]
[23:53:39] Topology snapshot [ver=2, servers=2, clients=0, CPUs=18,
heap=2.0GB]
[23:53:39] Topology snapshot [ver=3, servers=1, clients=0, CPUs=16,
heap=1.0GB]
[23:54:09] Topology snapshot [ver=5, servers=2, clients=0, CPUs=18,
heap=2.0GB]
[23:54:09] Topology snapshot [ver=5, servers=1, clients=0, CPUs=16,
heap=1.0GB]
[23:54:40] Topology snapshot [ver=7, servers=2, clients=0, CPUs=18,
heap=2.0GB]
[23:54:40] Topology snapshot [ver=7, servers=1, clients=0, CPUs=16,
heap=1.0GB]
# docker -H :4000 logs  ignite1
[23:53:09]    __________  ________________
[23:53:09]   /  _/ ___/ |/ /  _/_  __/ __/
[23:53:09]  _/ // (7 7    // /  / / / _/
[23:53:09] /___/\___/_/|_/___/ /_/ /___/
[23:53:09]
[23:53:09] ver. 1.6.0#20160518-sha1:0b22c45b
[23:53:09] 2016 Copyright(C) Apache Software Foundation
[23:53:09]
[23:53:09] Ignite documentation: http://ignite.apache.org
[23:53:09]
[23:53:09] Quiet mode.
[23:53:09]   ^-- Logging to file
'/opt/ignite/work/log/ignite-5bb10d6a.0.log'
[23:53:09]   ^-- To see **FULL** console log here add -DIGNITE_QUIET=false
or "-v" to ignite.{sh|bat}
[23:53:09]
[23:53:09] OS: Linux 4.5.2-aufs amd64
[23:53:09] VM information: Java(TM) SE Runtime Environment 1.8.0_92-b14
Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 25.92-b14
[23:53:09] Configured plugins:
[23:53:09]   ^-- None
[23:53:09]
[23:53:09] Security status [authentication=off, tls/ssl=off]
[23:54:35] Performance suggestions for grid  (fix if possible)
[23:54:35] To disable, set -DIGNITE_PERFORMANCE_SUGGESTIONS_DISABLED=true
[23:54:35]   ^-- Decrease number of backups (set 'backups' to 0)
[23:54:35]
[23:54:35] To start Console Management & Monitoring run
ignitevisorcmd.{sh|bat}
[23:54:35]
[23:54:35] Ignite node started OK (id=5bb10d6a)
[23:54:35] Topology snapshot [ver=1, servers=1, clients=0, CPUs=2,
heap=1.0GB]

Ignite0 and Ignite1 does not communicate to each other normally.

# docker -H :4000 exec -it ignite1 bash
root@8578c039e823:/opt/ignite# ping
ignite0

PING ignite0 (10.0.1.2): 56 data bytes
64 bytes from 10.0.1.2: icmp_seq=0 ttl=64 time=0.367 ms
64 bytes from 10.0.1.2: icmp_seq=1 ttl=64 time=0.364 ms
^C--- ignite0 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.364/0.365/0.367/0.000 ms
root@8578c039e823:/opt/ignite# ping ignite1
PING ignite1 (10.0.1.3): 56 data bytes
64 bytes from 10.0.1.3: icmp_seq=0 ttl=64 time=0.061 ms
64 bytes from 10.0.1.3: icmp_seq=1 ttl=64 time=0.053 ms
^C--- ignite1 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.053/0.057/0.061/0.000 ms
root@8578c039e823:/opt/ignite# </dev/tcp/ignite0/47500 && echo Port is open
|| echo Port is closed
Port is open
root@8578c039e823:/opt/ignite# </dev/tcp/ignite1/47500 && echo Port is open
|| echo Port is closed
Port is open
root@8578c039e823:/opt/ignite# </dev/tcp/ignite1/4444 && echo Port is open
|| echo Port is closed
bash: connect: Connection refused
bash: /dev/tcp/ignite1/4444: Connection refused
Port is closed

Test port accessibility and it seems work find. But Ignote0 and Ignite1 is
not clustering well.
Anybody help?

Thanks a lot.

====
Dockerfile
====
FROM base/java8

RUN set -x \
 && apt-get update \
 && apt-get -y install zip

# Ignite version
ENV IGNITE_VERSION 1.6.0
COPY files/apache-ignite-fabric-${IGNITE_VERSION}-bin.zip /opt/ignite.zip
# Ignite home
ENV IGNITE_HOME /opt/ignite
RUN set -x\
 && cd /opt \
 && unzip ignite.zip \
 && mv /opt/apache-ignite-fabric-${IGNITE_VERSION}-bin ${IGNITE_HOME} \
 && rm ignite.zip
COPY files/ignite.xml $IGNITE_HOME
WORKDIR ${IGNITE_HOME}
ENTRYPOINT ["bin/ignite.sh"]
CMD ignite.xml

====
ignite.xml
====
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:security="http://www.springframework.org/schema/security"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
          http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd
          http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-4.0.xsd">

        <!-- ignite session replication -->

        <bean id="ignite.cfg"
class="org.apache.ignite.configuration.IgniteConfiguration">
                <property name="cacheConfiguration">
                        <list>
                                <!-- Partitioned cache example
configuration (Atomic mode). -->
                                <!-- <bean
class="org.apache.ignite.configuration.CacheConfiguration">
                                        <property name="atomicityMode"
value="ATOMIC" /> <property name="backups"
                                        value="1" /> </bean> -->
                                <bean id="partitioned"
class="org.apache.ignite.configuration.CacheConfiguration">
                                        <!-- Cache name. -->
                                        <property name="name"
value="partitioned" />
                                        <!-- Cache mode. -->
                                        <property name="cacheMode"
value="PARTITIONED" />
                                        <property name="backups" value="1"
/>

                                        <!-- Set up LRU eviction policy
with 10000 sessions limit. -->
                                        <!--
                                        <property name="evictionPolicy">
                                                <bean

class="org.apache.ignite.cache.eviction.lru.CacheLruEvictionPolicy">
                                                        <property
name="maxSize" value="10000" />
                                                </bean>
                                        </property>
                                         -->
                                </bean>
                        </list>
                </property>

                <!-- Explicitly configure TCP discovery SPI to provide list
of initial
                        nodes. -->
                <property name="discoverySpi">
                        <bean
class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
                                <property name="ipFinder">
                                        <!-- Ignite provides several
options for automatic discovery that can
                                                be used instead os static
IP based discovery. For information on all options
                                                refer to our documentation:
http://apacheignite.readme.io/docs/cluster-config -->
                                        <!-- Uncomment static IP finder to
enable static-based discovery of
                                                initial nodes. -->
                                        <!--<bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
-->
                                        <!--bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder"-->
                                        <bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
                                                <!--property
name="multicastGroup" value="228.10.10.157"/-->
                                                <property name="addresses">
                                                        <list>

<value>10.0.1.2:47500..47509</value>

<value>10.0.1.3:47500..47509</value>
                                                        </list>
                                                </property>
                                        </bean>
                                </property>
                        </bean>
                </property>
        </bean>
</beans>

--
scsi

Mime
View raw message