Re: [jgroups-users] Eclipselink cache coordination with JGroups in Docker in AWS

Questions/problems related to using JGroups <[email protected]> Tue, 7 Feb 2017 17:45:03 +0100
Newsgroups gmane.comp.java.javagroups.general
Message-ID <[email protected]>
OK, so I might as well use [1].

I assume starting 2 instances of the docker containers is the same as 
having beanstalk start them?

So you mentioned that the equivalent of "--network=host" is not 
available on ECS?

How exactly do you start your instances? Any security / firewall rules?

[1] https://hub.docker.com/r/belaban/jgroups/

On 07/02/17 17:39, Questions/problems related to using JGroups wrote:
> Hi, thanks so much for your help, our image is based on the official
> java 8 image, so our Dockerfile starts with
> FROM java:8
>
> and then some stuff to set up glassfish with our application deployed to
> it, but I guess you don't need that for testing. You'll also need to
> expose the port you'd like to use:
> EXPOSE 7800
>
> and then you'll need an entry point, for example bash if you just want
> to do some testing:
> ENTRYPOINT ["/bin/bash"]
>
> I think the problem we're facing is not because jgroups doesn't work in
> Docker, it's because Elastic Beanstalk doesn't support "host" network
> mode with Docker.
>
> Kind Regards
> Steinar
>
>
>
>
> 2017-02-07 17:19 GMT+01:00 JGroups - General mailing list [via JGroups]
> <[hidden email] </user/SendEmail.jtp?type=node&node=11273&i=0>>:
>
>     I have an AWS account. If you could provide me a
>     simplified/stripped-down image of the docker container, I could test
>     this myself. I don't think I need beanstalk, but a simple way to run 2
>     containers would do.
>
>     Perhaps instructions to set this up, as I haven't touched AWS for
>     years... :-)
>
>     On 06/02/17 22:22, Questions/problems related to using JGroups wrote:
>
>     > Hi, I tested with two instances in Elastic Beanstalk. Problem is that
>     > they actually get the same IP on the eth0 interface. I'm pretty sure
>     > they would be able to communicate over the IP of their host as long as
>     > the port is forwarded but I guess jgroups won't accept that since that
>     > IP isn't bound to any NIC in the container ?
>     >
>     > Regards
>     > Steinar
>     >
>     > 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
>     > group default qlen 1
>     >     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
>     >     inet 127.0.0.1/8 <http://127.0.0.1/8> <http://127.0.0.1/8>
>     scope host lo
>     >        valid_lft forever preferred_lft forever
>     >     inet6 ::1/128 scope host
>     >        valid_lft forever preferred_lft forever
>     > 4: eth0@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue
>     > state UP group default
>     >     link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
>     >     inet 172.17.0.2/16 <http://172.17.0.2/16>
>     <http://172.17.0.2/16> scope global eth0
>     >        valid_lft forever preferred_lft forever
>     >     inet6 fe80::42:acff:fe11:2/64 scope link
>     >        valid_lft forever preferred_lft forever
>     >
>     >  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
>     > group default qlen 1
>     >     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
>     >     inet 127.0.0.1/8 <http://127.0.0.1/8> <http://127.0.0.1/8>
>     scope host lo
>     >        valid_lft forever preferred_lft forever
>     >     inet6 ::1/128 scope host
>     >        valid_lft forever preferred_lft forever
>     > 12: eth0@if13: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue
>     > state UP group default
>     >     link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
>     >     inet 172.17.0.2/16 <http://172.17.0.2/16>
>     <http://172.17.0.2/16> scope global eth0
>     >        valid_lft forever preferred_lft forever
>     >     inet6 fe80::42:acff:fe11:2/64 scope link
>     >        valid_lft forever preferred_lft forever
>     >
>     > 2017-02-04 17:09 GMT+01:00 JGroups - General mailing list [via JGroups]
>     > <[hidden email] </user/SendEmail.jtp?type=node&node=11270&i=0>>:
>     >
>
>     >     When you attach to the docker container and/or run a shell,
>     ifconfig
>     >     lists the available NICs and you need to pick one of them,
>     e.g. using
>     >     match-interface or match-address.
>     >
>     >     When multiple docker containers are started via beanstalk, can
>     you
>     >     netcat/telnet between them? I suggest run a 'nc -l 7500' on
>     one of the
>     >     containers and then 'nc <addr> 7500' on another to connect to the
>     >     'server' container.
>     >
>     >     'netstat -na |grep 7500' should then show you the addresses
>     (NICs) that
>     >     should be used.
>     >
>     >     I don't know beanstalk and therefore don't know how it starts
>     docker
>     >     containers, so you need to find out how the containers can
>     talk to each
>     >     other (via TCP).
>     >
>     >     Once this is done and works, pick the IP addresses used and
>     inject them
>     >     into the JChannel as TCP.bind_addr before calling
>     JChannel.connect(),
>     >     and this should work.
>     >
>     >     Again, once the containers can talk to each other (which is a
>     >     beanstalk/docker issue and not a JGroups issue), JGroups will
>     work,
>     >     too.
>     >
>     >     On 03/02/17 21:05, Questions/problems related to using JGroups
>     wrote:
>     >
>     >     > Hi, thanks for your reply. I decided to go for the S3_PING as
>     >     discovery
>     >     > mechanism. Since I run the application in Docker, I'm under the
>     >     impression
>     >     > that I must bind to the IP-address of the host so that the
>     other
>     >     instances
>     >     > can connect to it. In AWS the IP of the host can be found
>     with the
>     >     following
>     >     > command:
>     >     > http://169.254.169.254/latest/meta-data/local-ipv4
>     <http://169.254.169.254/latest/meta-data/local-ipv4>
>     >     <http://169.254.169.254/latest/meta-data/local-ipv4
>     <http://169.254.169.254/latest/meta-data/local-ipv4>>
>     >     > I then use a sed command to stick the IP into the jgroups xml
>     >     config file.
>     >     >
>     >     > Problem is that when I start up the application I get the
>     >     following error:
>     >     > Internal Exception: Exception [EclipseLink-22118] (Eclipse
>     >     Persistence
>     >     > Services - 2.6.1.v20150605-31e8258):
>     >     >
>     org.eclipse.persistence.exceptions.RemoteCommandManagerException
>     >     > Exception Description: Failed to create JGroups connection
>     using
>     >     config
>     >     > file:
>     >
>     /usr/local/glassfish4/glassfish/domains/domain1/config/jgroups.xml
>     >     > Internal Exception: java.net.BindException: [TCP]
>     /172.31.41.16 <http://172.31.41.16>
>     >     <http://172.31.41.16> is not a
>     >     > valid address on any local network interface. Please see
>
>     >     server.log for more
>     >     > details.
>     >     > Command deploy failed.
>     >     >
>     >     > I understand that since 172.31.41.16 is the IP of the host
>     but not
>     >     bound to
>     >     > any local network interface on the container jgroups cannot
>     bind
>     >     to it, but
>     >     > I have no clue how to resolve this. Is it any way around it ?
>     >     >
>     >     > When I run my container on my local machine it works if I run
>     >     docker with
>     >     > --net="host" so that the container
>     >     > uses the host's networks stack, but in AWS Elastic Beanstalk I
>     >     don't think I
>     >     > have that option.
>     >     >
>     >     > Regards
>     >     > Steinar
>     >     >
>     >     >
>     >     >
>     >     > --
>     >     > View this message in context:
>     >
>     http://jgroups.1086181.n5.nabble.com/jgroups-users-Eclipselink-cache-coordination-with-JGroups-in-Docker-in-AWS-tp11257p11268.html
>     <http://jgroups.1086181.n5.nabble.com/jgroups-users-Eclipselink-cache-coordination-with-JGroups-in-Docker-in-AWS-tp11257p11268.html>
>     >
>     <http://jgroups.1086181.n5.nabble.com/jgroups-users-Eclipselink-cache-coordination-with-JGroups-in-Docker-in-AWS-tp11257p11268.html
>     <http://jgroups.1086181.n5.nabble.com/jgroups-users-Eclipselink-cache-coordination-with-JGroups-in-Docker-in-AWS-tp11257p11268.html>>
>
>     >     > Sent from the JGroups - General mailing list archive at
>     Nabble.com.
>     >     >
>     >     >
>     >
>     ------------------------------------------------------------------------------
>
>     >
>     >     > Check out the vibrant tech community on one of the world's most
>     >     > engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>     >     > _______________________________________________
>     >     > javagroups-users mailing list
>     >     > [hidden email]
>     <http:///user/SendEmail.jtp?type=node&node=11269&i=0
>     <http:///user/SendEmail.jtp?type=node&node=11269&i=0>>
>
>     >     >
>     https://lists.sourceforge.net/lists/listinfo/javagroups-users
>     <https://lists.sourceforge.net/lists/listinfo/javagroups-users>
>     >     <https://lists.sourceforge.net/lists/listinfo/javagroups-users
>     <https://lists.sourceforge.net/lists/listinfo/javagroups-users>>
>     >     >
>     >     --
>     >     Bela Ban, JGroups lead (http://www.jgroups.org)
>     >
>     >
>     >     ------------------------------------------------------------------------------
>     >
>     >     Check out the vibrant tech community on one of the world's most
>     >     engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>     >     _______________________________________________
>     >     javagroups-users mailing list
>     >     [hidden email] <http:///user/SendEmail.jtp?type=node&node=11269&i=1
>     <http:///user/SendEmail.jtp?type=node&node=11269&i=1>>
>     >     https://lists.sourceforge.net/lists/listinfo/javagroups-users
>     <https://lists.sourceforge.net/lists/listinfo/javagroups-users>
>     >     <https://lists.sourceforge.net/lists/listinfo/javagroups-users
>     <https://lists.sourceforge.net/lists/listinfo/javagroups-users>>
>     >
>     >
>     >     ------------------------------------------------------------------------
>     >     If you reply to this email, your message will be added to the
>     >     discussion below:
>     >     http://jgroups.1086181.n5.nabble.com/jgroups-users-Eclipselink-cache-coordination-with-JGroups-in-Docker-in-AWS-tp11257p11269.html
>     <http://jgroups.1086181.n5.nabble.com/jgroups-users-Eclipselink-cache-coordination-with-JGroups-in-Docker-in-AWS-tp11257p11269.html>
>     >     <http://jgroups.1086181.n5.nabble.com/jgroups-users-Eclipselink-cache-coordination-with-JGroups-in-Docker-in-AWS-tp11257p11269.html
>     <http://jgroups.1086181.n5.nabble.com/jgroups-users-Eclipselink-cache-coordination-with-JGroups-in-Docker-in-AWS-tp11257p11269.html>>
>
>     >
>     >     To unsubscribe from [jgroups-users] Eclipselink cache coordination
>     >     with JGroups in Docker in AWS, click here.
>     >     NAML
>     >
>     <http://jgroups.1086181.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml
>     <http://jgroups.1086181.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>>
>
>     >
>     >
>     >
>     >
>     >
>     ------------------------------------------------------------------------
>
>     > View this message in context: Re: [jgroups-users] Eclipselink cache
>     > coordination with JGroups in Docker in AWS
>     >
>     <http://jgroups.1086181.n5.nabble.com/jgroups-users-Eclipselink-cache-coordination-with-JGroups-in-Docker-in-AWS-tp11257p11270.html
>     <http://jgroups.1086181.n5.nabble.com/jgroups-users-Eclipselink-cache-coordination-with-JGroups-in-Docker-in-AWS-tp11257p11270.html>>
>
>     > Sent from the JGroups - General mailing list archive
>     > <http://jgroups.1086181.n5.nabble.com/JGroups-General-f3.html
>     <http://jgroups.1086181.n5.nabble.com/JGroups-General-f3.html>> at
>     > Nabble.com.
>
>     >
>     >
>     > ------------------------------------------------------------------------------
>     > Check out the vibrant tech community on one of the world's most
>     > engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>     >
>     >
>     >
>     > _______________________________________________
>     > javagroups-users mailing list
>     > [hidden email] <http:///user/SendEmail.jtp?type=node&node=11272&i=0>
>     > https://lists.sourceforge.net/lists/listinfo/javagroups-users
>     <https://lists.sourceforge.net/lists/listinfo/javagroups-users>
>     >
>     --
>     Bela Ban, JGroups lead (http://www.jgroups.org)
>
>
>     ------------------------------------------------------------------------------
>
>     Check out the vibrant tech community on one of the world's most
>     engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>     _______________________________________________
>     javagroups-users mailing list
>     [hidden email] <http:///user/SendEmail.jtp?type=node&node=11272&i=1>
>     https://lists.sourceforge.net/lists/listinfo/javagroups-users
>     <https://lists.sourceforge.net/lists/listinfo/javagroups-users>
>
>
>     ------------------------------------------------------------------------
>     If you reply to this email, your message will be added to the
>     discussion below:
>     http://jgroups.1086181.n5.nabble.com/jgroups-users-Eclipselink-cache-coordination-with-JGroups-in-Docker-in-AWS-tp11257p11272.html
>     <http://jgroups.1086181.n5.nabble.com/jgroups-users-Eclipselink-cache-coordination-with-JGroups-in-Docker-in-AWS-tp11257p11272.html>
>
>     To unsubscribe from [jgroups-users] Eclipselink cache coordination
>     with JGroups in Docker in AWS, click here.
>     NAML
>     <http://jgroups.1086181.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>
>
>
>
> ------------------------------------------------------------------------
> View this message in context: Re: [jgroups-users] Eclipselink cache
> coordination with JGroups in Docker in AWS
> <http://jgroups.1086181.n5.nabble.com/jgroups-users-Eclipselink-cache-coordination-with-JGroups-in-Docker-in-AWS-tp11257p11273.html>
> Sent from the JGroups - General mailing list archive
> <http://jgroups.1086181.n5.nabble.com/JGroups-General-f3.html> at
> Nabble.com.
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>
>
>
> _______________________________________________
> javagroups-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/javagroups-users
>

-- 
Bela Ban, JGroups lead (http://www.jgroups.org)


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot