How to read and write with sharding

Hi,
I decide to use orientdb with sharding, and I met some questions.

  • Version 3.0.27

  • server node

node101: 10.0.43.101
node102: 10.0.43.102
node103: 10.0.43.103
node103: 10.0.43.104
node103: 10.0.43.105
node103: 10.0.43.106
  • Setting

all nodes use the same setting

  • default-distributed-db-config.json
{
  "replication": true,
  "autoDeploy": true,
  "readQuorum": 1,
  "hotAlignment": true,
  "writeQuorum": "majority",
  "executionMode": "undefined",
  "readYourWrites": true,
  "newNodeStrategy": "static",
  "servers": {
    "node101": "master",
    "node102": "master",
    "node103": "master",
    "node104": "replica",
    "node105": "replica",
    "node106": "replica"
  },
  "clusters": {
    "internal": {
    },
    "client_node101": {
      "servers": ["node101","node104"]
    },
    "client_node102": {
      "servers": ["node102","node105"]
    },
    "client_node103": {
      "servers": ["node103","node106"]
    },
    "*": {
      "servers": ["<NEW_NODE>"]
    }
  }
}
  • hazelcast.xml
<hazelcast
                xsi:schemaLocation="http://www.hazelcast.com/schema/config hazelcast-config-3.3.xsd"
                xmlns="http://www.hazelcast.com/schema/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <group>
                <name>orientdb</name>
                <password>orientdb</password>
        </group>
        <properties>
                <property name="hazelcast.phone.home.enabled">false</property>
                <property name="hazelcast.mancenter.enabled">false</property>
                <property name="hazelcast.memcache.enabled">false</property>
                <property name="hazelcast.rest.enabled">false</property>
                <property name="hazelcast.wait.seconds.before.join">5</property>
                <property name="hazelcast.operation.thread.count">1</property>
                <property name="hazelcast.io.thread.count">1</property>
                <property name="hazelcast.operation.generic.thread.count">1</property>
                <property name="hazelcast.client.event.thread.count">1</property>
                <property name="hazelcast.event.thread.count">1</property>
                <property name="hazelcast.heartbeat.interval.seconds">5</property>
                <property name="hazelcast.max.no.heartbeat.seconds">30</property>
                <property name="hazelcast.merge.next.run.delay.seconds">15</property>
        </properties>
        <network>
                <port auto-increment="true">2434</port>
                <join>
                        <multicast enabled="false">
                                <multicast-group>235.1.1.1</multicast-group>
                                <multicast-port>2434</multicast-port>
                        </multicast>
                        <tcp-ip enabled="true">
                                <member>10.0.43.101:2434</member>
                                <member>10.0.43.102:2434</member>
                                <member>10.0.43.103:2434</member>
                                <member>10.0.43.104:2434</member>
                                <member>10.0.43.105:2434</member>
                                <member>10.0.43.106:2434</member>
                        </tcp-ip>
                </join>
        </network>
        <executor-service>
                <pool-size>16</pool-size>
        </executor-service>
</hazelcast>
  • Aim
    what I want to achieve is data separation of each node. and I can find all data of each class in each node ,

  • question
    I did like this setting, and i can`t achieve the aim. what i did is

1.  connect to 101, execute those commands: 
          create cluster client_node101
          create class person extends cluster ID (client_node101)
          create vertex person cluster client_node101

    > result:  I can only find this data in node101 and node104 ,and i think that`s right

2.  connect to 102, execute those commands:
        select from cluster client_node101
        select from person

   > result:  i can`t find data by this. what i want to achieve is that i can find the data

3. connect to 102 ,execute those commands:
      create vertex person cluster ID (client_node101)

> result : i met error . I know that when I connect to the node 102 ,and the cluster client_node102 will be selected , so I can`t create vertex by cluster called cluster_node101.

  • In short, I want to exchange node to insert data, and achieve data separation of each node, what should i do

somebody help!

Thanks

52HZ