0

我已经开始使用 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:没有这样的文件或目录

请建议如何解决这个问题。

4

1 回答 1

0

在 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 在 localhost 上运行,否则将失败。我在虚拟机上运行我的并使用 IP。要启动它,请运行类似这样的操作,但将 URI 更改为 Elasticsearch 正在运行的任何内容。命令假设您在 /usr/share/elasticsearch/bin 中。

./elasticsearch-sql-cli uri=http://10.10.12.22:9200/

想象一下,如果您更改路径格式和路径但不确定,这将在 Windows 上运行。

于 2020-05-10T16:41:30.317 回答