linux - ubuntu 上的 Elastic Enterprise/App search 安装问题
问题描述
我正在运行一个在 vm 中运行 ubuntu 的 vagrant box(使用 Laravel Homestead box)
我正在尝试安装 Elastic App-search 产品。
第一个要求是安装弹性搜索,我已经做过多次了。我做了以下步骤: https ://www.elastic.co/guide/en/elasticsearch/reference/current/deb.html
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt-get update && sudo apt-get install elasticsearch
我正在使用 systemd 配置:
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
我正在运行 curl localhost:9200 并且一切正常。
接下来我尝试安装弹性应用搜索。 https://www.elastic.co/guide/en/app-search/current/installation.html#installation-self-managed。其中没有针对 debian 系统的说明。但它确实有一个 .deb 安装文件。我下载了文件并将其放入我的项目路线中。
我在文件上运行了 dpkg -i ,它似乎已经安装了。当我运行命令检查文件位置时,它显示:
dpkg -L enterprise-search
/.
/etc
/etc/init.d
/etc/init.d/enterprise-search
/var
/var/log
/var/log/enterprise-search
/usr
/usr/share
/usr/share/enterprise-search
/usr/share/enterprise-search/README.md
/usr/share/enterprise-search/bin
/usr/share/enterprise-search/bin/vendor
/usr/share/enterprise-search/bin/vendor/filebeat
/usr/share/enterprise-search/bin/vendor/filebeat/filebeat-linux-x86_64
/usr/share/enterprise-search/bin/enterprise-search
/usr/share/enterprise-search/filebeat
/usr/share/enterprise-search/filebeat/ecs-template.json
/usr/share/enterprise-search/filebeat/filebeat-ecs.yml
/usr/share/enterprise-search/lib
/usr/share/enterprise-search/lib/require_java_version.sh
/usr/share/enterprise-search/lib/enterprise-search.war
/usr/share/enterprise-search/jetty
/usr/share/enterprise-search/jetty/webserver-ssl.xml
/usr/share/enterprise-search/jetty/webserver-ssl-with-redirect.xml
/usr/share/enterprise-search/jetty/webserver.xml
/usr/share/enterprise-search/LICENSE
/usr/share/enterprise-search/config
/usr/share/enterprise-search/config/env.sh
/usr/share/enterprise-search/config/enterprise-search.yml
/usr/share/enterprise-search/NOTICE.txt
/usr/share/doc
/usr/share/doc/enterprise-search
/usr/share/doc/enterprise-search/changelog.gz
/usr/lib
/usr/lib/systemd
/usr/lib/systemd/system
/usr/lib/systemd/system/enterprise-search.service
我不确定这是否是正确的位置?我希望它与我的 elasticsearch 安装在同一个地方,但我实际上不确定。我完成了安装过程的所有后续步骤并运行:./usr/share/enterprise-search/bin/elasticsearch
但这给了我错误:
Could not find java in PATH
我对此感到非常困惑,因为主要的elasticsearch安装工作并且还需要java?另外我希望它也可以在 systemd 自动启用的情况下运行,并且我希望它可以在企业搜索开始/停止时使用。不知道如何处理。
解决方案
看起来它是 Debian 包,所以它可以安装在 ubuntu 上,但有些东西可能会有所不同。我会说你可以:
- 只需切换到使用 debian VM 即可(在这里你可以得到一个 vagrant:https ://app.vagrantup.com/debian/boxes/stretch64 )
- 调试。从我看到的包在它自己运行之前运行 elasticsearch-env 。Java 是这样查找的:
if [ ! -z "$JAVA_HOME" ]; then
JAVA="$JAVA_HOME/bin/java"
JAVA_TYPE="JAVA_HOME"
else
if [ "$(uname -s)" = "Darwin" ]; then
# macOS has a different structure
JAVA="$ES_HOME/jdk.app/Contents/Home/bin/java"
else
JAVA="$ES_HOME/jdk/bin/java"
fi
JAVA_TYPE="bundled jdk"
fi
if [ ! -x "$JAVA" ]; then
echo "could not find java in $JAVA_TYPE at $JAVA" >&2
exit 1
fi
所以我建议在启动脚本中(或在运行二进制文件之前)设置 JAVA_HOME,看看是否有帮助。
推荐阅读
- java - 一个类声明了一个带有两个参数的构造函数。你将如何创建一个没有参数的类的实例?
- regex - 正则表达式和可选匹配组
- c++ - 为什么 Python 需要在 DLL 中使用 GetMessage 进行消息泵送而不是 Qt?
- xslt - xslt for substring- before or get a specific value for a input
- php - symfony 4中的模型转换器和预期的表单视图数据不匹配
- excel - 使用我的 vba 获取需要对象的错误消息
- excel - Excel 在分析服务器上的枢轴速度很慢,powerbi 桌面中的相同交叉表速度很快
- c++ - tpp.c:84:使用 pcl_ros::transformPointCloud 时断言失败
- javascript - jQuery AJAX JSON 数据被展平
- node.js - 用 Sequelize 返回外键的表数据