Проблема с установкой Elastic Enterprise / App Search в ubuntu

Я запускаю бродячий ящик, который запускает ubuntu внутри vm (с использованием окна Laravel Homestead)

Я пытаюсь установить продукт Elastic для поиска приложений.

Первое требование - установить эластичный поиск, что я делал несколько раз. Я сделал следующие шаги: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. У которого нет инструкций для систем 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, и я хочу, чтобы он был доступен с запуском / остановкой поисковой системы предприятия. Не знаю, как с этим справиться.

1 ответ

Похоже, это пакет Debian, поэтому его можно установить на ubuntu, но некоторые вещи могут отличаться. Я бы сказал, что вы можете:

  1. Просто переключитесь на использование debian VM (здесь вы можете получить vagrant для одного: https://app.vagrantup.com/debian/boxes/stretch64)
  2. Отлаживать. Из того, что я вижу, этот пакет запускает 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, Elastichsearch имеет встроенную установку java, а не отдельную, поэтому установка поиска приложений не может достичь этой версии. Чувствует себя очень грязным, но все заработало!

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