首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >技术角 | 解决ES SQL命令行启动报错 ./x-pack-env: No such file or directory

技术角 | 解决ES SQL命令行启动报错 ./x-pack-env: No such file or directory

作者头像
ZNing
发布2020-07-21 15:16:35
发布2020-07-21 15:16:35
69400
代码可运行
举报
文章被收录于专栏:ZNing·腾创库ZNing·腾创库
运行总次数:0
代码可运行

今天在云服务器上,通过下载源码包完成有认证配置的Elasticsearch部署后,准备执行如下命令进入Elasticsearch SQL进行一些SQL语句的操作:

代码语言:javascript
代码运行次数:0
运行
复制
bin/elasticsearch-sql-cli uri=http://elastic:ESabc+2333@10.66.66.2:9200/

但执行后,发现使用bin/elasticsearch-sql-cli登录时,出错提示./x-pack-env: No such file or directory,莫名其妙,遂即查看下该脚本,内容如下:

代码语言:javascript
代码运行次数:0
运行
复制
#!/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.

source "`dirname "$0"`"/elasticsearch-env

source "`dirname "$0"`"/x-pack-env

CLI_JAR=$(ls $ES_HOME/bin/elasticsearch-sql-cli-*.jar)

exec \
  "$JAVA" \
  -jar "$CLI_JAR" \
  "$@"

其中有效行第二行的source "`dirname "$0"`"/x-pack-env看来执行起来有问题,估计是在依赖导入生效时找不到路径。经过一番折腾,解决了该问题,即将该行替换为如下命令:

代码语言:javascript
代码运行次数:0
运行
复制
# source "`dirname "$0"`"/x-pack-env
source /usr/share/elasticsearch/bin/x-pack-env

即将引入依赖的路径写死即可,使用时请根据实际路径修改x-pack-env的指向路径。

修改完后,再用刚才的命令启动Elasticsearch SQL,正常进入,完美结局。

后来又仔细查找了下资料,发现该问题是Elasticsearch 7.4版本的一个小bug,在Elasticsearch 7.8的包内,bin/elasticsearch-sql-cli这个脚本内容已经修改为:

代码语言:javascript
代码运行次数:0
运行
复制
#!/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.

source "`dirname "$0"`"/elasticsearch-env

source "$ES_HOME"/bin/x-pack-env

CLI_JAR=$(ls "$ES_HOME"/bin/elasticsearch-sql-cli-*.jar)

exec \
  "$JAVA" \
  "$XSHARE" \
  -jar "$CLI_JAR" \
  "$@"

也就是说,如果Elasticsearch 7.8安装时,操作系统环境变量内$ES_HOME能够正确设置的话,就可以正常启动Elasticsearch SQL了。这样比直接修改产品本身脚本来说要规范的多了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 慧响 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档