1 環境
IP | Hostname | OS Version | Elasticsearch Version |
---|---|---|---|
192.168.7.41 | es-node1 | Ubuntu 18.04.3 | 7.6.1 |
192.168.7.42 | es-node2 | Ubuntu 18.04.3 | 7.6.1 |
192.168.7.43 | es-node3 | Ubuntu 18.04.3 | 7.6.1 |
禁用swap,同步時間。
2 安裝步驟
2.1 安裝elasticsearch
安裝包下載路徑:https://mirror.tuna.tsinghua.edu.cn/elasticstack/apt/7.x/pool/main/e/elasticsearch/
# dpkg -i elasticsearch-7.6.1-amd64.deb
2.2 編輯elasticsearch服務配置文件
# grep -v "^#" /etc/elasticsearch/elasticsearch.yml
cluster.name: hechunping-es #elasticsearch集羣名稱,集羣中的每個節點必須一致
node.name: es-node1 #elasticsearch節點名稱,集羣中的每個節點必須唯一
path.data: /elk/data #elasticsearch數據存放目錄
path.logs: /elk/logs #elasticsearch日誌存放目錄
bootstrap.memory_lock: true #服務啓動的時候鎖定足夠的內存,防止數據寫入swap
network.host: 192.168.7.41 #監聽IP
http.port: 9200 #監聽端口
discovery.seed_hosts: ["192.168.7.41", "192.168.7.42","192.168.7.43"] #elasticsearch集羣中node節點發現列表
cluster.initial_master_nodes: ["192.168.7.41", "192.168.7.42","192.168.7.43"] #啓動一個全新的elasticsearch集羣時可以被選舉爲master的節點列表
gateway.recover_after_nodes: 2 #elasticsearch集羣中的N個節點啓動後,才允許進行數據恢復處理,默認是1.通常設置爲過半的集羣節點數量,例如,集羣中總共有3個節點,那麼將該值設置爲2,如果在集羣中總共有5個節點,則將該值設置爲3,以此類推。
action.destructive_requires_name: true #設置是否可以通過正則或者_all刪除或者關閉索引庫,默認true表示必須要顯式指定索引庫名稱,生產環境建議設置爲true,刪除索引庫的時候必須指定,否則可能會導致誤刪除。
2.3 配置elasticsearch使用的內存
# vim /usr/lib/systemd/system/elasticsearch.service
[Service]
LimitMEMLOCK=infinity #無限制使用內存
# vim /etc/elasticsearch/jvm.options
-Xms1g
-Xmx1g
將Xmx和Xms設置爲不超過物理RAM的50%,並將它們設置爲一樣大。參考:https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html
2.4 目錄權限設置
# mkdir -p /elk/{data,logs}
# chown -R elasticsearch.elasticsearch /elk/
# ll /elk/ -d
drwxr-xr-x 4 elasticsearch elasticsearch 4096 May 8 17:20 /elk//
注:以上操作在elasticsearch集羣中的每個節點幾乎一樣,需要注意的是監聽地址要改成對應節點的ip,以及node.name需要在集羣中保證唯一。
2.5 啓動elasticsearch集羣中每個節點的elasticsearch服務
# systemctl daemon-reload
# systemctl enable --now elasticsearch
2.6 通過瀏覽器訪問elasticsearch
2.7 查看elasticsearch集羣狀態
# curl -XGET "http://192.168.7.41:9200/_cat/health?v"
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1588933648 10:27:28 hechunping-es green 3 3 0 0 0 0 0 0 - 100.0%
# curl -XGET "http://192.168.7.41:9200/_cat/nodes?v"
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.7.41 15 96 2 0.01 0.05 0.08 dilm - es-node1
192.168.7.42 19 96 2 0.00 0.02 0.00 dilm - es-node2
192.168.7.43 17 95 3 0.05 0.08 0.06 dilm * es-node3
以上信息可以發現elasticsearch集羣的名稱爲hechunping-es,當前狀態爲green,有三個node節點,其中es-node3是master節點。