如需轉載分享,請标明出處,且不用于盈利為目的,謝謝合作!
[Linux中ELK叢集搭建]
本elk叢集版本采用V5.4.3 搭建elk叢集需要安裝如下軟體 elasticsearch-sql-5.4.3.0 elasticserach-5.4.3 elasticsearch-head es-sql-sit-standalone kibana-5.4.3-linux-x86_64 logstash-5.4.3 npm (事先安裝好,這裡不做介紹) nodejs (事先安裝好,這裡不做介紹) jdk1.8(事先安裝好,這裡不做介紹) |
1 ELK安裝詳解
1.1 ElasticSearch安裝部署
參考文檔
ELK官網:https://www.elastic.co/
ELK官網文檔:https://www.elastic.co/guide/index.html
ELK中文手冊:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
ELK中文社群:https://elasticsearch.cn/
ELK-API :https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/transport-client.html
(1)、下載下傳安裝包
通路elasticSearch官網位址 https://www.elastic.co/
(2)、規劃安裝目錄
(3)、上傳安裝包到指定目錄
(4)、解壓安裝包
tar -zxvf elasticsearch-5.4.3.tar.gz -C /bigdata
(5)、修改配置檔案
進入到es安裝目錄下的config檔案夾中,修改elasticsearch.yml 檔案
擴充:
YML檔案格式是YAML (YAML Aint Markup Language)編寫的檔案格式,YAML是一種直覺的能夠被電腦識别的的資料資料序列化格式,并且容易被人類閱讀,容易和腳本語言互動的。
它的基本文法規則如下。
大小寫敏感 使用縮進表示層級關系 縮進時不允許使用Tab鍵,隻允許使用空格。 縮進的空格數目不重要,隻要相同層級的元素左側對齊即可 # 表示注釋,從這個字元一直到行尾,都會被解析器忽略 |
修改的主要内容:
#配置es的叢集名稱,預設是elasticsearch,es會自動發現在同一網段下的es,如果在同一網段下有多個叢集,就可以用這個屬性來區分不同的叢集。 cluster.name: shly #節點名稱 node.name: node-1 #設定索引資料的存儲路徑 path.data: /bigdata/servers/data #設定日志的存儲路徑 path.logs: /bigdata/servers/logs #設定目前的ip位址,通過指定相同網段的其他節點會加入該叢集中 network.host: 192.168.17.134 #設定對外服務的http端口 http.port: 9200 #設定叢集中master節點的初始清單,可以通過這些節點來自動發現新加入叢集的節點 discovery.zen.ping.unicast.hosts: ["node-1","node-2","node-3"] |
(6)、建立使用者
useradd shly
(7)、賦予權限
Chown -R shly:shly /bigdata
(8)、在非root使用者下運作es
bigdata/elasticsearch-5.4.3/bin/elasticsearch -d
#出現錯誤
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解決辦法:
#使用者最大可建立檔案數太小
sudo vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
#檢視可打開檔案數量
ulimit -Hn
#最大虛拟記憶體太小
sudo vi /etc/sysctl.conf
vm.max_map_count=262144
#檢視虛拟記憶體的大小
sudo sysctl -p
(9)、使用scp拷貝到其他節點
scp -r /bigdata/elasticsearch-5.4.3 [email protected]:/bigdata/elasticsearch-5.4.3
scp -r /bigdata/elasticsearch-5.4.3 [email protected]:/bigdata/elasticsearch-5.4.3
(10)、非root使用者下啟動es
每台機器都起:/bigdata/elasticsearch-5.4.3/bin/elasticsearch -d
(11)、非root使用者下啟動es
用浏覽器通路es所在機器的9200端口
http://192.168.17.134:9200/
1.2 kibana安裝部署
(1)、下載下傳安裝包
通路elasticSearch官網位址 https://www.elastic.co/
(2)、規劃安裝目錄
(3)、上傳安裝包到指定目錄
(4)、解壓安裝包
tar -zxvf kibana-5.4.3-linux-x86_64.tar.gz -C /bigdata
(5)、修改配置檔案
進入到kibana安裝目錄下的config檔案夾中,修改kibana.yml 檔案
server.host: "node1" elasticsearch.url: "http://node-1:9200" |
(6)、授權
chown -R shly:shly /bigdata
- 、啟動kibana
nohup /bigdata/kibana-5.4.3-linux-x86_64/bin/kibana
(8)、通路kibana界面
http://node-1:5601
1.3 logstash安裝部署
(1)、下載下傳安裝包
通路elasticSearch官網位址 https://www.elastic.co/
(2)、規劃安裝目錄
(3)、上傳安裝包到指定目錄
(4)、解壓安裝包
tar -zxvf logstash-5.4.3.tar.gz -C /bigdata
(5)、重命名安裝目錄
mv logstash-6.1.1 logstash
logstash入門案例
Logstash 提供了一個 shell 腳本叫 logstash 友善快速運作,-e意指執行
bin/logstash -e 'input { stdin { } } output { stdout {} }' |
I love you(輸入)經過 Logstash 管道(過濾)變成:
2018-07-02T11:40:31.225Z node-1 I love you(輸出)。
/bigdata/logstash-5.4.3/bin/logstash -f /bigdata/test/logstash-sample.conf --config.reload.automatic &
1.4 elasticsearch-head安裝部署
git clone git://github.com/mobz/elasticsearch-head.git
#将源碼包下載下傳後剪切到/bigdata目錄,并改所屬使用者群組
sudo chown -R xiaoniu:xiaoniu /bigdata/elasticsearch-head
#進入到elasticsearch-head中
cd elasticsearch-head
#編譯安裝
npm install
打開elasticsearch-head-master/Gruntfile.js,找到下面connect屬性,新增hostname: '0.0.0.0',
connect: {
server: {
options: {
hostname: '0.0.0.0',
port: 9100,
base: '.',
keepalive: true
}
}
}
編輯elasticsearch-5.4.3/config/elasticsearch.yml,加入以下内容:
http.cors.enabled: true
http.cors.allow-origin: "*"
#運作服務
npm run start
通路es-head:http://192.168.17.135:9100/
1.5 IK分詞器安裝部署
下載下傳對應版本的插件
https://github.com/medcl/elasticsearch-analysis-ik/releases
首先下載下傳es對應版本的ik分詞器的zip包,上傳到es伺服器上,在es的安裝目錄下有一個plugins的目錄,在這個目錄下建立一個叫ik的目錄
然後将解壓好的内容,拷貝到ik目錄
将ik目錄拷貝到其他的es節點
重新啟動所有的es
1.6 ES SQL安裝部署
./bin/elasticsearch-plugin install https://github.com/NLPchina/elasticsearch-sql/releases/download/5.4.3.0/elasticsearch-sql-5.4.3.0.zip
#然後将解壓到plugins目錄下的内容拷貝到其他es的節點的plugins目錄
1.7 SQL的Server安裝部署
wget https://github.com/NLPchina/elasticsearch-sql/releases/download/5.4.1.0/es-sql-site-standalone.zip
用npm編譯安裝
unzip es-sql-site-standalone.zip
cd site-server/
npm install express --save
修改SQL的Server的端口(我修改為9998)
vi site_configuration.json
啟動服務
node node-server.js &
通路http://192.168.17.135:9998/