Linux 環境Skywalking部署Elasticsearch

SportSky發表於2022-03-27

一、環境準備

1、Java jdk 11+(安裝教程可參考https://www.cnblogs.com/sportsky/p/15973713.html

2、elasticsearch

二、環境搭建

1、建立目錄

mkdir  /usr/local/skywalking

2、將資源目錄中的elasticsearch安裝包上傳到虛擬機器/usr/local/skywalking目錄下

下載地址:https://www.elastic.co/cn/downloads/elasticsearch

3、首先安裝elasticsearch,將壓縮包解壓

tar -zxvf elasticsearch-7.10.1-linux-x86_64.tar.gz

 修改Linux系統的限制配置,將檔案建立數修改為65536個。

a、修改系統中允許應用最多建立多少檔案等的限制許可權。Linux預設來說,一般限制應用最多建立的檔案是65536個。但是ES至少需要65536的檔案建立數的許可權。

b、修改系統中允許使用者啟動的程式開啟多少個執行緒。預設的Linux限制root使用者開啟的程式可以開啟任意數量的執行緒,其他使用者開啟的程式可以開啟1024個執行緒。必須修改限制數為4096+。因為ES至少需要4096的執行緒池預備。
vi /etc/security/limits.conf

-- 增加如下內容在limits.conf檔案中

es soft nofile 65536
es hard nofile 65536
es soft nproc 4096
es hard nproc 4096

修改系統控制許可權,elasticsearch需要開闢一個65536位元組以上空間的虛擬記憶體,Linux預設不允許在任何使用者和應用程式直接開闢這麼大的虛擬記憶體。

vi /etc/sysctl.conf

-- 新增如下內容在sysctl.conf檔案中。當前使用者擁有的記憶體許可權大小
vm.max_map_count=262144

-- 讓系統控制許可權配置生效
sysctl -p

 

 

 

 

 新建一個使用者,用於elasticsearch啟動,ES在5.x版本之後,強制要求在linux中不能使用root使用者啟動ES程式。所以必須使用其他使用者啟動ES程式才可以。

-- 建立使用者
useradd es
-- 修改上述使用者密碼
passwd es
-- 修改es目錄的擁有者
chown -R es:es elasticsearch-7.10.1

4、修改 elasticsearch-7.10.1/config/elasticsearch.yml 配置資訊

vi elasticsearch-7.10.1/config/elasticsearch.yml

-- 檔案中增加如下配置
cluster.name: elasticsearch
node.name: node-1
network.host: 127.0.0.1
http.port: 9200
http.host: 0.0.0.0
cluster.initial_master_nodes: ["node-1"]

 

 5、啟動elasticsearch,切換es 使用者  

開啟解壓後的elasticsearch-7.17.1檔案,進入bin目錄,執行 ./elasticsearch

su es

cd elasticsearch-7.10.1/bin ./elasticsearch -d

 6、檢視es日誌

tail -f logs/elasticsearch.log

 出現如圖所示,說明es服務已經啟動

 7、請求es服務

curl http://127.0.0.1:9200

出現如圖所示說明請求成功

 

 

 8、宿主主機瀏覽器訪問elasticsearch,先檢查虛擬機器是否開啟防火牆,是否有開放9200埠

1、檢視防火牆狀態
systemctl status firewalld

2、如果不是顯示active狀態,需要開啟防火牆
systemctl start firewalld

3、檢視所有已開放的臨時埠(預設為空)
firewall-cmd --list-ports

4、 檢視所有永久開放的埠(預設為空)
firewall-cmd --list-ports --permanent

5、新增永久開放的埠(例如:9200埠)
firewall-cmd --add-port=9200/tcp --permanent

6、配置結束後需要輸入過載命令並重啟防火牆以生效配置
firewall-cmd --reload

 

 

相關文章