ES叢集安裝6.0
阿新 • • 發佈:2018-11-15
叢集配置
ElasticSearch是一個基於Lucene的搜尋伺服器。它提供了一個分散式多使用者能力的全文搜尋引擎,基於RESTful web介面。Elasticsearch是用Java開發的,並作為Apache許可條款下的開放原始碼釋出,是當前流行的企業級搜尋引擎。設計用於雲端計算中,能夠達到實時搜尋,穩定,可靠,快速,安裝使用方便。
JDK :1.8.0_65 (要求1.6+)
主機數:3(要求3+,且必須是奇數,因為選舉演算法)
伺服器列表:主機名 | IP地址 | JDK | ZooKeeper | myid |
Master | 10.116.33.109 | 1.8.0_65 | server.1 | 1 |
Slave1 | 10.27.185.72 | 1.8.0_65 | server.2 | 2 |
slave2 | 10.25.203.67 | 1.8.0_65 | server.3 | 3 |
Elastic Search 建立使用者
groupadd es #增加es組 useradd es -g es -p elasticpwd #增加es使用者並附加到es組 chown -R es:es elasticsearch-6.1.0 #給目錄許可權
目錄結構
- bin目錄主要是各種啟動命令
- config主要存放配置檔案
- data則是該節點的索引存放目錄
- lib是es依賴的一些依賴包
- logs是日誌存放目錄
- plugins是es強大的外掛系統
環境配置
Lucene生成檔案過程會產生很多小檔案,必須修改Linux核心檔案開啟數量vim /etc/sysctl.conf
減少記憶體交換到磁碟頻率
vm.swappiness = 0
程序開啟最大執行緒數
vm.max_map_count = 262144
生效
sysctl -p
配置Elasticsearch 修改elasticsearch.yml
配置叢集名稱
cluster.name: my_datacenter
配置資料存放路徑,有多個路徑時請用“,”號分隔
path.data: /home/elastic/data
配置日誌檔案存放路徑
path.logs: /home/elastic/logs
配置繫結網絡卡IP
network.host: 10.30.17.131
配置任意兩個以上叢集中的機器節點這樣就可以加入到所有叢集中去,建議至少填寫3個以上
discovery.zen.ping.unicast.hosts: ["eclair", "kitkat", "donut"]
是否啟用壓縮
indices.recovery.compress: true
叢集節點的數量,在啟動機器達到這個數量是系統工作正常,機器少的話建議配置等於機器數
gateway.expected_nodes: 叢集機器數量
在恢復叢集的時候等待滿足expected_nodes數量的最大等待時間
gateway.recover_after_time: 30m
資料恢復節點最低數量,一旦達到要求就開始恢復資料,機器少的話建議配置等於機器數
gateway.recover_after_nodes: 機器叢集數量
系統啟動至少滿足多個機器可被選為Master,建議值n/2 + 1
discovery.zen.minimum_master_nodes: 3
節點型別
預設系統支援關於節點型別的配置:
node.master:true
node.data:true
Master
node.master配置項描述當前機器是否可以被推選為Master節點,當不希望機器被選為Master(可能效能原因或者有更好的機器作為Master),可以選擇排除被選舉為Master的可能性。
node.master:false
同樣如果該機器只允許被提升為Master可以配置如下:
node.master:true
node.data:false
DataNode
DataNode節點只儲存資料,不會選舉為Master,配置如下
node.master:false
node.data:true
客戶端節點
客戶端節點只參與計算,如果系統中有多餘的機器或者有其他系統有多餘的記憶體和CPU不妨多配置幾臺輔助節點,可以讓這些機器提供更好的資料計算、客戶端互動能力。對應配置:
node.master:false
node.data:false
加入叢集是ping其他機器通訊超時時間
discovery.zen.ping_timeout: 30s
啟動叢集
依次在叢集機器中啟動Elasticsearch
bin/elasticsearch -d -p pid
停止系統
kill`cat pid`