elasticsearch 完全分散式安裝
1. 首先master節點的配置,修改elasticsearch的配置檔案,config/elasticsearch.yml;新增如下配置
cluster.name 指定叢集的名稱,node.name指定節點的名稱,node.master: true指定該節點為主節點。
elasticsearch服務
2. 把當前主機的elasticsearch壓縮包遠端拷貝到三臺機器
scp elasticsearch-6.1.2.tar.gz [email protected]:/usr/local/bigdata/
scp elasticsearch-6.1.2.tar.gz [email protected]
scp elasticsearch-6.1.2.tar.gz [email protected]:/usr/local/bigdata/
我這裡安裝有五臺虛擬機器,每個主機都修改了主機名
[[email protected] ~]# cat /etc/hostname
master
hosts檔案配置的有主機名和IP地址的對映
[[email protected] ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.129.3 master
192.168.129.4 master2
192.168.129.5 slave1
192.168.129.6 slave2
192.168.129.7 slave3
[[email protected] ~]#
3. slave主機的安裝配置
network.host: 0.0.0.0
http.port: 9200
cluster.name: skynet
node.name: slave1
discovery.zen.ping.unicast.hosts: ["master"]
注意network.host的修改;http.port還是9200,因為是完全分散式,不存在埠衝突的問題。
4. 關於elasticsearch啟動的報錯問題,這個真的很鬱悶,啟動服務需要修改那麼多配置資訊,但是Mac OS就不用修改。
我的虛擬機器環境是centos7,各種異常;大家可以參考網上的配置修改。
4.1 不能用root使用者啟動,建立一個普通使用者,並授權
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch
chown -R elsearch /usr/local/bigdata/elasticsearch-6.1.2 注意授權
4.2 ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]
解決:切換到root使用者,編輯limits.conf 新增類似如下內容
vi /etc/security/limits.conf
新增如下內容:
* soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096 |
4.3 max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
解決:切換到root使用者修改配置sysctl.conf
vi /etc/sysctl.conf |
新增下面配置:
vm.max_map_count=655360 |
並執行命令:
[[email protected] bin]# sysctl -p vm.max_map_count = 655360 |
然後,重新啟動elasticsearch,即可啟動成功。
4.4 系統centos7.1可以訪問127.0.0.1:9200,但不能訪問192.168.29.128:9200 後面ip就是127.0.0.1的區域網ip
修改配置檔案 config/elasticsearch.yml network.host: 0.0.0.0 |
如果大家遇到其他問題,可以自己百度一下;我的解決以上問題可以啟動了。
5. 啟動三個slave,最後通過head外掛看到的叢集狀態為:
至此,elasticSearch的完全分散式安裝完成;有問題留言,共同討論。