Elasticsearch安裝
liunx 安裝
下載
登錄你的服務器,作者在這里准備了一台雲服務器,創建一個目錄,將Elasticsearch
下載到你的服務器上。
# 創建目錄 es
mkdir es
# 進入es目錄
cd /es
# 下載es
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-linux-x86_64.tar.gz
如下圖,正在進行下載。可能會有點慢。
減壓
下載完成后,在你的es
目錄下會有一個壓縮包elasticsearch-7.8.0-linux-x86_64.tar.gz
,如下圖

我們執行下面的這條命令進行減壓,減壓處理啊一個文件夾elasticsearch-7.8.0
。
tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz
進入到elasticsearch-7.8.0
我們看一下目錄結構

❝目錄介紹:
❞
bin:該目錄放置的是一些操作 Elasticsearch
的腳本文件,包括啟動腳本文件config:這個目錄下有一個很重要的文件 elasticsearch.yml
,這個是配置es
的文件,后面我們配置集群就是在這文件中進行的jdk: elasticsearch
自帶的jdklib: elasticsearch
依賴的一些jar
包logs: 日志文件存放的目錄 modules:模塊庫 plugins:存放插件的目錄,后面我們用到的插件直接放在這個目錄下就好了
啟動
正常情況下我們只需要進入到bin
目錄下,執行如下命令,一個es
節點就啟動成功了,但是如果你是一台新的服務器,就會遇到很多問題。
sh elasticsearch
JDk
版本問題
上面這條命令輸入以后,首先報的錯誤就是jdk
的版本問題。因為作者使用的是es
最新的版本7.8的版本,這個版本默認的jdk
是11,因為作者服務器上的版本的1.8的jdk
,所以會報如下的錯誤:
future versions of Elasticsearch will require Java 11; your Java version from [/usr/lib/jvm/java-1.8.0-openjdk-headless-1.8.0.181-3.b13.el7_5.x86_64] does not meet this requirement
問題搞明白了后,我們就需要在服務器上安裝JDK11
,具體安裝步驟如下:
-
刪除服務器上的
JDk1.8
,找到你的jdk
安裝的路徑,執行如下的命令,查找安裝目錄# 查找jdk
rpm -qa|grep jdk
# 卸載
yum -y remove java-1.8.0-openjdk-headless-1.8.0.181-3.b13.el7_5.x86_64
# 驗證
java -version -
搜索
JDK11
,執行如下命令,可以看到搜索的結果# 搜索JDK11
yum search java-11-openjdk

-
安裝
JDK11
,執行如下命令進行安裝# 安裝
yum install java-11-openjdk-headless.x86_64 -
驗證
java -version
#輸出如下,說明安裝成功
openjdk version "11.0.8" 2020-07-14 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.8+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode, sharing)配置環境變量
編輯
profile
文件,# 編輯文件
vi /etc/profile配置如下信息
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el7_8.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH或者使用
es
自帶的jdk
,下面我們來配置一下,進入到/bin目錄下找到elasticsearch-env
找到JAVA
編輯配置如下內容JAVA =/es/elasticsearch-7.8.0/jdk/bin/java
JAVA_TYPE="JAVA_HOME"由於是在執行
sh elasticsearch
命令還是會報錯,所以我們需要創建一個新的用戶
創建用戶
有以上的問題可以知道,es
是不允許使用root
用戶進行啟動的,因此我們需要創建一個普通的用戶
#添加用戶 triumphxx
useradd triumphxx
#設置密碼 根據提示輸入倆次密碼
passwd triumphxx123
#設置用戶權限
visudo
#添加如下內容,在root ALL=(ALL) ALL 下面增加新用戶的信息
triumphxx ALL=(ALL) ALL

更改文件權限
chown -R triumphxx:triumphxx elasticsearch-7.8.0
繼續啟動
# 切換用戶到triumphxx
su triumphxx
# 啟動
sh elasticsearch
根據輸出的日志我們還需要修改如下的配置文件/elasticsearch-7.8.0/bin/elasticsearch-env
,/etc/sysctl.conf
,/elasticsearch-7.8.0/config/jvm.options
,/elasticsearch-7.8.0/config/elasticsearch.yml
根據啟動es
啟動的報錯日志,我們需要修改文件lasticsearch-env
的倆個符號問題
把 done < (env) 修改改為 done <<< 'env'
修改jvm.options
文件中的內容如下
# 原來的1g
-Xms1g
-Xmx1g
# 修改為256m
-Xms256m
-Xmx256m
在ysctl.conf
文件中添加如下內容
vm.max_map_count = 262144
以及需要創建的倆個目錄:/path/to/data
,/path/to/logs
,這倆個目錄的配置是在elasticsearch.yml
文件中,如下:
# 數據目錄
path.data: /path/to/data
# 日志目錄
path.logs: /path/to/logs
創建完成后,我們需要切換到root
用戶下將目錄的權限授權給啟動es
的用戶triumphxx
,執行如下倆條命令進行授權
chown -R triumphxx:triumphxx /path/to/data/
chown -R triumphxx:triumphxx /path/to/logs/
❝以上這些配置小伙伴們不必擔心不會配置,因為在你啟動
❞es
的時候,日志里都會進行詳細的說明,只要大家,按着提示找到對應的文件進行修改添加配置即可。
驗證
查看es
輸出的日志,有如下內容,說明啟動成功

訪問
在瀏覽器輸入ip:端口
輸出如下內容,說明我們的es
已經完全啟動起來了
{
"name" : "node-1",
"cluster_name" : "es",
"cluster_uuid" : "P2_t8-aPS_iB_7trNLztMg",
"version" : {
"number" : "7.8.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
"build_date" : "2020-06-14T19:35:50.234439Z",
"build_snapshot" : false,
"lucene_version" : "8.5.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
mac os 安裝
mac
安裝是基於docker
來進行安裝。如果小伙伴們沒有docker
需要先行安裝docker
, docker安裝教程
由於docker
默認的的鏡像倉庫是國外的,受網絡限制,所以小伙伴們,可以去注冊一個 國內的鏡像倉庫 網易雲鏡像倉庫->點擊前往
找到鏡像中心,搜索你要下載的鏡像進行復制鏡像地址,進行下載。

到你的終端執行如下命令,進行下載
# 下載鏡像
docker pull hub.c.163.com/library/elasticsearch:latest
看到如下,內容表示,鏡像已經下載完成

查看你的鏡像,執行如下命令,可以看到我們的本地鏡像倉庫,已經有了es
的鏡像
docker images

啟動
執行如下命令進行啟動,具體命令參數就不多說了,前面的docker
系列文章有介紹,大家可以去一下
docker run -d -p9200:9200 hub.c.163.com/library/elasticsearch
驗證
在瀏覽器輸入http://localhost:9200/
,返回如下內容,表示啟動成功
{
"name" : "v9Lxequ",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "7tziSgTMROaSHHu3X_ozIA",
"version" : {
"number" : "5.5.2",
"build_hash" : "b2f0c09",
"build_date" : "2017-08-14T12:33:14.154Z",
"build_snapshot" : false,
"lucene_version" : "6.6.0"
},
"tagline" : "You Know, for Search"
}
小結
好啦,小伙伴們,我們具體主要討論的是在倆個環境上裝我們的Es
,雲服務器上安裝的部分稍微說的多了一點,原因是我們可能安裝不同的ES
版本,會遇到各式各樣的問題,希望小伙伴們都能夠解決。后續我們就會進行實戰環節,讓我們就實際的來操作es
。
