Загрузчик ETL не работает в кластере OrientDB Kubernetes - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь использовать загрузчик ETL для импорта данных в OrientDB. Я настроил OrientDB (версия 3.0.10) в распределенном режиме в кластере Kubernetes. Когда я пытаюсь использовать импорт на одном из модулей kubectl exec -it orientdbservice-0 -- /orientdb/bin/oetl.sh /orientdb/bin/data/import_json/venue.json, он застревает в этом сообщении, а затем завершается:

OrientDB etl v.3.0.10 - Veloce (build eac0654847df662ca03b45a6a5efa5eadd229ca5, branch 3.0.x) https://www.orientdb.com

В результате папка базы данных создается, но данные импортируются не полностью. Поскольку нет никаких сообщений об ошибках относительно местоположения файла, я думаю, что части источника и экстрактора работают хорошо, но я не уверен насчет части загрузчика в файле конфигурации json. Что может быть причиной такого поведения? И можно ли использовать другие способы импорта данных?

Вот мой файл venue.json:

{
  "source": {"file": {
    "path" : "data/dataset_csv/venues.csv"
  }
  },
  "extractor": {
    "csv": {
      "columns": ["venue_id:string", "address_1:string", "city:string", "country:string", "distance:float", "lat:float", "localized_country_name:string", "lon:float", "venue_name:string", "rating:float", "rating_count:float", "state:string", "zip:integer", "normalised_rating:float"],
      "columnsOnFirstLine": true
    }
  },
  "transformers" : [
    { "vertex": { "class": "Venue" } }
  ],
  "loader": {
    "orientdb": {
      "dbURL": "plocal:/orientdb/databases/MeetupCluster",
      "dbAutoCreateProperties": true,
      "dbType": "graph",
      "wal": false,
      "batchCommit": 1000,
      "tx": true,
      "txUseLog": false,
      "useLightweightEdges" : true,
      "classes": [
        {"name": "Venue", "extends": "V"}
      ], "indexes": [
        {"class": "Venue", "fields":["venue_id:string"], "type":"UNIQUE" }
      ]
    }
  }
}

ПРИМЕЧАНИЕ. Загрузчик ETL отлично работает на моем локальном кластере, созданном с помощью docker-compose. И этот файл является одним из самых маленьких в базе данных, поэтому он должен загружаться быстро.

UPDATE: Я установил URL для удаленной базы данных таким образом:

  "dbURL": "remote:localhost/MeetupCluster"
  "serverUser": "root",
  "serverPassword": "pwd"
  "dbUser": "admin",
  "dbPassword": "admin"

И я получаю такие ошибки:

Exception in thread "main" com.orientechnologies.orient.core.exception.OConfigurationException: Error on creating ETL processor
Caused by: com.orientechnologies.orient.core.exception.ODatabaseException: Cannot open database 'MeetupCluster'
Suppressed: com.orientechnologies.orient.core.exception.ODatabaseException: Cannot open database 'MeetupCluster'
Caused by: com.orientechnologies.orient.server.distributed.ODistributedException: No active nodes found to execute command: sql.select from OUser where name = ? limit 1
...