I am trying to upgrade orientdb version from 2.1.15 to 2.2.28 in distributed setup: node1 (MASTER) and node2 (MASTER).
Upgrade process: 1. Stop orientdb service on node1 and node 2. Upgrading node1 2.1 Copy the existing database in ~/tmp folder. 2.2 Download Orientdb v2.2.28 copy all the files in existing Orientdb folder. 2.3 Copy the existing database from ~/tmp to orientdb working dir. 2.4 Run node1 as standalone server (not in distributed mode) 2.5 Stop node1 2.6 Config node1 to run in distributed mode and run node 1 in distributed mode 3. Upgrade node2 following same steps as in node1
File modified to run in distributed mode
hazelcast.xml
<network>
<port auto-increment="false">3000</port>
<join>
<multicast enabled="false">
<multicast-group>235.1.1.1</multicast-group>
<multicast-port>2434</multicast-port>
</multicast>
<tcp-ip enabled="true">
<member>node1:3000</member>
<member>node2:3000</member>
</tcp-ip>
</join>
</network>
default-distributed-db-config.json
{
"autoDeploy": true,
"readQuorum": 1,
"writeQuorum": "majority",
"executionMode": "undefined",
"readYourWrites": true,
"newNodeStrategy": "static",
"servers": {
"*": "master"
},
"clusters": {
"internal": {
},
"*": {
"servers": ["node1","node2"]
}
}
}
But I am getting a error node2 which joins the cluster after node1
2017-11-29 10:57:10:140 INFO [node2] Servers in cluster: [node1, node2] [OHazelcastPlugin][node2] Error on starting distributed plugin
java.net.NoRouteToHostException: No route to host
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at com.orientechnologies.orient.client.binary.OChannelBinaryClientAbstract.<init>(OChannelBinaryClientAbstract.java:70)
at com.orientechnologies.orient.client.binary.OChannelBinarySynchClient.<init>(OChannelBinarySynchClient.java:32)
at com.orientechnologies.orient.server.distributed.ORemoteServerChannel.connect(ORemoteServerChannel.java:111)
at com.orientechnologies.orient.server.distributed.ORemoteServerChannel.<init>(ORemoteServerChannel.java:75)
at com.orientechnologies.orient.server.distributed.ORemoteServerController.<init>(ORemoteServerController.java:53)
at com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.getRemoteServer(OHazelcastPlugin.java:653)
at com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.startup(OHazelcastPlugin.java:250)
at com.orientechnologies.orient.server.OServer.registerPlugins(OServer.java:1257)
at com.orientechnologies.orient.server.OServer.activate(OServer.java:406)
at com.orientechnologies.orient.server.OServerMain$1.run(OServerMain.java:46)
com.orientechnologies.orient.server.distributed.ODistributedStartupException: Error on starting distributed plugin
at com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.startup(OHazelcastPlugin.java:311)
at com.orientechnologies.orient.server.OServer.registerPlugins(OServer.java:1257)
at com.orientechnologies.orient.server.OServer.activate(OServer.java:406)
at com.orientechnologies.orient.server.OServerMain$1.run(OServerMain.java:46)
Caused by: java.net.NoRouteToHostException: No route to host
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at com.orientechnologies.orient.client.binary.OChannelBinaryClientAbstract.<init>(OChannelBinaryClientAbstract.java:70)
at com.orientechnologies.orient.client.binary.OChannelBinarySynchClient.<init>(OChannelBinarySynchClient.java:32)
at com.orientechnologies.orient.server.distributed.ORemoteServerChannel.connect(ORemoteServerChannel.java:111)
at com.orientechnologies.orient.server.distributed.ORemoteServerChannel.<init>(ORemoteServerChannel.java:75)
at com.orientechnologies.orient.server.distributed.ORemoteServerController.<init>(ORemoteServerController.java:53)
at com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.getRemoteServer(OHazelcastPlugin.java:653)
at com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.startup(OHazelcastPlugin.java:250)
... 3 more
Is this correct way to upgrade orientdb running in distributed mode? or this is something related to built 2.2.28 (as it starts to work again if I downgrade to 2.2.15 from 2.2.28 using the same up-gradation process).
It would great if anyone can point me to the right direction.
So you need to fix that first. Nodes should be able to see each other (or ping each other) on configured IPs/DNS, port etc. If 3000 is not reachable then try some other port.