現(xiàn)狀描述目前使用的是單節(jié)點部署的es ,,存在單點隱患,性能瓶頸,,數(shù)據(jù)冗余等問題,,所以需要集群模式部署。 解決方案停止業(yè)務(wù)寫入,,把單點es 數(shù)據(jù)壓縮,。新建一個節(jié)點配置為單節(jié)點運(yùn)行,把數(shù)據(jù)復(fù)制到新節(jié)點的data 目錄下面,,啟動節(jié)點查看數(shù)據(jù)是否正常,,然后再逐步一臺一臺加入,最終擴(kuò)展為三節(jié)點的集群,。一個master,,兩個node ,三個節(jié)點都是數(shù)據(jù)節(jié)點,。 ? 操作步驟單點es 操作1,、通知相關(guān)業(yè)務(wù)人員停止數(shù)據(jù)寫入,通過9200 查看數(shù)據(jù)分片狀態(tài)是否正常,,若正常則停止es 服務(wù),。 2、打包壓縮數(shù)據(jù)? cd /data_es/es/data&&tar? -zcf? ?data.tgz? ?node 3,、把壓縮包傳輸?shù)叫鹿?jié)點相應(yīng)目錄下 新節(jié)點操作一,、新建一個節(jié)點1、新建一個單節(jié)點,,配置如下 cat?es-1/config/elasticsearch.yml cluster.name: "docker-cluster-es-1" ######## Start OpenDistro for Elasticsearch Security Demo Configuration ######## ? 2,、把壓縮包解壓到 es-1/data/目錄下面 3、啟動節(jié)點啟動腳本如下 #!/bin/bash docker stop aws-es-1 二,、加入第二個節(jié)點1、更改節(jié)點1的配置 elasticsearch.yml 添加內(nèi)容如下,,第一個ip 是待加入的新節(jié)點IP,,第二個是節(jié)點1的IP discovery.zen.ping.unicast.hosts: ["172.31.9.27:9900", "172.31.6.81:9900"] 2、新加入節(jié)點配置如下(data logs 等目錄為空) cluster.name: "docker-cluster-es-1"? ? ? ? ? ? ? ? ? ? ? ? #集群名字必須都一樣 ######## Start OpenDistro for Elasticsearch Security Demo Configuration ######## 3,、啟動節(jié)點2,重啟節(jié)點1 4,、通過head查看分配狀態(tài),,待所有數(shù)據(jù)分配完畢加入第三個節(jié)點 三、加入第三個節(jié)點? ? ??1,、新節(jié)點配置如下 cluster.name: "docker-cluster-es-1" ######## Start OpenDistro for Elasticsearch Security Demo Configuration ######## 2,、第二節(jié)點配置 ? 3、第三節(jié)點配置變動如下 discovery.zen.ping.unicast.hosts: ["172.31.9.27:9900", "172.31.6.81:9900", "172.31.12.145:9900"]? ? ? ? #加入新節(jié)點的IP ? 4,、第一個節(jié)點配置變更同上,。 5、重啟節(jié)點一,,二,啟動節(jié)點三 6,、查看數(shù)據(jù)分配狀態(tài) ? 維護(hù)調(diào)優(yōu)1,、jvm 配置?堆內(nèi)存最大最小值要相同,最大配置不能超過32G,,一般配置為宿主機(jī)的內(nèi)存的一半(剩余的留給lucen),配置地點?config/jvm.options ? 2,、節(jié)點宕機(jī)?集群中有一臺節(jié)點宕機(jī)或者網(wǎng)絡(luò)故障時,無論此節(jié)點是master 還是node 都沒關(guān)系,,數(shù)據(jù)分片有 Unassigned狀態(tài),,過段時間,就會把故障節(jié)點數(shù)據(jù)調(diào)度到其它兩個節(jié)點,,而后數(shù)據(jù)分片狀態(tài)恢復(fù)正常,。注意,如果故障節(jié)點不能夠短時間恢復(fù),需要更改現(xiàn)有兩個節(jié)點的配置為 discovery.zen.minimum_master_nodes: 1 ,,這樣現(xiàn)有兩個節(jié)點其中一個故障,,集群依然存活,否則discovery.zen.minimum_master_nodes: 2 的時候,,要求最少存在兩個節(jié)點且具有選舉為master 的資格的節(jié)點,。 ? 當(dāng)只能正常運(yùn)行兩個節(jié)點的時候,如果其中一個掛了(無論主備),,只剩下唯一的一個節(jié)點,,discovery.zen.minimum_master_nodes: 1 的配置下,集群可以啟動,,會有Unassigned分片,,且在故障節(jié)點無法恢復(fù)的前提下,此狀態(tài)分片不會消失,,原因:集群的副本數(shù)量為1,,也就是存在兩份相同數(shù)據(jù),如果只有一個節(jié)點存活,,那么兩份相同數(shù)據(jù)無法分配給一個節(jié)點,,所以就會有一個數(shù)據(jù)處于Unassigned,知道有新的節(jié)點加入集群,,無論此節(jié)點是之前宕機(jī)的哪個節(jié)點,。 ? 3、調(diào)試集群創(chuàng)建索引 kzf? ?:? ?curl -XPUT 'http://localhost:9800/kzf?pretty' 來源:https://www./content-4-735701.html |
|