Я выполнил экспорт из Elasticsearch на одну машину и теперь хочу импортировать эти данные на другую машину, где у меня работает Elasticsearch на докере.
Это содержимое, связанное с Elasticsearch, в файле docker-compose:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:5.5.0
environment:
- cluster.name=my-docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- xpack.security.enabled=false
- http.host=0.0.0.0
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
cap_add:
- IPC_LOCK
volumes:
- ./src/elastic:/home
ports:
- 9200
- 9300
networks:
- my_network
Эластичный поисковый контейнер запущен и работает.Однако я не знаю, как импортировать данные.
Я узнал IP-адрес контейнера Elasticsearch (указанный как XXX.XX.XX.X
ниже) и выполнил следующую команду:
curl -X PUT -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{
"type": "fs",
"settings": {
"location": "/home/test/etk_backup/myproject_backup"
}
}' "http://XXX.XX.XX.X:9200/_snapshot/myproject_backup"
Нополучил эту ошибку:
{"error": {"root_cause": [{"type": "repository_exception", "reason": "[myproject_backup] location [/ home / test / etk_backup /»myproject_backup] не соответствует ни одному из местоположений, указанных в path.repo, поскольку этот параметр пуст "}]
Я вошел в контейнер Elasticsearch и вручную указал path.repo
в elasticsearch.yml
какследует:
path-repo: ["/home/test/etk_backup/myproject_backup"]
Но получил ту же ошибку.Как я могу решить эту проблему?