Встановлення Elasticsearch на OSX Mavericks


77

Я намагаюся встановити Elasticsearch 1.1.0 на OSX Mavericks, але при спробі запустити отримали такі помилки:

:> ./elasticsearch
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.elasticsearch.Version
at org.elasticsearch.bootstrap.Bootstrap.buildErrorMessage(Bootstrap.java:252)
at org.elasticsearch.bootstrap.Bootstrap.main(Bootstrap.java:236)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:32)

Крім того, коли я виконую ту саму команду за допомогою -v arg, я отримав цю помилку:

:> ./elasticsearch -v
Exception in thread "main" java.lang.NoSuchFieldError: LUCENE_36
at org.elasticsearch.Version.<clinit>(Version.java:42)

Ось моє середовище:

Версія Java

>: java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)

Шлях встановлення (завантажений архів .tar.gz зі сторінки завантаження elasticsearch і витягнутий тут):

/usr/local/elasticsearch-1.1.0

ENV vars:

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home 
CLASSPATH=/usr/local/elasticsearch-1.1.0/lib/*.jar:/usr/local/elasticsearch-1.1.0/lib/sigar/*.jar

ОНОВЛЕННЯ

я нарешті змушую це працювати, на жаль, не впевнений як, тому що я спробував багато змін :). Але ось перелік внесених мною змін, які можуть допомогти:

~ / Бібліотека / Кеші

/ Бібліотека / Кеші

  • я видалив CLASSPATH env var.

  • ES_PATH та ES_HOME env vars також не встановлені, але я думаю, що це не так важливо.

Примітка: тепер це працює також, якщо я встановлюю з brew.

Дякую.


13
Просто використовуйте заварку ! brew install elasticsearchі щоб побачити, як запустити послугу у вашому mac, перевірте інформацію за допомогоюbrew info elasticsearch
Diolor

Дякую, я спробував також з варенням, але отримав ті самі помилки.
Catalin M.

Радий, що ти змусив це працювати. Я загалом пропоную використовувати пиво під час розробки на mac, але вибір за вами :)
Diolor

Це було майже напевно CLASSPATH.
pickypg

О, чоловіче, я люблю варити
Джош Бедо,

Відповіді:


215

Ви дійсно повинні розглянути можливість використання пива . Це чудовий інструмент, який подбає про залежності, контроль версій та багато іншого.

Щоб встановити Elasticsearch за допомогою brew, просто:

brew update
brew install elasticsearch

Бум! Готово.

Після цього дотримуйтесь інструкцій Elasticsearch:

  1. Щоб запустити Elasticsearch при вході в систему:

    ln -sfv /usr/local/opt/elasticsearch/*.plist ~/Library/LaunchAgents
    
  2. Потім завантажте Elasticsearch зараз:

    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.elasticsearch.plist
    

    Або, якщо ви не хочете / не потребуєте launchctl, ви можете просто запустити:

    elasticsearch
    

Дякую, я спробував також з варенням, але отримав ті самі помилки
Catalin M.

варити інсталяції стара версія
Максим Єфремов

2
Здається, що brew насправді не може впоратись із цією залежністю: ElasticSearch requires Java 7; you will need to install an appropriate JDK. (тим більше дратує те, що установники Oracle наполягають, що я встановив Java 8 ... нічого іншого, схоже, цього не усвідомлюють)
Джо,

2
для мене прекрасно працює спочатку відображається помилка, заявляючи, що для цього потрібен JDK. добре, що це дало мені команду, що я можу скопіювати / вставити для завантаження JDK. як тільки це буде зроблено, я встановлюю elasticsearch.
ChickenWing24,

На Mac вам, можливо, доведеться зробити наступне: cd /usr/local/Library git pull origin master apple.stackexchange.com/questions/153790/…
Олексій Блю

28

Оскільки є не дуже хороші вказівки щодо фактичного "встановлення" його на Mac:

Коротка версія:

  1. Встановіть Java (віддайте перевагу останньому підтримуваному випуску)
  2. Встановити JAVA_HOMEзмінну середовища.
  3. Завантажте версію Elasticsearch (tar або zip).
  4. Витяг Elasticsearch із завантаженого файлу.
  5. Запустити bin/elasticsearchз вилученого каталогу.

Довга версія:

  1. Завантажте Java

    • JRE потрібен лише в тому випадку, якщо ви не будете писати код на одній машині.

    • Я припускаю, що ви отримуєте останню версію JDK, яка наразі є JDK 8 (як ви, мабуть, маєте, і я встановив роботу на своїй машині).

  2. Завантажте та витягніть Elasticsearch і розпакуйте його в якийсь каталог.

    1. Наприклад: mkdir -p ~/dev/elasticsearch
    2. За бажанням перемістіть завантажений файл туди:

      mv Downloads/elasticsearch* ~/dev/elasticsearch

    3. Витягніть завантажений файл:

      cd ~/dev/elasticsearch (якщо ви перенесли його на кроці 2)

      • Якщо це zip, тоді unzip elasticsearch-1.1.0.zip(або якщо ви не хочете cdпотрапляти в каталог, просто запустіть unzip elasticsearch-1.1.0.zip -d ~/dev/elasticsearch)

      • Якщо це tar, тоді tar -xvf elasticsearch-1.1.0.tar.gz(або якщо ви не хочете cdпотрапляти в каталог, просто запустіть tar -xvf elasticsearch-1.1.0.tar.gz -C ~/dev/elasticsearch)

    4. Очищення (якщо хочете), видаливши завантажений файл:

      rm elasticsearch-1.1.0.*

  3. Відкрийте .bash_profileфайл для налаштувань профілю bash:

    vi ~/.bash_profile

  4. У файл експортуйте змінні (-и) свого середовища

    export ES_HOME=~/dev/elasticsearch/elasticsearch-1.1.0

    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home

    export PATH=$ES_HOME/bin:$JAVA_HOME/bin:$PATH

    • Закрийте та знову відкрийте термінал АБО

    • Запустіть, source ~/.bash_profileщоб оновити змінні середовища

  5. Запустити Elasticsearch:

    elasticsearch

    • Більш традиційний спосіб запустити його - зробити майже все вищезазначене, але не додати $ES_HOME/binдо PATH. Потім просто перейдіть до ES_PATH( cd $ES_PATH, тоді bin/elasticsearch) або запустіть $ES_PATH/bin/elasticsearch.

Примітка: Не налаштовуйте свій CLASSPATHпристрій без поважних причин. Сценарії зроблять це за вас.


Цей варіант був моїм уподобанням, оскільки у мене виникають конфлікти між brew та macports, набагато простіше просто завантажити його та встановити, як зазначено вище.
Ден Смарт

8
  1. Вам слід спробувати використовувати brew з останнім оновленням:

    brew update
    
  2. І встановіть Cask java:

    brew cask install java
    
  3. Після цього ви можете встановити elasticsearch:

    brew install elasticsearch
    
  4. А для запуску запуску еластичного пошуку тепер використовуємо:

    brew services start elasticsearch
    

    Або ви можете просто запустити:

    elasticsearch
    

2

Щоб оновити ElasticSearch, просто запустіть brew upgrade elasticsearch


1

Оновіть java

brew update
brew cask install java

Встановіть його за допомогою домашньої писемності brew install elasticsearch

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.