Mac中ElasticSearch安裝

Elasticsearch是一個開源,是一個基於Apache Lucene庫構建的Restful搜索引擎。Elasticsearch是在Solr之後幾年推出的。它提供一個分佈式,多租房能力的全文搜索引擎,具有HTTP Web界面(REST) 和無架構JSON文檔。Elasticsearch的官方客戶端庫提供Java,Groovy,PHP,Ruby,Perl,Python, .NET和Javascript。主要功能 分佈式搜索 數據分析 分組和聚合。下載地址:https://www.elastic.co/guide/en/elastic-stack/7.2/index.html 此處下載版本爲 elasticsearch-oss-7.2.1-linux-x86_64.tar.gz

elasticsearch-oss-7.2.1 需要安裝jdk11以上的版本

解壓 tar -zxvf elasticsearch-oss-7.2.1-linux-x86_64.tar.gz -C /Users/jiajie/dockerapp/elasticsearch

 

類型

描述

默認位置

設置

bin

二進制腳本包含啓動節點的elasticsearch

{path.home}/bin

 

conf

配置文件包含elasticsearch.yml

{path.home}/config

path.conf

data

在節點上申請的每個index/shard的數據文件的位置,可容納多個位置

{path.home}/data

path.data

logs

日誌文件位置

{path.home}/logs

path.logs

plugins

插件文件位置,每個插件將包含一個子目錄中。

{path.home}/plugins

path.logs

 修改 vi /elasticsearch-7.2.1/bin/elasticsearch

   增加如下:

#配置自己的jdk11
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

#if [ -z "$ES_TMPDIR" ]; then
#  ES_TMPDIR=`"$JAVA" -cp "$ES_CLASSPATH" #org.elasticsearch.tools.launchers.TempDirectory`
#fi

#添加jdk判斷
#添加jdk判斷
if [ -x "$JAVA_HOME/bin/java" ]; then
        JAVA="/Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home/bin/java"
else
        JAVA=`which java`
fi

 elasticsearch 修改後的配置

#!/bin/bash

# CONTROLLING STARTUP:
#
# This script relies on a few environment variables to determine startup
# behavior, those variables are:
#
#   ES_PATH_CONF -- Path to config directory
#   ES_JAVA_OPTS -- External Java Opts on top of the defaults set
#
# Optionally, exact memory values can be set using the `ES_JAVA_OPTS`. Note that
# the Xms and Xmx lines in the JVM options file must be commented out. Example
# values are "512m", and "10g".
#
#   ES_JAVA_OPTS="-Xms8g -Xmx8g" ./bin/elasticsearch

#配置自己的jdk8
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

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

#if [ -z "$ES_TMPDIR" ]; then
#  ES_TMPDIR=`"$JAVA" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.TempDirectory`
#fi

ES_JVM_OPTIONS="$ES_PATH_CONF"/jvm.options
JVM_OPTIONS=`"$JAVA" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.JvmOptionsParser "$ES_JVM_OPTIONS"`
ES_JAVA_OPTS="${JVM_OPTIONS//\$\{ES_TMPDIR\}/$ES_TMPDIR}"

#添加jdk判斷
if [ -x "$JAVA_HOME/bin/java" ]; then
        JAVA="/Library/Java/JavaVirtualMachines/jdk-11.0.7.jdk/Contents/Home/bin/java"
else
        JAVA=`which java`
fi

# manual parsing to find out, if process should be detached
if ! echo $* | grep -E '(^-d |-d$| -d |--daemonize$|--daemonize )' > /dev/null; then
  exec \
    "$JAVA" \
    $ES_JAVA_OPTS \
    -Des.path.home="$ES_HOME" \
    -Des.path.conf="$ES_PATH_CONF" \
    -Des.distribution.flavor="$ES_DISTRIBUTION_FLAVOR" \
    -Des.distribution.type="$ES_DISTRIBUTION_TYPE" \
    -Des.bundled_jdk="$ES_BUNDLED_JDK" \
    -cp "$ES_CLASSPATH" \
    org.elasticsearch.bootstrap.Elasticsearch \
    "$@"
else
  exec \
    "$JAVA" \
    $ES_JAVA_OPTS \
    -Des.path.home="$ES_HOME" \
    -Des.path.conf="$ES_PATH_CONF" \
    -Des.distribution.flavor="$ES_DISTRIBUTION_FLAVOR" \
    -Des.distribution.type="$ES_DISTRIBUTION_TYPE" \
    -Des.bundled_jdk="$ES_BUNDLED_JDK" \
    -cp "$ES_CLASSPATH" \
    org.elasticsearch.bootstrap.Elasticsearch \
    "$@" \
    <&- &
  retval=$?
  pid=$!
  [ $retval -eq 0 ] || exit $retval
  if [ ! -z "$ES_STARTUP_SLEEP_TIME" ]; then
    sleep $ES_STARTUP_SLEEP_TIME
  fi
  if ! ps -p $pid > /dev/null ; then
    exit 1
  fi
  exit 0
fi

exit $?

啓動命令:  進入 bin目錄  sh elasticsearch

[2020-06-27T00:05:28,589][INFO ][o.e.c.c.ClusterBootstrapService] [maomaodeMacBook-Pro-2.local] no discovery configuration found, will perform best-effort cluster bootstrapping after [3s] unless existing master is discovered
[2020-06-27T00:05:31,593][INFO ][o.e.c.c.Coordinator      ] [maomaodeMacBook-Pro-2.local] setting initial configuration to VotingConfiguration{y6BTee3zQ_aELaRIHD26ew}
[2020-06-27T00:05:31,742][INFO ][o.e.c.s.MasterService    ] [maomaodeMacBook-Pro-2.local] elected-as-master ([1] nodes joined)[{maomaodeMacBook-Pro-2.local}{y6BTee3zQ_aELaRIHD26ew}{h8TLHoorRLe2LpclDMoYKw}{127.0.0.1}{127.0.0.1:9300} elect leader, _BECOME_MASTER_TASK_, _FINISH_ELECTION_], term: 1, version: 1, reason: master node changed {previous [], current [{maomaodeMacBook-Pro-2.local}{y6BTee3zQ_aELaRIHD26ew}{h8TLHoorRLe2LpclDMoYKw}{127.0.0.1}{127.0.0.1:9300}]}
[2020-06-27T00:05:31,781][INFO ][o.e.c.c.CoordinationState] [maomaodeMacBook-Pro-2.local] cluster UUID set to [M2usswQ5ScC6lHGOyrfgCQ]
[2020-06-27T00:05:31,817][INFO ][o.e.c.s.ClusterApplierService] [maomaodeMacBook-Pro-2.local] master node changed {previous [], current [{maomaodeMacBook-Pro-2.local}{y6BTee3zQ_aELaRIHD26ew}{h8TLHoorRLe2LpclDMoYKw}{127.0.0.1}{127.0.0.1:9300}]}, term: 1, version: 1, reason: Publication{term=1, version=1}
[2020-06-27T00:05:31,847][INFO ][o.e.h.AbstractHttpServerTransport] [maomaodeMacBook-Pro-2.local] publish_address {127.0.0.1:9200}, bound_addresses {[::1]:9200}, {127.0.0.1:9200}
[2020-06-27T00:05:31,852][INFO ][o.e.n.Node               ] [maomaodeMacBook-Pro-2.local] started
[2020-06-27T00:05:31,855][INFO ][o.e.g.GatewayService     ] [maomaodeMacBook-Pro-2.local] recovered [0] indices into cluster_state

如出現啓動報錯

sh elasticsearch
Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
JNA Warning: IOException removing temporary files: JNA temporary directory '' does not exist
[2020-06-26T23:55:31,973][WARN ][o.e.b.Natives            ] [maomaodeMacBook-Pro-2.local] unable to load JNA native support library, native methods will be disabled.
java.lang.UnsatisfiedLinkError: Failed to create temporary file for /com/sun/jna/darwin/libjnidispatch.jnilib library: JNA temporary directory '' does not exist
	at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:962) ~[jna-4.5.1.jar:4.5.1 (b0)]
	at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:922) ~[jna-4.5.1.jar:4.5.1 (b0)]
	at com.sun.jna.Native.<clinit>(Native.java:190) ~[jna-4.5.1.jar:4.5.1 (b0)]
	at java.lang.Class.forName0(Native Method) ~[?:?]
	at java.lang.Class.forName(Class.java:315) ~[?:?]
	at org.elasticsearch.bootstrap.Natives.<clinit>(Natives.java:45) [elasticsearch-7.2.1.jar:7.2.1]
	at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:104) [elasticsearch-7.2.1.jar:7.2.1]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:172) [elasticsearch-7.2.1.jar:7.2.1]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:349) [elasticsearch-7.2.1.jar:7.2.1]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) [elasticsearch-7.2.1.jar:7.2.1]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) [elasticsearch-7.2.1.jar:7.2.1]
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) [elasticsearch-7.2.1.jar:7.2.1]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) [elasticsearch-cli-7.2.1.jar:7.2.1]
	at org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-cli-7.2.1.jar:7.2.1]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115) [elasticsearch-7.2.1.jar:7.2.1]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) [elasticsearch-7.2.1.jar:7.2.1]

解決方法 vi elasticsearch-7.2.1/config/jvm.options

文件最後增加兩行,再啓動  sh elasticsearch 

-Djava.io.tmpdir=/Users/jiajie/dockerapp/elasticsearch/temp
-Djna.tmpdir=/Users/jiajie/dockerapp/elasticsearch/temp

 瀏覽器輸入 http://localhost:9200/

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章