天天看點

Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

1. JDK的安裝及配置

由于Elasticsearch依賴于JDK,且本次示範的是Elasticsearch7.4.0的叢集配置,是以需要JDK11的支援。JDK的環境配置有需要請移步:Linux下JDK安裝及配置

2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

2.1 下載下傳Elasticsearch并上傳到伺服器

下載下傳位址:華為資源網站

選擇 版本為 7.4.0 的進行下載下傳

Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

放到目錄下 :/zdrl/elasticsearch/

輸入指令進行解壓:

tar -zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz
           
Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

2.2 解壓并配置三個節點的Elasticsearch叢集

在/zdrl/elasticsearch 目錄下輸入指令

mkdir elasticsearch
mv elasticsearch-7.4.0 elasticsearch-cluster/elasticsearch9201
           
Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

2.2.1 配置第一個es節點:node-9201

2.2.1.1 配置jvm.options

cd elasticsearch9201/config
vim jvm.options

修改jvm的啟動參數:
-Xms150m
-Xmx150m
           
Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

2.2.1.2 配置 elasticsearch.yml

#叢集名稱
cluster.name: es-cluster
#節點名稱
node.name: node-9201
#端口
http.port: 9201
#内部節點之間溝通端口
transport.tcp.port: 9301
#是不是有資格主節點
node.master: true
#是否存儲資料
node.data: true
#ip位址
network.host: 0.0.0.0
#es7.x 之後新增的配置,節點發現
discovery.seed_hosts: ["172.16.86.142:9301", "172.16.86.142:9302", "172.16.86.142:9303"]
#es7.x 之後新增的配置,初始化一個新的叢集時需要此配置來選舉master
cluster.initial_master_nodes: ["node-9201", "node-9202", "node-9203"] 
#資料存儲路徑
path.data: /zdrl/elasticsearch/elasticsearch-cluster/data/data9201
#日志存儲路徑
path.logs: /zdrl/elasticsearch/elasticsearch-cluster/logs/logs9201
           

由于配置了 資料存儲路徑 和 日志存儲路徑,是以在對應的位置先建立好

Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

2.2.1.3 安裝中文分詞器ik

進入 /zdrl/elascticsearch/elasticsearch-cluster/elasticsearch9201/bin 目錄輸入如下指令:

./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.0/elasticsearch-analysis-ik-7.4.0.zip
           
Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

等待下載下傳

下載下傳完成後會提示輸入y/N 來決定是否安裝

輸入 y 即可以完成安裝,安裝完成可在 elasticsearch根目錄的plugin目錄下檢視插件

Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

2.2.2 配置第二個es節點:node-9202

2.2.2.1 直接複制第一個es檔案夾

Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

2.2.2.2 修改 elasticsearch.yml 檔案

#叢集名稱
cluster.name: es-cluster
#節點名稱
node.name: node-9202
#端口
http.port: 9202
#内部節點之間溝通端口
transport.tcp.port: 9302
#是不是有資格主節點
node.master: true
#是否存儲資料
node.data: true
#ip位址
network.host: 0.0.0.0
#es7.x 之後新增的配置,節點發現
discovery.seed_hosts: ["172.16.86.142:9301", "172.16.86.142:9302", "172.16.86.142:9303"]
#es7.x 之後新增的配置,初始化一個新的叢集時需要此配置來選舉master
cluster.initial_master_nodes: ["node-9201", "node-9202", "node-9203"]
#資料存儲路徑
path.data: /zdrl/elasticsearch/elasticsearch-cluster/data/data9202
#日志存儲路徑
path.logs: /zdrl/elasticsearch/elasticsearch-cluster/logs/logs9202
           

2.2.3 配置第三個es節點:node-9203

2.2.3.1 直接複制第一個es檔案夾

Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

2.2.3.2 修改 elasticsearch.yml 檔案

#叢集名稱
cluster.name: es-cluster
#節點名稱
node.name: node-9203
#端口
http.port: 9203
#内部節點之間溝通端口
transport.tcp.port: 9303
#是不是有資格主節點
node.master: true
#是否存儲資料
node.data: true
#ip位址
network.host: 0.0.0.0
#es7.x 之後新增的配置,節點發現
discovery.seed_hosts: ["172.16.86.142:9301", "172.16.86.142:9302", "172.16.86.142:9303"]
#es7.x 之後新增的配置,初始化一個新的叢集時需要此配置來選舉master
cluster.initial_master_nodes: ["node-9201", "node-9202", "node-9203"]
#資料存儲路徑
path.data: /zdrl/elasticsearch/elasticsearch-cluster/data/data9203
#日志存儲路徑
path.logs: /zdrl/elasticsearch/elasticsearch-cluster/logs/logs9203
           

2.3 啟動es叢集并驗證

2.3.1 建立esuser使用者用于啟動elasticsearch

建立 es 分組

groupadd es
           

建立 esuser 使用者

useradd esuser
           
Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

2.3.2 配置設定權限給esuser

chgrp -R esuser elasticsearch9201
chown -R esuser elasticsearch9201
chgrp -R esuser elasticsearch9202
chown -R esuser elasticsearch9202
chgrp -R esuser elasticsearch9203
chown -R esuser elasticsearch9203
chgrp -R esuser data
chown -R esuser data
chgrp -R esuser logs
chown -R esuser logs
           
Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

2.3.3 切換esuser并且啟動elasticsearch

切換 esuser 使用者

su esuser
           

在 /zdrl/elasticsearch/elasticsearch-cluster 目錄下輸入指令:-d 表示在背景運作

./elasticsearch9201/bin/elasticsearch -d
./elasticsearch9202/bin/elasticsearch -d
./elasticsearch9203/bin/elasticsearch -d
           

檢視程序:ps -ef|grep elasticsearch

Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

2.3.4 驗證啟動結果

由于是我自己的雲伺服器,比較辣雞,起了三個es發現快當機了,是以把node-9203節點的給停掉了。
           

浏覽器:

http://120.77.177.194:9201/

Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

浏覽器:

http://120.77.177.194:9202/

Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

2.4 下載下傳Elasticsearch-head并配置

2.4.1 安裝nodejs

elasticsearch-head依賴于nodejs,是以需要先安裝nodejs

下載下傳位址:nodejs官網

下載下傳完成需要手動上傳到伺服器上,也可以直接複制下面指令進行下載下傳

wget -c https://nodejs.org/dist/v12.16.2/node-v12.16.2-linux-x64.tar.xz
           

下載下傳到 /zdrl/nodejs 目錄中

Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

進行解壓:

tar -xvf node-v12.16.2-linux-x64.tar.xz
           
Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

更改名稱為 nodejs12

Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

配置nodejs環境變量

export NODE_HOME=/zdrl/nodejs/nodejs12
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
           
Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

讓配置生效:

source /etc/profile
           
Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

驗證:

node -v
npm -v
           
Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

2.4.2 下載下傳Elasticsearch-head并配置

2.4.2.1 下載下傳Elasticsearch-head

head插件其實了解為一個項目,具有前端頁面的項目,可以選擇手動下載下傳并上傳到雲伺服器,連結如下:elasticsearch-head github下載下傳位址

也可以在伺服器上安裝 git ,使用 git 指令進行拉取

安裝 git

檢查

git --version
           
Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

拉取項目

在 /zdrl/elasticsearch/elasticsearch-head 目錄中拉取

git clone https://github.com/mobz/elasticsearch-head.git
           

解壓

unzip elasticsearch-head-master.zip
           

解壓之後得到的目錄結構

Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

2.4.2.2 安裝

進入 elasticsearch-head 項目的根目錄輸入指令進行安裝操作

即 /zdrl/elasticsearch/elasticsearch-head/elasticsearch-head-master 目錄下 進行安裝

如果報錯

Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

則使用下面指令

npm install -g
           
Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

2.4.2.3 配置Elasticsearch,使得es-head插件能夠遠端通路es

修改 elasticsearch.yml 檔案

由于elasticsearch-head插件遠端通路可能存在跨域的問題,是以需要允許跨域通路。

下面開始依次修改各個節點的 elasticsearch.yml 檔案

在 /zdrl/elasticsearch/elasticsearch-cluster 目錄下:

以 node-9201 節點為例,其他照搬即可

vim elasticsearch9201/config/elasticsearch.yml
           

加入以下配置

#配置開啟跨域
http.cors.enabled: true
#配置允許任何域名通路
http.cors.allow-origin: "*"
           

2.4.3 驗證

重新開機es

如果前面 啟動的 elasticsearch 程序沒有停止,重新開機可能會報端口占用,建議先停止程序再啟動

ps -ef|grep elasticsearch
           

檢視到程序并找到對應的 pid,使用指令進行終結

kill -9 pid
           

啟動 elasticsearch

在 /zdrl/elasticsearch/elasticsearch-cluster 目錄下

./elasticsearch9201/bin/elasticsearch -d
./elasticsearch9202/bin/elasticsearch -d
           
Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

啟動elasticsearch-head

在 /zdrl/elasticsearch/elasticsearch-head/elasticsearch-head-master 目錄下執行指令:

head插件預設是以 9100 端口其中,檢視端口占用

Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

浏覽器通路

輸入:http://ip:9100

Linux環境下Elasticsearch叢集和Elasticsearch-head的安裝及配置1. JDK的安裝及配置2. Elasticsearch叢集的搭建和Elasticsearch-head的安裝及配置

可以看到有兩個叢集節點,至此 Elasticsearch + Elasticsearch-head 搭建完成。

繼續閱讀