- 單機版 - linux
- 下載:wget https://releases.hashicorp.com/consul/1.3.0/consul_1.3.0_linux_amd64.zip
- 解壓:unzip consul_1.3.0_linux_amd64.zip -d /usr/local
- 添加環境變量 vi /etc/profile
- export CONSUL_HOME=/usr/local/bin/consul
- export PATH=$PATH:CONSUL_HOME
- 退出保存, source /etc/profile 使修改生效
- 驗證: consul version,顯示版本
- 如下,則正常
- 開發端口或者關閉防火牆
- 讓防火牆開放端口;
- 可以使用firewall-cmd --zone=public --add-port=8500/tcp --permanent,然後firewall-cmd --reload 使其生效;
- 也可以用iptables,vi /etc/sysconfig/iptables,添加 A INPUT -m state –state NEW -m tcp -p tcp –dport 8500 -j ACCEPT,保存退出,重啓 service iptables restart
- 讓防火牆開放端口;
- 啓動:
- 如果,你只是用consul單機作爲服務,開啓服務端即可;
- 啓動服務端:
- consul agent -server -client=0.0.0.0 -bind=192.168.1.4 -bootstrap-expect=3 -bootstrap -ui -data-dir=/usr/local/consuldata -node=consul_study > /dev/null 2>&1 &
- > /dev/null 2>&1 & 表示把該命令設置爲後臺啓動,防止終端關閉,consul退出,也可以不加
- -node 表示節點在web ui中顯示的名稱
- -data-dir 表示指定數據的存放目錄(該目錄必須存在)
- -bootstrap-expect=3 表示server集羣最低節點數爲3,低於這個值將工作不正常(注:類似zookeeper一樣,通常集羣數爲奇數,方便選舉,consul採用的是raft算法)
- -client 指定客戶端訪問的ip(consul有豐富的api接口,這裏的客戶端指瀏覽器或調用方),0.0.0.0表示不限客戶端ip
- -bind 表示綁定到哪個ip(有些服務器會綁定多塊網卡,可以通過bind參數強制指定綁定的ip),就是consul 運行的機器,作爲服務器
- -server 表示以服務端身份啓動
- 開啓客戶端:
- 如果只是作爲單機使用,可以不開啓
- consul agent -client=0.0.0.0 -data-dir=/data/application/consul_data/ -node=client1 -ui > /dev/null 2>&1 &
- 驗證開啓是否成功:
- http://192.168.1.4:8500/,顯示如下,則開啓成功
- 如果開啓失敗,首先驗證你的服務是否可以訪問:
- 驗證端口是否開放: 默認端口爲8500
- 在windows 下,命令行中,使用telnet xxxx 8500
- 顯示,如下,則正常
- 驗證端口是否開放: 默認端口爲8500
- 總結問題:
- 一、服務註冊不成功,如下
- 使用http://192.168.1.4:8500/v1/agent/checks,查看原因
- 樓主,是在虛擬機centos下安裝consul,windows下運行項目,Output 中的地址是 本地ipv4的地址,我綁定的consul的服務端的地址是192.168.1.4,通過橋連接,主機可以訪問虛擬機,但是虛擬機無法訪問主機,所以報錯連接超時。
- 需要注意的是: 運行項目的地址,必須和consul服務端的地址是可以互相訪問的。
- 二、刪除服務的問題
- 不可用服務如下:
- 進入詳情,獲取服務id
- 在consul ,服務下,運行如下命令: (xxxx-9181爲服務id)
- curl --request PUT http://127.0.0.1:8500/v1/agent/service/deregister/xxxx-9181
- 一、服務註冊不成功,如下
服務發現和註冊----consul-01
consul
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.