Интерфейс командной строки SQL Elasticsearch 7: ./x-pack-env: нет такой ошибки файла или каталога
Я начал работать над Elasticsearch 7 и пытаюсь запустить elasticsearch-sql-cli, используя следующую команду:
~/Documents/backups/es7/bin$ ./elasticsearch-sql-cli
Но он не запускается и выдает следующую ошибку:
./elasticsearch-sql-cli: line 9: ./x-pack-env: No such file or directory
Я открыл файл./x-pack-env и обнаружил, что он использует переменную среды ES_HOME. Вот содержимое файла x-pack-env:
#!/bin/bash
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
# or more contributor license agreements. Licensed under the Elastic License;
# you may not use this file except in compliance with the Elastic License.
# include x-pack-core jars in classpath
ES_CLASSPATH="$ES_CLASSPATH:$ES_HOME/modules/x-pack-core/*"
Итак, я добавил переменную среды в bash_profile,
#ES
export ES_HOME=/Users/Documents/backups/es7
export PATH=$ES_HOME/bin:$PATH
Но все же я получаю ту же ошибку для
./elasticsearch-sql-cli: строка 9: ./x-pack-env: нет такого файла или каталога
Подскажите, пожалуйста, как решить эту проблему.
1 ответ
Была такая же проблема в 7.4.2, и мне удалось ее исправить. Этот файл x-pack-env находится в /usr/share/elasticsearch/bin/ (по крайней мере, в Linux). Я открыл файл elasticsearch-sql-cli в редакторе, закомментировал исходную строку и заменил ее:
#source "`dirname "$0"`"/x-pack-env
source /usr/share/elasticsearch/bin/x-pack-env
Кроме того, к сведению, он хочет видеть, что Elasticsearch работает на локальном хосте, и потерпит неудачу, если это не так. Я запускаю свой на ВМ и использую IP. Чтобы запустить его, запустите что-то вроде этого, но измените URI на тот, на котором работает ваш Elasticsearch. Команда предполагает, что ваш файл находится в /usr/share/elasticsearch/bin.
./elasticsearch-sql-cli uri=http://10.10.12.22:9200/
Представьте, что это будет работать в Windows, если вы измените форматирование пути и пути, но не уверены.