ELK (ElasticSearch+Logstash+kibana) Linux(centos7) 安裝 使用教程(一) ElasticSearch的安裝

ELK介紹:

在分佈式系統中,應用數量衆多,應用調用鏈複雜,常常使用ELK作爲日誌收集、分析和展示的組件。本篇文章將講講解如何部署ELK,然後講解如何 使用Filebeat採集Spring Boot的日誌輸出到Logstash上,logstash再將日誌輸出到Elasticsearch上,最後展示到kibana上面。整個日誌採集流程如下圖:

1.下載安裝包

https://www.elastic.co/cn/downloads/elasticsearch

https://www.elastic.co/cn/downloads/past-releases

cd /home/niuhao/elasticsearch
#也可在線下載
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
#執行解壓命令:
tar -zxvf elasticsearch-6.7.1.tar.gz

1.1修改

cd /home/niuhao/elasticsearch/elasticsearch-6.7.1



vi config/jvm.options

#-Xms2g

#-Xmx2g

-Xms512m

-Xmx512m

:wq!

1.2修改elasticsearch.yml

vi /home/niuhao/elasticsearch/elasticsearch-6.7.1/config/elasticsearch.yml

# ---------------------------------- Cluster -------------------------------------
#cluster.name: itstar-master
# ------------------------------------ Node --------------------------------------(三個不能一樣)
#node.name: node-1
#這種組合表示這個節點即有成爲主節點的資格,又存儲數據
#node.master: true
# 這個屬性表示節點是否存儲數據
#node.data: true
# ----------------------------------- Paths ---------------------------------------
path.data: /home/niuhao/elasticsearch/elasticsearch-6.7.1/elasticsearch-logs/data
path.logs: /home/niuhao/elasticsearch/elasticsearch-6.7.1/elasticsearch-logs/logs
# ----------------------------------- Memory -----------------------------------
#bootstrap.memory_lock: false
#bootstrap.system_call_filter: false
# ---------------------------------- Network ------------------------------------
network.host: 0.0.0.0
# --------------------------------- Discovery ------------------------------------
#discovery.zen.ping.unicast.hosts: ["bigdata11"]
#跨域訪問的問題
http.cors.enabled: true 
http.cors.allow-origin: "*"

:wq!

 

2.創建新用戶

第一步:liunx創建新用戶:"adduser niuhao",然後給創建的用戶加密碼:"passwd niuhao",輸入兩次密碼。

第二步:切換剛纔創建的用戶:"su niuhao",然後啓動elasticsearch。如果顯示Permission denied權限不足,則繼續進行第三步。

第三步:給新用戶賦權限,因爲這個用戶本身就沒有權限,肯定自己不能給自己付權限。所以要用root用戶登錄並賦予權限,chown -R niuhao /你的elasticsearch安裝目錄。

通過上面三步就可以啓動elasticsearch了。

3.啓動

(不能用root賬戶,先執行3)

#在root賬號下 執行 

chown -R niuhao /home/niuhao/elasticsearch

#再執行啓動命令:

cd /home/niuhao/elasticsearch/elasticsearch-6.7.1

./bin/elasticsearch

#後臺啓動添加參數 -d:

./bin/elasticsearch -d

 

4.驗證啓動是否成功

如果一切正常,Elasticsearch就會在默認的9200端口運行。這時,打開另一個命令行窗口,請求該端口:

curl localhost:9200

如果得到如下的返回,就說明啓動成功了:

5.遠程訪問elasticsearch服務

默認情況下,Elasticsearch 只允許本機訪問,如果需要遠程訪問,可以修改 Elasticsearch 安裝目錄中的config/elasticsearch.yml文件,去掉network.host的註釋,將它的值改成0.0.0.0,讓任何人都可以訪問,然後重新啓動 Elasticsearch 。

network.host: 0.0.0.0

上面代碼中,"network.host:"和"0.0.0.0"中間有個空格,不能忽略,不然啓動會報錯。線上服務不要這樣設置,要設成具體的 IP。

 

遇到報錯5

     ERROR: [3] bootstrap checks failed [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] [2]: max number of threads [3802] for user [niuhao] 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] [2019-09-11T15:12:16,808][INFO ][o.e.n.Node ] [Ubdrccr] stopping ... [2019-09-11T15:12:16,939][INFO ][o.e.n.Node ] [Ubdrccr] stopped [2019-09-11T15:12:16,940][INFO ][o.e.n.Node ] [Ubdrccr] closing ... [2019-09-11T15:12:16,978][INFO ][o.e.n.Node ] [Ubdrccr] closed

解決方案:

【5.1】

#root身份

vi /etc/security/limits.conf  

#文件末尾添加內容(*也是要加上去)

* soft nofile 65536

* hard nofile 131072

* soft nproc 4096

* hard nproc 4096 

 

【5.2】

#root身份 vi /etc/sysctl.conf     #讓配置永久生效 #文件末尾添加內容

vm.max_map_count=655360

#並執行命令:

sysctl -p

 

【5.3】

 Centos6不支持SecComp,而ES6默認bootstrap.system_call_filter爲true

 vim config/elasticsearch.yml

  禁用:在elasticsearch.yml中配置bootstrap.system_call_filter爲false,注意要在Memory下面: 取消bootstrap.memory_lock的註釋,添加bootstrap.system_call_filter 配置

#注意在":"後面需要空格

bootstrap.memory_lock: false  

bootstrap.system_call_filter: false

視圖工具

下載:https://github.com/360EntSecGroup-Skylar/ElasticHD/releases/

修改權限;

chmod -R 777 ElasticHD

運行:

./ElasticHD -p 127.0.0.1:9800

如果運行提示 exec: "xdg-open": executable file not found in $PATH 報錯

因爲找不到xdg-open命令,安裝xdg-utils之後命令就可以使用了.

yum install xdg-utils

再次執行

./ElasticHD -p 127.0.0.1:9800

提示如下,表示已經運行成功

To view elasticHD console open http://127.0.0.1:9800 in browser

xdg-open: no method available for opening 'http://127.0.0.1:9800'

exit status 3

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章