elasticsearch集羣部署,及採坑問題

1,官網下載安裝包html

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

tar -zxvf elasticsearch-6.5.4.tar.gzes6

3,重命名bootstrap

mv elasticsearch-6.2.1  elasticsearchvim

4,建立數據存放路徑(應將設置配置爲在Elasticsearch主目錄以外定位數據目錄,以便在不刪除數據的狀況下刪除主目錄!)跨域

mkdir -p /home/data/es數組

5,創建用戶並受權(es不能用root運行)服務器

groupadd es 網絡

useradd es -g esapp

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

 

原文出處:https://www.cnblogs.com/daxiangfei/p/10245751.html

相關文章
相關標籤/搜索