項(xiàng)目升級(jí),把原先的網(wǎng)站數(shù)據(jù)全部遷移到ElasticSearch中,由于沒有上云浸剩,所有的安裝部署都要做,還好有docker,讓一切變得簡單鳄袍。這里就記錄一下ElasticSearch集群的搭建過程绢要,實(shí)際項(xiàng)目部署了2臺(tái)物理機(jī),每臺(tái)物理機(jī)部署了2個(gè)節(jié)點(diǎn)拗小。
1重罪、拉取ElasticSearch鏡像
docker pull elasticsearch
2、創(chuàng)建數(shù)據(jù)掛載目錄及配置文件
mkdir -p /usr/local/es/{config,data1,data2}
在config 目錄下創(chuàng)建es1.yml es2.yml兩個(gè)配置文件
文件內(nèi)容是:
cluster.name: elasticsearch-cluster #集群唯一名稱哀九,所有節(jié)點(diǎn)一致
node.name: es-node1 #節(jié)點(diǎn)名稱
network.bind_host: 0.0.0.0 #設(shè)置可以訪問的ip,默認(rèn)為0.0.0.0剿配,這里全部設(shè)置通過
network.publish_host: 192.168.1.25 #設(shè)置其它結(jié)點(diǎn)和該結(jié)點(diǎn)交互的ip地址
http.port: 9200 #設(shè)置對(duì)外服務(wù)的http端口,默認(rèn)為9200
transport.tcp.port: 9300 #設(shè)置節(jié)點(diǎn)之間交互的tcp端口阅束,默認(rèn)是9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true #配置該結(jié)點(diǎn)是否有資格被選舉為主結(jié)點(diǎn)(候選主結(jié)點(diǎn))呼胚,為了防止腦裂,配置奇數(shù)個(gè)候選主結(jié)點(diǎn)
node.data: true #配置該結(jié)點(diǎn)是數(shù)據(jù)結(jié)點(diǎn)息裸,用于保存數(shù)據(jù)
discovery.zen.ping.unicast.hosts: ["192.168.1.25:9300","192.168.1.25:9301","192.168.1.26:9300","192.168.1.26:9301"] #集群個(gè)節(jié)點(diǎn)IP地址
discovery.zen.minimum_master_nodes: 2 #自動(dòng)發(fā)現(xiàn)master節(jié)點(diǎn)的最小數(shù)
indices.query.bool.max_clause_count: 10240
3蝇更、調(diào)高JVM線程數(shù)限制數(shù)量
打開/etc/sysctl.conf 文件
vi /etc/sysctl.conf
加入如下內(nèi)容:
vm.max_map_count=262144
啟用配置:
sysctl -p
3沪编、運(yùn)行容器
分別啟動(dòng)本機(jī)及另外一臺(tái)機(jī)器的4個(gè)節(jié)點(diǎn),修改配置文件的相應(yīng)端口和數(shù)據(jù)掛載的目錄即可
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d --restart=always -p 9200:9200 -p 9300:9300 -v /usr/local/es/config/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /usr/local/es/data1:/usr/share/elasticsearch/data --name ES01 elasticsearch:5.6.16
注意生產(chǎn)環(huán)境-Xms256m -Xmx256m的配置簿寂,否則會(huì)發(fā)生內(nèi)存溢出的錯(cuò)誤
搭建成功可在在瀏覽器地址欄訪問http://192.168.1.25:9200/_cat/nodes?pretty 查看各節(jié)點(diǎn)狀態(tài)
192.168.1.26 73 12 0 0.01 0.10 0.16 di - es-node4
192.168.1.26 69 12 0 0.01 0.10 0.16 mdi - es-node3
192.168.1.25 62 6 0 0.42 0.21 0.23 mdi * es-node2
192.168.1.25 79 6 0 0.42 0.21 0.23 mdi - es-node1
4漾抬、elasticsearch-head前端框架的搭建
//拉取鏡像
docker pull mobz/elasticsearch-head:5
//運(yùn)行容器
docker run -d --restart=always -p 9100:9100 --name es-manager mobz/elasticsearch-head:5
//瀏覽器訪問
http://192.168.1.26:9100/