測(cè)試環(huán)境介紹
我們搭建一個(gè)一主兩從的集群環(huán)境,由于是測(cè)試虛擬機(jī),我這邊只在一臺(tái)服務(wù)器上來演示主從環(huán)境。
操作系統(tǒng) | 服務(wù)器ip | 端口號(hào) | 是否主節(jié)點(diǎn) |
---|---|---|---|
centos7 | 192.168.43.96 | 9200 | 是 |
centos7 | 192.168.43.96 | 9400 | 否 |
centos7 | 192.168.43.96 | 9500 | 否 |
一、主節(jié)點(diǎn)搭建
環(huán)境搭建詳見https://blog.51cto.com/2262805/2441988文章,
elasticsearch.yml配置文件說明:
配置說明:
cluster.name 集群名稱,相同名稱為一個(gè)集群
node.name 節(jié)點(diǎn)名稱,集群模式下每個(gè)節(jié)點(diǎn)名稱唯一
node.master 當(dāng)前節(jié)點(diǎn)是否可以被選舉為master節(jié)點(diǎn),是:true、否:false
node.data 當(dāng)前節(jié)點(diǎn)是否用于存儲(chǔ)數(shù)據(jù),是:true、否:false
path.data 索引數(shù)據(jù)存放的位置
path.logs 日志文件存放的位置
bootstrap.memory_lock 需求鎖住物理內(nèi)存,是:true、否:false
bootstrap.system_call_filter SecComp檢測(cè),是:true、否:false
network.host 監(jiān)聽地址,用于訪問該es
network.publish_host 可設(shè)置成內(nèi)網(wǎng)ip,用于集群內(nèi)各機(jī)器間通信
http.port es對(duì)外提供的http端口,默認(rèn) 9200
discovery.seed_hosts es7.x 之后新增的配置,寫入候選主節(jié)點(diǎn)的設(shè)備地址,在開啟服務(wù)后可以被選為主節(jié)點(diǎn)
cluster.initial_master_nodes es7.x 之后新增的配置,初始化一個(gè)新的集群時(shí)需要此配置來選舉master
http.cors.enabled 是否支持跨域,是:true,在使用head插件時(shí)需要此配置
http.cors.allow-origin "*" 表示支持所有域名
我們要只需要在之前的基礎(chǔ)上,打開配置文件elasticsearch.yml,添加如下三個(gè)配置:
cluster.name: my-es #集群名稱
node.name: node-master #主節(jié)點(diǎn)名稱
node.master: true #當(dāng)前節(jié)點(diǎn)是否可以被選舉為master節(jié)點(diǎn),是:true、否:false
discovery.seed_hosts: ["192.168.43.96", "192.168.43.96", "192.168.43.96"]#寫入候選主節(jié)點(diǎn)的設(shè)備地址,在開啟服務(wù)后可以被選為主節(jié)點(diǎn)
cluster.initial_master_nodes: ["node-1"] #初始化一個(gè)新的集群時(shí)需要此配置來選舉master
修改完配置文件之后,只需要重新服務(wù)即可。
二、從節(jié)點(diǎn)配置
1.從節(jié)點(diǎn)1配置
我們?cè)?mnt目錄,解壓之前下載的elasticsearch-7.3.0-linux-x86_64.tar.gz,并命名為elasticsearch2,并授權(quán)
chown -R testesuser:testes /mnt/elasticsearch2
進(jìn)入/mnt/elasticsearch2目錄config文件夾,修改elasticsearch.yml配置文件并保存。
network.host: 192.168.43.96
http.port: 9400
discovery.seed_hosts: ["192.168.43.96", "192.168.43.96", "192.168.43.96"]
cluster.initial_master_nodes: ["node-1"]
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: my-es
node.name: node-slave1
cd bin/
./elasticsearch #啟動(dòng)從環(huán)境1 一定要用testesuser用戶來執(zhí)行
2.從節(jié)點(diǎn)二配置
在/mnt目錄下,繼續(xù)解壓之前的包并命名為為elasticsearch3,并授權(quán)
`chown -R testesuser:testes /mnt/elasticsearch3`
進(jìn)入/mnt/elasticsearch3目錄config文件夾,修改elasticsearch.yml配置文件并保存。
和上面的配置基本一致,只是 http.port改為9500, node.name改為node-slave2
cd bin/
./elasticsearch #啟動(dòng)從環(huán)境2 一定要用testesuser用戶來執(zhí)行
三、Elasticsearch head驗(yàn)證主從環(huán)境
啟動(dòng)完成后,我們用Elasticsearch head查看,主從環(huán)境配置正常。
從圖中可以看出五星代表是主節(jié)點(diǎn),圓代表是從節(jié)點(diǎn)。
四、異常處理
因?yàn)槲覀兣渲昧酥鲝沫h(huán)境,單獨(dú)啟動(dòng)一個(gè)主,不啟動(dòng)從,一直會(huì)出現(xiàn)此錯(cuò)誤
master not discovered or elected yet, an election requires at least 2 nodes with ids from [X2P0yBfUSHSyGgjWWvBYeg, ZFIHple7RSijNOrRYIlPbQ, Xoew_otiTimsat1dgsYTDQ], have discovered,
只是因?yàn)槲覀冎粏?dòng)了主,從沒有啟動(dòng),我們只需要到從的啟動(dòng)路徑啟動(dòng)從即可。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。