1.服務器信息
192.168.195.136 master
192.168.195.137 slave1
192.168.195.139 slave2
2.主要配置
第一步
上傳es安裝包到master節點的指定的目錄,這里安裝版本是elasticsearch-5.3.3
解壓安裝包
tar -zxvf elasticsearch-5.3.3.tar.gz
第二步
在解壓的安裝包下,進入配置文件目錄,修改配置,vim config/elasticsearch.yml
,只需要關注以下幾個配置
cluster.name: my-es #集群名稱
node.name: master #當前服務器的ip或hostname
path.data: /home/bigdata/software/elasticsearch-5.3.3/data #數據存放的路徑,目錄可以多個,以,分隔
network.host: 192.168.195.136 #當前服務器的IP
http.port: 9200 #http端口
discovery.zen.ping.unicast.hosts: ["master", "slave1", "slave2"] #集群全部節點IP或hostname
第三步
創建數據存放目錄
mkdir -p /home/bigdata/software/elasticsearch-5.3.3/data
第四步
修改jvm配置:vim config/jvm.options
-Xms1g
-Xmx1g
這里的修改最好是服務器總內存的一半
第五步
將master節點上配置好的scp到其他節點並修改對應的node.name和network.host
scp -r elasticsearch-5.3.3 root@slave1:/home/bigdata/software/
scp -r elasticsearch-5.3.3 root@slave2:/home/bigdata/software/
slave1節點對應的node.name:slave1,network.host:192.168.195.137
slave2節點對應的node.name:slave2,network.host:192.168.195.139
第六步
由於elasticsearch5版本的啟動需要非root用戶,所以要創建普通用戶,修改elasticsearch目錄權限,
在root用戶下到elasticsearch目錄的上一層目錄執行下面命令
chown -R esuser:esuser elasticsearch-5.3.3
注意每個節點都需要
3.啟動及部署不成功排錯
按上面布置配置好后,啟動es集群,在es目錄下執行,只能用esuser用戶執行啟動腳本
sh bin/elasticsearch
注意每個節點都需要執行上面的命令
如果出現以下信息,證明當前節點執行成功
也可以通過http服務驗證,瀏覽器輸入http://nodeIp:9200/
說明:出現以上內容則證明該節點的elasticsearch安裝成功。如果cluster_uuid的值為“na”,表示沒有安裝成功。
啟動不成功排錯
在配置過程中,只要創建了對應的目錄和配置的端口沒有被占用的情況下不會出現問題,可能出現的問題是下面截圖紅色表紅處
第一個問題是因為當前linux文件讀寫的並發數太低,解決方案如下:
查看並發數:ulimit -Hn
修改並發數:ulimit -Hn 65536
第二個問題是因為elasticsearch用戶擁有的內存權限太小,至少需要262144,解決方案如下:
切換到root用戶
執行命令:
sysctl -w vm.max_map_count=262144
重啟服務器
查看結果:
sysctl -a|grep vm.max_map_count
顯示:
vm.max_map_count = 262144
4.客戶端工具cerebro部署安裝
將cerebro對應的安裝包拷貝到服務器的指定目錄,這里只需要選一個節點安裝就可以了
下載地址:https://github.com/lmenezes/cerebro/releases
解壓:tar -zxvf cerebro-0.8.1.tgz
在解壓后的當前目錄,進去配置文件vim conf/application.conf
,只需要配置如下信息:
hosts = [
#{
# host = "http://localhost:9200"
# name = "Some Cluster"
#},
# Example of host with authentication
{
host = "http://master:9200"
# name = "Secured Cluster"
auth = {
username = "admin"
password = "admin"
}
}
]
其他的可以忽略,配置好后啟動,在cerebro當前目錄執行
sh bin/cerebro -Dhttp.port=9001
注意:
啟動之前es集群最好的啟動成功狀態
最好指定端口,默認端口是9000,如果es集群和hadoop共用,則會出現端口沖突導致啟動不成功
頁面訪問驗證,地址http://master:9001/,如果結果入下面,就是正確的