I setup OrientDB (3.0.10) in a distributed mode with Kubernetes. I try to populate the database of each pod with some data. So I ran the console on one of the nodes and tried to create the database and this was the output:
orientdb> create database remote:localhost/Test root rootpwd PLOCAL
Creating database [remote:localhost/Test] using the storage type [PLOCAL]...
Error: com.orientechnologies.orient.core.exception.OStorageException: Cannot create the remote storage: Test
Error: com.orientechnologies.orient.core.exception.ODatabaseException: Cannot open database 'Test'
Error: com.orientechnologies.orient.server.distributed.ODistributedException: No active nodes found to execute command: sql.select from OUser where name = ? limit 1
orientdb {server=remote:localhost/Test}>
The folder for the database is created on this node and other nodes of the cluster:
+-----------------------+------+---------------------------+-----+---------+---------------+---------------+------------------------+
|Name |Status|Databases |Conns|StartedOn|Binary |HTTP |UsedMemory |
+-----------------------+------+---------------------------+-----+---------+---------------+---------------+------------------------+
|orientdbservice-1 |ONLINE|Test=ONLINE (MASTER) |5 |11:50:22 |172.17.0.8:2424|172.17.0.8:2480|283.58MB/1.93GB (14.32%)|
|orientdbservice-2 |ONLINE|Test=NOT_AVAILABLE (MASTER)|4 |11:50:31 |172.17.0.9:2424|172.17.0.9:2480|265.17MB/1.93GB (13.39%)|
|orientdbservice-0(*)(@)|ONLINE|Test=NOT_AVAILABLE (MASTER)|4 |11:50:12 |172.17.0.7:2424|172.17.0.7:2480|288.95MB/1.93GB (14.60%)|
+-----------------------+------+---------------------------+-----+---------+---------------+---------------+------------------------+
[OHazelcastPlugin]
However, when I try to connect through the console to the database from each of the nodes I get an error:
orientdb> connect remote:localhost/Test root rootpwd
Connecting to database [remote:localhost/Test] with user 'root'...
Error: com.orientechnologies.orient.core.exception.ODatabaseException: Cannot open database 'Test'
DB name="Test"
Error: com.orientechnologies.orient.core.exception.ODatabaseException: Cannot open database 'Test'
Error: com.orientechnologies.orient.server.distributed.ODistributedException: No active nodes found to execute command: sql.select from OUser where name = ? limit 1
orientdb {server=remote:localhost/Test}>
And this message appears in the logs of the cluster:
INFO [orientdbservice-0] Trying to recover current server for database 'Test'... [OClusterHealthChecker]
SEVER [orientdbservice-0] Cannot install database 'Test' on local node, because no servers are available [ODistributedAbstractPlugin$3]
INFO [orientdbservice-0] Recover cannot be completed for database 'Test' [OClusterHealthChecker]
INFO [orientdbservice-0] Trying to recover current server for database 'Test'... [OClusterHealthChecker]
What could be the reason of such behavior? Should I fix something in the cluster configurations? I followed this tutorial