这个文章主要介绍一下如果在CentOS7上安装单节点Elasticsearch.
前置条件
首先来看一下JDK. Elasticsearch安装后自带OpenJDK.如果要使用自定义的JDK, 要确保版本号在1.8.0_131 or a later.
先来检查一下我们是否已经安装jdk,版本是否满足要求:
$ java -version
openjdk version "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-b09)
OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)
$ echo $JAVA_HOME
/usr/lib/jvm/java_latest
如果想了解怎么安装open-jdk,这篇文章可以参考。
Install Elasticsearch
We can get download url from the following link:
https://www.elastic.co/downloads/
现在开始下载安装包, 包挺大。在我的网络上下载挺慢。
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.0-linux-x86_64.tar.gz
$ tar -xvf elasticsearch-7.0.0-linux-x86_64.tar.gz
$ cd elasticsearch-7.0.0
$ cd jdk/bin/
$ ./java -version
openjdk version "12" 2019-03-19
OpenJDK Runtime Environment (build 12+33)
OpenJDK 64-Bit Server VM (build 12+33, mixed mode, sharing)
我们的确看到有jdk在Elasticsearch目录的jdk/下面. 这个我们先不管. 我们先进到elasticsearch-7.0.0/bin目录.
$ pwd
/home/ops/elasticsearch-7.0.0/bin
现在执行下面的命令:
$ ./elasticsearch
[2019-04-14T01:28:47,160][INFO ][o.e.e.NodeEnvironment ] [elasticsearch] using [1] data paths, mounts [[/ (rootfs)]], net usable_space [14.7gb], net total_space [16.9gb], types [rootfs]
[2019-04-14T01:28:47,167][INFO ][o.e.e.NodeEnvironment ] [elasticsearch] heap size [1007.3mb], compressed ordinary object pointers [true]
[2019-04-14T01:28:47,171][INFO ][o.e.n.Node ] [elasticsearch] node name [elasticsearch], node ID [z4Qpr3KpSK-Hz48idq2ICQ]
[2019-04-14T01:28:47,172][INFO ][o.e.n.Node ] [elasticsearch] version[7.0.0], pid[5328], build[default/tar/b7e28a7/2019-04-05T22:55:32.697037Z], OS[Linux/3.10.0-957.10.1.el7.x86_64/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/1.8.0_201/25.201-b09]
[2019-04-14T01:28:47,173][INFO ][o.e.n.Node ] [elasticsearch] JVM home [/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64/jre]
[2019-04-14T01:28:47,174][INFO ][o.e.n.Node ] [elasticsearch] JVM arguments [-Xms1g, -Xmx1g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -Des.networkaddress.cache.ttl=60, -Des.networkaddress.cache.negative.ttl=10, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Djava.io.tmpdir=/tmp/elasticsearch-5278761429780090214, -XX:+HeapDumpOnOutOfMemoryError, -XX:HeapDumpPath=data, -XX:ErrorFile=logs/hs_err_pid%p.log, -XX:+PrintGCDetails, -XX:+PrintGCDateStamps, -XX:+PrintTenuringDistribution, -XX:+PrintGCApplicationStoppedTime, -Xloggc:logs/gc.log, -XX:+UseGCLogFileRotation, -XX:NumberOfGCLogFi