0

我按照以下步骤创建了一个 2 节点 OrientDB 集群。但是在分发它时,只有一个节点中存在的数据是可访问的。请你帮我调试这个问题。OrientDB 版本为 2.2.6

涉及的步骤:

  • 在 ETL 工具中利用 plocal 模式,将部分数据存储在节点 1 中,另一部分存储在节点 2 中。存储的数据实际上只属于一类顶点。(从控制台检查数据时,数据已正确注入)。

  • 然后以分布式模式执行两个节点,只能访问来自一台机器的数据。

default-distributed-db-config.json 文件指定如下:

{
  "autoDeploy": true,
  "readQuorum": 1,
  "writeQuorum": 1,
  "executionMode": "undefined",
  "readYourWrites": true,
  "servers": {
    "*": "master"
  },
 "clusters": {
"internal": {

},
"address": {
  "servers" : [ "orientmaster" ]
},
"address_1": {
  "servers" : [ "orientslave1" ]
},
"*": {
  "servers": ["<NEW_NODE>"]
}
  }
}

为名为 address 的顶点创建了两个簇,即 address 和 address_1。机器orientslave1中的数据使用ETL工具存储到集群地址_1中,同样机器orientmaster中的数据存储到集群地址中。(我已确保这两个集群 ID 在创建时都不同)

但是当这两台机器以分布式方式连接在一起时,集群地址_1中的数据只可见

ETL json 附在下面:

{
  "source": { "file": { "path": "/home/ubuntu/labvolume1/DataStorage/geo1_5lacs.csv" } },
  "extractor": { "csv": {"columnsOnFirstLine": false, "columns":["place:string"] } },
  "transformers": [
{ "vertex": { "class": "ADDRESS", "skipDuplicates":true } }
  ],
  "loader": {
"orientdb": {
   "dbURL": "plocal:/home/ubuntu/labvolume1/orientdb/databases/ETL_Test1",
   "dbType": "graph",
   "dbUser": "admin",
   "dbPassword": "admin",
   "dbAutoCreate": true,
   "wal": false,
   "tx":false,
   "classes": [
     {"name": "ADDRESS", "extends": "V", "clusters":1}
   ], "indexes": [

     {"class":"ADDRESS", "fields":["place:string"], "type":"UNIQUE" }
   ]

}
  }
}

请让我知道,如果我做错了什么

4

0 回答 0