Интерфейс командной строки 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, если вы измените форматирование пути и пути, но не уверены.

Другие вопросы по тегам