consul安裝集群搭建_第1頁
consul安裝集群搭建_第2頁
consul安裝集群搭建_第3頁
consul安裝集群搭建_第4頁
consul安裝集群搭建_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Spring Cloud Consul1 consul的安裝和配置1.1 consul agent 命令介紹下載consul_1.0.0_linux_amd64.zip解壓,里面只有一個consul可執(zhí)行文件,其中,consul最常用到的命令是agent 輸入consul agent -h 可以查看幫助。其中常見的參數(shù)解釋如下:l -advertise:通知展現(xiàn)地址用來改變我們給集群中的其他節(jié)點(diǎn)展現(xiàn)的地址,一般情況下-bind地址就是展現(xiàn)地址 l -bootstrap:用來控制一個server是否在bootstrap模式,在一個datacenter中只能有一個server處于bootstrap

2、模式,當(dāng)一個server處于bootstrap模式時,可以自己選舉為raft leader。 l -bootstrap-expect:在一個datacenter中期望提供的server節(jié)點(diǎn)數(shù)目,當(dāng)該值提供的時候,consul一直等到達(dá)到指定sever數(shù)目的時候才會引導(dǎo)整個集群,該標(biāo)記不能和bootstrap公用 l -bind:該地址用來在集群內(nèi)部的通訊,集群內(nèi)的所有節(jié)點(diǎn)到地址都必須是可達(dá)的,默認(rèn)是 l -client:consul綁定在哪個client地址上,這個地址提供HTTP、DNS、RPC等服務(wù),默認(rèn)是 l -config-file:明確的指定要加載哪個

3、配置文件 l -config-dir:配置文件目錄,里面所有以.json結(jié)尾的文件都會被加載 l -data-dir:提供一個目錄用來存放agent的狀態(tài),所有的agent允許都需要該目錄,該目錄必須是穩(wěn)定的,系統(tǒng)重啟后都繼續(xù)存在 l -dc:該標(biāo)記控制agent允許的datacenter的名稱,默認(rèn)是dc1 l -encrypt:指定secret key,使consul在通訊時進(jìn)行加密,key可以通過consul keygen生成,同一個集群中的節(jié)點(diǎn)必須使用相同的key l -join:加入一個已經(jīng)啟動的agent的ip地址,可以多次指定多個agent的地址。如果consul不能加入任何指定

4、的地址中,則agent會啟動失敗,默認(rèn)agent啟動時不會加入任何節(jié)點(diǎn)。 l -retry-join:和join類似,但是允許你在第一次失敗后進(jìn)行嘗試。 l -retry-interval:兩次join之間的時間間隔,默認(rèn)是30s l -retry-max:嘗試重復(fù)join的次數(shù),默認(rèn)是0,也就是無限次嘗試 l -log-level:consul agent啟動后顯示的日志信息級別。默認(rèn)是info,可選:trace、debug、info、warn、err。 l -node:節(jié)點(diǎn)在集群中的名稱,在一個集群中必須是唯一的,默認(rèn)是該節(jié)點(diǎn)的主機(jī)名 l -protocol:consul使用的協(xié)議版本 l

5、 -rejoin:使consul忽略先前的離開,在再次啟動后仍舊嘗試加入集群中。 l -server:定義agent運(yùn)行在server模式,每個集群至少有一個server,建議每個集群的server不要超過5個 l -syslog:開啟系統(tǒng)日志功能,只在linux/osx上生效 l -ui-dir: 提供存放web ui資源的路徑,該目錄必須是可讀的 l -pid-file: 提供一個路徑來存放pid文件,可以使用該文件進(jìn)行SIGINT/SIGHUP(關(guān)閉/更新) agent 要想利用consul提供的服務(wù)實(shí)現(xiàn)服務(wù)的注冊與發(fā)現(xiàn),我們需要建立consul cluster。在consul方案中,每

6、個提供服務(wù)的節(jié)點(diǎn)上都要部署和運(yùn)行consul的agent,所有運(yùn)行consul agent節(jié)點(diǎn)的集合構(gòu)成consul cluster。consul agent有兩種運(yùn)行模式:server和client。這里的server和client只是consul集群層面的區(qū)分,與搭建在cluster之上的應(yīng)用服務(wù)無關(guān)。以server模式運(yùn)行的consul agent節(jié)點(diǎn)用于維護(hù)consul集群的狀態(tài),官方建議每個consul cluster至少有3個或以上的運(yùn)行在server mode的agent,client節(jié)點(diǎn)不限。1.2 consul_1.0.0_linux_amd64安裝我們這里以安裝三個節(jié)點(diǎn)為例

7、,環(huán)境配置如下:7 以server模式運(yùn)行6,2以client模式運(yùn)行1.2.1 配置consul(三個節(jié)點(diǎn)依次按照下面的步驟配置consul)將下載好的安裝包上傳到linux上,存放在/home/user/tools/cluster目錄。1) 把下載的consul_1.0.0_linux_amd64.zip文件解壓unzip -o -d ./ consul_1.0.0_linux_amd64.zip #解壓到當(dāng)前路徑2) 并把解壓后的consul拷貝到/opt/consul目錄,然后把/opt/consul目錄加入到環(huán)境變量。(如

8、果不是root用戶,執(zhí)行下面命名之前需要加上sudo)。mkdir /opt/consulcp consul /opt/consulvim /etc/profile 加入:export PATH=/opt/consul:$PATH source /etc/profile1.2.2 運(yùn)行1:在7節(jié)點(diǎn)上面進(jìn)行cd /opt/consulmkdir dataconsul agent -server -bootstrap -bind= -client=7 -data-dir=data -ui -node=7這樣,就啟動了一個se

9、rver節(jié)點(diǎn)2:在6節(jié)點(diǎn)上面進(jìn)行cd /opt/consulsudo mkdir datasudo consul agent -bind= -client=6 -data-dir=data -node=6 -join=7 -ui如果linux系統(tǒng)的防火墻沒關(guān),可能會報(bào)下面的錯,需要將server跟client的防火墻都關(guān)閉:centos7系統(tǒng):#查看默認(rèn)防火墻狀態(tài)(關(guān)閉后顯示notrunning,開啟后顯示running)firewall-cmd -state 使用如下命令關(guān)閉firewall:sys

10、temctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall開機(jī)啟動3:在另一個linux服務(wù)節(jié)點(diǎn)上面進(jìn)行1.2.3 驗(yàn)證全部節(jié)點(diǎn)啟動完之后訪問7:8500/ 即可查看consul集群的管理頁面在任意節(jié)點(diǎn)執(zhí)行consul members 即可查看集群節(jié)點(diǎn)信息。這里在7節(jié)點(diǎn)執(zhí)行consul members -http-addr=”7:8500”或者consul members -http-addr=

11、7:8500也可用:curl localhost:8500/v1/catalog/nodes等同于瀏覽器訪問7:8500/v1/catalog/nodes:1.2.4 關(guān)閉節(jié)點(diǎn)1、consul leave -http-addr=6:85002、停止agent服務(wù),在第一個終端中,你可以使用ctrl-c來優(yōu)雅的停止agent,如果你停止的是client,當(dāng)你優(yōu)雅的離開后,consul會通知集群中的其他成員你這個節(jié)點(diǎn)以及處于left狀態(tài)。如果你是強(qiáng)制killed掉agent,集群中的其他成員會認(rèn)為你是failed了。當(dāng)成員le

12、aves后,該成員的services和checks會從catalog被移除,當(dāng)成員fails后,該成員的健康狀態(tài)會被簡單的標(biāo)記為critical,但是不會從catalog刪除。consul會自動的嘗試鏈接failed的節(jié)點(diǎn),這樣允許節(jié)點(diǎn)在某些網(wǎng)絡(luò)狀況中恢復(fù),如果節(jié)點(diǎn)是left狀態(tài),則不會再聯(lián)系該節(jié)點(diǎn)。注意:之前版本中默認(rèn)server的http端口是8400,次consul1.0的http是85006:8500/v1/agent/service/consul-provider-client1/7:8500/ui/consul-pro

13、vider-client21.3使用命令注冊服務(wù)1. 創(chuàng)建文件夾/etc/consul.d .d代表有許多配置文件在里面2. 將服務(wù)配置文件寫入文件夾內(nèi)如 $ echo service: name: web, tags: rails, port: 80 /etc/consul.d/web.json3. 重啟consul,并將配置文件的路徑給consul$ consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -config-dir /etc/consul.d4. 查詢ip和端口DNS方式:dig -p

14、8600 web.service.consul SRVHttp方式:curl http:/localhost:8500/v1/catalog/service/web5. 更新通過http api能對service配置文件增刪改查,如果更新完成后,可以通過signup命令來生效consul agent -server -bootstrap -bind= -client=7 -data-dir=data -ui -node=7 -config-dir /etc/consul.dconsul agent -server -bootstrap -b

15、ind= -client=7 -data-dir=data -ui -node=7 -config-dir /etc/consul.dIssue:如果在配置 Consul 的時候,出現(xiàn)了下面錯誤:= Error decoding /etc/consul.d/hwapp_web.json: invalid character looking for beginning of value錯誤的原因是文件編碼問題,需要將 Encoding 修改為ANSI編碼(可以用 TXT 修改)。使用curl操作 K/Vconsul還提供了鍵/值存儲的功能。如 查詢 所有K/Vcurl -v http:/localhost:8500/v1/kv/?recurse保存鍵為web/key2, flags 為42, 值為true的記錄。curl -X PUT -d test http:/localhost:8500/v1/kv/web/key2?flags=42true刪除記錄:curl -X DELETE http:/localhost:8500/v1/kv/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論