elasticsearch 6.2.0+kibana安裝部署文件
本文基於elasticsearch 6.2.0.本文是本人寫給運維的部署文件,留存記錄方便以後使用,因為命令比較詳細,只需參考即可。後續將陸陸續續寫相關API上來。
一、按硬體選擇
1,伺服器環境
三臺機的配置
Mastar節點機器
作業系統:linux CentOS 7
執行記憶體: 128G
硬碟記憶體:5T
Data節點機器
作業系統:linux CentOS 7
執行記憶體: 128G
硬碟記憶體:10T
Data節點機器
作業系統:linux CentOS 7
執行記憶體: 128G
硬碟記憶體:10T
2,說明
命令僅供參考,實際操作請手動輸入命令,不要直接複製貼上!!!
二、配置選擇
1,架構選擇
elasticsearch6.2.0+ kibana 6.2.0
elasticsearch 6.2.0 下載地址
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.0.tar.gz
cerebro 0.7.2 下載地址
https://github.com/lmenezes/cerebro/releases/download/v0.7.2/cerebro-0.7.2.tgz
kibana 6.2.0 下載地址
https://artifacts.elastic.co/downloads/kibana/kibana-6.2.0-linux-x86_64.tar.gz
2.2.1 JDK配置版本
oracle JDK:1.8及以上版本
2.2.2 配置說明
JDK
elasticsearch的環境依賴
檢查配置
說明: 如果敲入以下命令失敗,首先檢查命令格式是否正確,然後再檢查是否按照順序敲命令的。
對三臺機器IP互相PING,看是否能正常通訊
CentOS 7
關閉防火牆
systemctl stop firewalld.service
三、環境配置
1,JDK配置(三臺機子都必須裝上)
3.1.1 檔案準備
解壓下載下來的JDK
tar -xvf jdk-8u144-linux-x64.tar.gz
移動到opt/java資料夾中,沒有就新建,然後將資料夾重新命名為jdk1.8
mv jdk1.8.0_144 /opt/java
mv jdk1.8.0_144 jdk1.8
3.1.2環境配置
首先輸入 java-version
檢視是否安裝了JDK,如果安裝了,但版本不適合的話,就解除安裝
輸入
rpm -qa | grep java
檢視資訊
然後輸入:
rpm -e --nodeps “你要解除安裝JDK的資訊”
如: rpm-e --nodeps java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
編輯/etc/profile 檔案
輸入:
export JAVA_HOME=/opt/java/jdk1.8
export JRE_HOME=/opt/java/jdk1.8/jre
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=.:${JAVA_HOME}/bin:$PATH
注:JAVA_HOME的路徑是 JDK的路徑
使用vim 編輯之後 記得輸入 source /etc/profile 是配置生效
配置完後,輸入java -version 檢視版本資訊
2,elasticsearch 配置(三臺伺服器都需要配置)
3.2.1 檔案準備
將下載好的elasticsearch-6.2.0.tar.gz檔案解壓
輸入
tar -xvf elasticsearch-6.2.0.tar.gz
然後移動到/opt/elk資料夾 裡面,沒有該資料夾則建立
輸入
mv elasticsearch-6.1.0 /opt/elk
接下來建立ES資料資料夾和日誌資料夾(注意:需要在資料盤下面建立)
比如資料硬碟掛載在home資料夾,則
cd /home
mkdir elastic
cd elastic
mkdir data logs
三個伺服器操作一樣即可
3.2.2環境配置
輸入:
cd /opt/elk/ elasticsearch-6.2.0
cd config/
1、編輯jvm.options
vi jvm.options
修改為:
-Xms31g
-Xmx31g
儲存檔案退出,測試環境可以配置1到10G這樣即可
2、編輯elasticsearch.yml
vi elasticsearch.yml
這裡Master機器節點和data機器節點的配置機子的配置有點不一樣
注意:每臺機器的elasticsearch的配置中node.name名字都不一樣
Master節點伺服器的elasticsearch.yml
cluster.name:bigData-cluster
node.name:data01
#資料地址
path.data:/home/elastic/data
#日誌地址
path.logs:/home/elastic/logs
network.host:0.0.0.0
network.publish_host:當前機器IP
transport.tcp.port:9300
http.port:9200
discovery.zen.ping.unicast.hosts:["IP1:9300","IP2:9300","IP3:9300"]
node.master:true
node.data:false
discovery.zen.minimum_master_nodes:1
indices.fielddata.cache.size:12gb
bootstrap.memory_lock:true
bootstrap.system_call_filter:false
Data節點伺服器的elasticsearch.yml
cluster.name:bigData-cluster
node.name:data02
#資料地址
path.data:/home/elastic/data
#日誌地址
path.logs:/home/elastic/logs
network.host:0.0.0.0
network.publish_host:當前機器IP
transport.tcp.port:9300
http.port:9200
discovery.zen.ping.unicast.hosts:["IP1:9300","IP2:9300","IP3:9300"]
node.master:false
node.data:true
discovery.zen.minimum_master_nodes:1
indices.fielddata.cache.size:12gb
bootstrap.memory_lock:true
bootstrap.system_call_filter:false
注意:配置中的IP1,IP2,IP3為叢集中的每個伺服器的實際內網IP,注意檢視機器中9300埠和9200埠是否被佔用
配置中的indices.fielddata.cache.size在測試的時候可以刪掉,也可根據伺服器記憶體配置
3、Linux配置
1、修改sysctl.conf
vi /etc/sysctl.conf
# 增加
vm.max_map_count= 655360
儲存退出,輸入以下命令執行
sysctl-p
輸入 cat/etc/sysctl.conf | grep vm.max_map_count
2、修改90-nproc.conf
vi/etc/security/limits.d/90-nproc.conf
注:不同的linux伺服器90-nproc.conf可能檔名不一樣,有的可能是20-nproc.conf,建議先進/etc/security/limits.d/檢視檔名再執行vi命令修改
修改如下內容:
* soft nproc 2048
#修改為
* soft nproc 4096
3、修改limits.conf
vi/etc/security/limits.conf
新增如下內容:
* hard nofile 65536
* soft nofile 65536
4,cerebro配置
說明
cerebro只需要部署在Master節點的機器即可, ,Data節點伺服器不需要部署
3.4.1 檔案準備
將下載下來的cerebro 0.7.2.tar.gz進行解壓
在linux上輸入:
tar -xvf cerebro 0.7.2.tar.gz
然後將解壓之後的資料夾移動到opt/elk資料夾下。
在linux上輸入移動資料夾命令:
mv cerebro0.7.2 /opt/elk
5,kibana 配置
說明
kinaba只需要部署在Master節點的機器即可, Data節點伺服器不需要部署
3.5.1 檔案準備
將下載下來的kibana-6.2.0-linux-x86_64.tar.gz的配置檔案進行解壓
在linux上輸入:
tar -xvf kibana-6.2.0-linux-x86_64.tar.gz
然後移動到/opt/hbase 裡面
輸入
mv kibana-6.2.0-linux-x86_64 /opt/elk
四、執行
1,elasticsearch啟動
注: ES必須使用非root使用者啟動
在root的環境下輸入,三臺機子必須都得這樣
adduser elastic
修改資料夾使用者組
chown -R elastic:elastic/opt/elk/elasticsearch-6.2.0
chown -R elastic:elastic /home/elastic/
其中/home/elastic 為安裝時候建立的資料資料夾
然後切換使用者
su elastic
1、先啟動Master節點的機器,再依次啟動data節點的機器,進入elasticsearch-6.2.0資料夾,啟動命令如下
./bin/elasticsearch -d
驗證是否成功,出現以下json則表示成功
在瀏覽器輸入
2,cerebro啟動
進去cerebro-0.7.2資料夾
輸入:
nohup ./bin/cerebro >/dev/null 2>&1 &
然後啟動cerebro
在瀏覽器輸入:
按如圖中操作,進入叢集管理介面
其中紅圈部分是資料
3,Kinaba 啟動
進入kibana-6.1.0-linux-x86_64資料夾
輸入:
nohup ./bin/kibana >/dev/null 2>&1 &
瀏覽器輸入:
如果不能訪問則修改kibana.yml
vi config/kibana.yml將
修改為
其中的192.169.2.98換成本機的IP地址即可
如圖則是運維介面,相關具體操作可檢視文件
五、停止
1,elasticsearch停止
輸入
jps獲取Elasticsearch程序號
然後執行
kill -9 程序號
如上面圖中Elasticsearch程序為2089
kill -9 2089
注意:如果需要關閉叢集需要一個節點一個節點的關閉,如果需要關閉的是Master節點時間長,需要關閉叢集下的Data節點。
2,cerebro關閉
輸入
jps獲取cerebro程序號
然後執行
kill -9 程序號
如上面圖中cerebro程序為11684
kill -9 11684
3,Kinaba 關閉
輸入
netstat -tunlp|grep 5601
獲取kinaba程序號
然後執行
kill -9 程序號
如上面圖中kinaba程序為76587
kill -9 76587
六、測試&問題
1、如果Elasticsearch啟動失敗請到/home/elastic/logs 下面檢視日誌,其中日誌名為
叢集名稱.log
如我這裡叢集名為bigData-cluster,則檢視bigData-cluster.log日誌
注:/home/elastic/為你建立的資料資料夾路徑
2、注意檢視/home/elastic/logs使用者歸屬組是否是elastic,不是的話會報錯,改許可權
3、如果報以下錯,請參考第二個模組第三節Linux配置的1、2、3步
(1)maxvirtual memory areas vm.max_map_count [65530] is too low, increase to at least[262144]
參考第一個配置
(2) maxfile descriptors [65535] for elasticsearch process likely too low, increase toat least [65536]
參考第三個配置
(3)max number ofthreads [2048] for user [elastic] is too low, increase to at least [4096]
參考第二個配置
4、如果報以下這個錯則去修改elasticsearch.yml檔案
ERROR:bootstrap checks failed
修改elasticsearch.yml檔案中的引數
bootstrap.memory_lock:true
改為
bootstrap.memory_lock:false
注:哪臺機器哪臺修改即可