Hi Luca, Docker differences
1. Using `centos:7` not `debian` 2. Using `java-1.7.0-openjdk-headless` instead of `java-1.7.0-openjdk` 3. The OrientDB install tar file (https://abcum-deploy.s3.amazonaws.com/orient/orientdb-community-2.0.4.tar.gz) is an exact copy of the one available at http://www.orientechnologies.com/download/ except that it has had the demo database removed to make it smaller. 4. The OrientDB configs are included in the docker image in the /conf/ folder, and do not need to be included on a shared volume. 5. The OrientDB config and startup script has been simplified slightly so that it runs in the foreground on CoreOS in a distributed setup. 6. Running the docker image will launch a 'ready to go' distributed OrientDB instance using either TCP or AWS node discovery. 7. The OrientDB instance is launched in the foreground (not as a daemon) so that it can be controlled by Fleet on CoreOS 8. Using Hazelcast variables (http://blog.hazelcast.com/2013/08/14/xml-variables/) for putting the docker environment variables into the hazelcast.xml file. If running OrientDB on a CoreOS cluster in Amazon EC2/VPC you should be able to launch any number of OrientDB instances which connect with each other using the Fleetctl service file, which is included in the repository. I think those are the main differences off the top of my head! Tobie On Wednesday, 4 March 2015 18:24:24 UTC, Lvc@ wrote: > > Hi Tobie, > How your project compares to > https://github.com/orientechnologies/orientdb-docker ? > > > Lvc@ > > > On 4 March 2015 at 14:41, Tobie Morgan Hitchcock <[email protected] > <javascript:>> wrote: > >> Hi Esen, >> >> I've just been through the same problem, but have a solution. >> >> Basically, Hazelcast attaches itself to the private ip address of the >> docker container, and notifies other nodes of this ip address (meaning that >> it does not ever match the members). There are two solutions... >> >> 1. Use *docker run --net=host* to run the docker container (works ok, >> but the container is therefore not running in it's separate network). >> 2. Pass the private/public IP address of the machine to the docker >> container so that Hazelcast knows which IP address to bind to. >> >> 1. Add <properties><property name="hazelcast.local.localAddress" >> >IPV4ADDRESSHERE</property></properties> into hazelcast.xml >> 2. Add <network><public-address>IPV4ADDRESSHERE</public-address></ >> network> >> >> I've setup a docker container to do exactly this, which can be used to >> setup a distributed OrientDB running on CoreOS using Fleet (fleetctl). This >> will work on Vagrant or Amazon EC2/VPC. >> >> The repository is available here: >> https://github.com/abcum/docker-orientdb.git >> >> Tobie >> >> >> On Tuesday, 6 January 2015 07:19:42 UTC, Esen Sagynov wrote: >>> >>> I can successfully telnet to each server from any other server because >>> incoming requests are allowed. In fact, each server successfully receives a >>> connection request, however, there seems to be some kind of a validation. >>> When the host A receives a connection request from host B, host A checks if >>> the requested IP address is host A's IP address. Now here this validation >>> fails according to the above error message. >>> >>> I wonder if it is necessary to do such validations in ODB? >>> >>> On Monday, January 5, 2015 9:27:31 PM UTC+9, Lvc@ wrote: >>>> >>>> Hi Esen, >>>> Seems OrientDB servers can't see each other. I suggest you to try if >>>> connections are allowed between hosts with CURL. >>>> >>>> Lvc@ >>>> >>>> >>>> On 5 January 2015 at 07:19, Esen Sagynov <[email protected]> wrote: >>>> >>>>> Using ODB 2.0-SNAPSHOT (Jan 5, 2015). >>>>> >>>>> My nodes in Docker containers on separate physical machines cannot >>>>> join to each other. The establish a connection however eventually they >>>>> refuse joining because some conditions aren't met. >>>>> >>>>> The following are logs on Host 2: >>>>> >>>>> 2015-01-05 06:07:15:691 INFO [172.17.0.3]:2434 [orientdb] [3.3] >>>>> Accepting socket connection from /123.123.123.124:55647 [ >>>>> SocketAcceptor] >>>>> 2015-01-05 06:07:15:692 INFO [172.17.0.3]:2434 [orientdb] [3.3] >>>>> Established socket connection between /172.17.0.3:2434 and /123.123. >>>>> 123.124:55647 [TcpIpConnectionManager] >>>>> 2015-01-05 06:07:15:694 WARNING [172.17.0.3]:2434 [orientdb] [3.3] >>>>> Wrong bind request from Address[172.17.0.12]:2434! This node is not >>>>> requested endpoint: Address[123.123.123.124]:2434 [ >>>>> TcpIpConnectionManager] >>>>> >>>>> Host 1 (123.123.123.123) running ODB in a container 172.17.0.3:2434. >>>>> Host 2 (123.123.123.124) running ODB in a container 172.17.0.12:2434. >>>>> Host 3 (123.123.123.125) running ODB in a container 172.17.0.10:2434. >>>>> >>>>> Because docker on each host manages its own bridge each ODB container >>>>> doesn't see it directly. This is why in config/hazelcast.xml I specify >>>>> the >>>>> IP of the host machines. >>>>> >>>>> <tcp-ip enabled="true"> >>>>> <member> 123.123.123.123:2434</member> >>>>> <member> 123.123.123.124:2434</member> >>>>> <member> 123.123.123.125:2434</member> >>>>> </tcp-ip> >>>>> >>>>> All ODB containers expose all 3 ports (2424, 2480, 2434). I can telnet >>>>> and ping. However, because each container requests a dynamic docker IP >>>>> address, each node cannot join the same cluster because host IP doesn't >>>>> not >>>>> match the actual Docker IP inside the container as shown in the above >>>>> error >>>>> log. >>>>> >>>>> Any solutions for this? >>>>> >>>>> -- >>>>> >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "OrientDB" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- >> >> --- >> You received this message because you are subscribed to the Google Groups >> "OrientDB" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
