0

以下の手順に従って、2 ノードの OrientDB クラスターを作成しました。ただし、配布中は、ノードの 1 つにのみ存在するデータにアクセスできます。この問題のデバッグを手伝ってください。OrientDB のバージョンは 2.2.6 です

必要な手順:

  • ETL ツールで plocal モードを利用し、データの一部をノード 1 に保存し、残りの部分をノード 2 に保存しました。格納されたデータは、実際には頂点の 1 つのクラスのみに属します。(コンソールからのデータを確認すると、データは正しく注入されています)。

  • 次に、両方のノードを分散モードで実行すると、1 台のマシンからのデータのみにアクセスできます。

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 という 2 つのクラスターが作成されます。マシン orientslave1 のデータは、ETL ツールを使用してクラスター address_1 に格納されます。同様に、マシン orientmaster のデータはクラスター アドレスに格納されます。(これらのクラスター ID の両方が作成時に異なることを確認しました)

ただし、これら 2 台のマシンが分散モードで接続されている場合、クラスター address_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