How to read and write with sharding

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

  • Version 3.0.27

  • server node

  • 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
                xsi:schemaLocation=" hazelcast-config-3.3.xsd"
                xmlns="" xmlns:xsi="">
                <property name="">false</property>
                <property name="hazelcast.mancenter.enabled">false</property>
                <property name="hazelcast.memcache.enabled">false</property>
                <property name="">false</property>
                <property name="hazelcast.wait.seconds.before.join">5</property>
                <property name="hazelcast.operation.thread.count">1</property>
                <property name="">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="">30</property>
                <property name="">15</property>
                <port auto-increment="true">2434</port>
                        <multicast enabled="false">
                        <tcp-ip enabled="true">
  • 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!