一、環(huán)境介紹
| 屬性 | 屬性值(點擊鏈接??可跳轉(zhuǎn)下載) |
|---|---|
| OS 版本 | CentOS Linux release 7.9.2009 (Core) |
| Java 版本 | 1.8.0_251 |
| Elasticsearch 版本 | elasticsearch-7.10.0-linux-x86_64 |
| Kibana 版本 | kibana-7.10.0-linux-x86_64 |
?? 注意:其中 Java 版本最好是 11+(Java 8 不支持 ES 新特性),Kibana 必須和 Elasticsearch 版本一致。
?? 小貼士:墻內(nèi)用戶可能會遇到下載過慢的情況,建議復(fù)制鏈接??到多線程下載工具(如迅雷)中下載。
二、安裝步驟
2.1 創(chuàng)建用戶
個人在開發(fā)中使用 Linux 的習(xí)慣是:為每個重要的組件都創(chuàng)建一個同名用戶,并將該用戶主目錄作為組件的根目錄(安裝目錄),這樣做的好處是使管理各個組件的權(quán)限更加容易。因此這里需要創(chuàng)建 elasticsearch 和 kibana 兩個用戶。如果你認同我的這個習(xí)慣,也可以這樣做。
下述命令需使用 root 用戶執(zhí)行:
# 創(chuàng)建 elasticsearch 用戶
useradd elasticsearch
# 創(chuàng)建 kibana 用戶
useradd kibana
2.2 拷貝安裝包到組件目錄
下述命令需使用 root 用戶執(zhí)行:
# 拷貝 elasticsearch 安裝包
cp elasticsearch-7.10.0-linux-x86_64.tar.gz /home/elasticsearch
# 拷貝 kibana 安裝包
cp kibana-7.10.0-linux-x86_64.tar.gz /home/kibana
2.3 安裝 Elasticsearch
切換到 elasticsearch 用戶,并跳轉(zhuǎn)到它的主目錄。
使用 root 用戶執(zhí)行下述命令:
su - elasticsearch
接著解壓安裝包,移動所屬文件到用戶主目錄,并做一些清理工作。
使用 elasticsearch 用戶執(zhí)行下述命令:
# 解壓安裝包
tar -xzf elasticsearch-7.10.0-linux-x86_64.tar.gz
# 移動文件到用戶主目錄
mv elasticsearch-7.10.0-linux-x86_64/* .
# 刪除剩下的空目錄
rm -r elasticsearch-7.10.0-linux-x86_64/
# 刪除安裝包
rm -f elasticsearch-7.10.0-linux-x86_64.tar.gz
2.4 安裝 Kibana
切換到 kibana 用戶,并跳轉(zhuǎn)到它的主目錄。
使用 root 用戶執(zhí)行下述命令:
su - kibana
接著解壓安裝包,移動所屬文件到用戶主目錄,并做一些清理工作。
使用 kibana 用戶執(zhí)行下述命令:
# 解壓安裝包
tar -xzf kibana-7.10.0-linux-x86_64.tar.gz
# 移動文件到用戶主目錄
mv kibana-7.10.0-linux-x86_64/* .
# 刪除剩下的空目錄
rm -r kibana-7.10.0-linux-x86_64/
# 刪除安裝包
rm -f kibana-7.10.0-linux-x86_64.tar.gz
三、配置步驟
3.1 Elasticsearch 配置
3.1.1 調(diào)整系統(tǒng)配置
直接啟動 Elasticsearch 可能會報告以下錯誤,并正常退出:
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max number of threads [3796] for user [elasticsearch] is too low, increase to at least [4096]
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
使用 root 用戶執(zhí)行下述操作:
-
修改 /etc/security/limits.conf,添加以下內(nèi)容:
# 解決錯誤[1] elasticsearch soft nofile 65535 elasticsearch hard nofile 65535 # 解決錯誤[2] elasticsearch soft nproc 4096 elasticsearch hard nproc 4096 -
修改 /etc/sysctl.conf,添加以下內(nèi)容:
# 解決問題[3] vm.max_map_count=262144 -
執(zhí)行下述命令使得修改生效:
sysctl -p
3.2.2 必需配置
切換至 elasticsearch 用戶,編輯 config/elasticsearch.yml,取消注釋并修改以下配置項:
# 修改綁定監(jiān)聽地址,以便在宿主機中訪問
network.host: 0.0.0.0
# 修改初始 master 節(jié)點
cluster.initial_master_nodes: ["node-1"]
保存退出(:wq)。
3.2 Kibana 配置
切換至 cabana 永輝,編輯 config/kibana.yml,取消注釋并修改以下配置項:
# 修改綁定監(jiān)聽地址,以便在宿主機中訪問
server.host: "0.0.0.0"
# 設(shè)置簡體中文(可選)
i18n.locale: "zh-CN"
保存退出(:wq)。
四、啟動組件
4.1 啟動 Elasticsearch
Elasticsearch 的啟動命令 bin/elasticsearch 支持 -d 選項以使得程序在后臺運行。
切換至 elasticsearch 用戶并執(zhí)行下述命令:
bin/elasticsearch -d
如果你和我一樣使用的是 Java 8,那么這里控制臺上會打印出如下警告:
future versions of Elasticsearch will require Java 11; your Java version from [/usr/java/jdk1.8.0_251-amd64/jre] does not meet this requirement
future versions of Elasticsearch will require Java 11; your Java version from [/usr/java/jdk1.8.0_251-amd64/jre] does not meet this requirement
這是因為未來 Elasticsearch 的一些功能將會依賴于 Java 11 實現(xiàn),可以無視這個警告,相信 Java 8 在最近一段時間仍是會被支持的,也可以酌情考慮升級至 Java 11+。
此時可以使用 ps、jps 等命令查看進程是否成功啟動,也可以使用 netstat 命令查看 IP 端口是否綁定正常,相關(guān)命令此處不再贅述。
4.2 啟動 Kibana
Kibana 的啟動命令 bin/kibana 不像 Elasticsearch 一樣提供后臺運行的參數(shù),但是我們可以使用 Linux 通用的在命令末尾加 & 的方式來實現(xiàn)后臺運行。
切換到 kibana 用戶并執(zhí)行下述命令:
bin/kibana > kibana.log 2>&1 &
此時 Kibana 會后臺啟動,并把控制臺標準輸出和錯誤輸出都重定向至 kibana.log 文件中,最后可以將這段命令寫進腳本文件,每次只需執(zhí)行腳本文件。
五、使用組件
- Elasticsearch:http://your-vm-ip-or-host:9200
- Kibana:http://your-vm-ip-or-host:5601
其中 your-vm-ip-or-host 需替換為你的虛擬機的 IP 地址或者 host。