elasticsearch集群部署,及采坑問題


1,官網下載安裝包

2,解壓安裝包到指定的目錄

tar -zxvf elasticsearch-6.5.4.tar.gz

3,重命名

mv elasticsearch-6.2.1  elasticsearch

4,創建數據存放路徑(應將設置配置為在Elasticsearch主目錄之外定位數據目錄,以便在不刪除數據的情況下刪除主目錄!)

mkdir -p /home/data/es

5,建立用戶並授權(es不能用root運行)

groupadd es 

useradd es -g es

passwd es

chown -R es.es /home/elasticsearch /home/data/es

6,修改elasticsearch配置文件

vi /home/elasticsearch/config/elasticsearch.yml 將配置文件以下內容進行修改:

#集群的名稱
cluster.name: es6.2
#節點名稱,其余兩個節點分別為node-2 和node-3
node.name: node-1
#指定該節點是否有資格被選舉成為master節點,默認是true,es是默認集群中的第一台機器為master,如果這台機掛了就會重新選舉master
node.master: true

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

#允許該節點存儲數據(默認開啟)
node.data: true
#索引數據的存儲路徑
path.data: /home/data/es
#日志文件的存儲路徑
path.logs: /home/data/es/logs
#設置為true來鎖住內存。因為內存交換到磁盤對服務器性能來說是致命的,當jvm開始swapping時es的效率會降低,所以要保證它不swap
bootstrap.memory_lock: true
#綁定的ip地址
network.host: 0.0.0.0
#設置對外服務的http端口,默認為9200
http.port: 9200
# 設置節點間交互的tcp端口,默認是9300
transport.tcp.port: 9300
#Elasticsearch將綁定到可用的環回地址,並將掃描端口9300到9305以嘗試連接到運行在同一台服務器上的其他節點。
#這提供了自動集群體驗,而無需進行任何配置。數組設置或逗號分隔的設置。每個值的形式應該是host:port或host
#(如果沒有設置,port默認設置會transport.profiles.default.port 回落到transport.tcp.port)。
#請注意,IPv6主機必須放在括號內。默認為127.0.0.1, [::1]
discovery.zen.ping.unicast.hosts: ["192.168.8.101:9300", "192.168.8.103:9300", "192.168.8.104:9300"]
#如果沒有這種設置,遭受網絡故障的集群就有可能將集群分成兩個獨立的集群 - 分裂的大腦 - 這將導致數據丟失

discovery.zen.minimum_master_nodes: 3

# 是否支持跨域

http.cors.enabled: true

# *表示支持所有域名

http.cors.allow-origin: "*"

7,啟動

su es 

/home/elasticsearch/bin/elasticsearch -d

8,坑問題

啟動發現報錯:

解決方法:

su root

vim /etc/security/limits.conf

* soft nofile 65536 

* hard nofile 65536

 * soft nproc 2048

 * hard nproc 4096

vi /etc/sysctl.conf

vm.max_map_count=655360,修改完之后需重新啟動機器,臨時修改

執行命令:

sysctl -w vm.max_map_count=262144

查看結果:

sysctl -a|grep vm.max_map_count

顯示:

vm.max_map_count = 262144

改完之后需要推出終端,重新連接,然后再次啟動es

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM