Centos 8 下 安裝配置Consul
阿新 • • 發佈:2020-08-02
一、安裝Consul
1. 下載二進位制安裝檔案
下載地址:https://www.consul.io/downloads.html
#安裝wget yum install wget #下載Consul wget https://releases.hashicorp.com/consul/1.8.0/consul_1.8.0_linux_amd64.zip
2.解壓縮安裝包
unzip consul_1.8.0_linux_amd64.zip
3.解壓之後將consul複製到我們的自定義檔案目錄中
#建立目錄 mkdir /usr/local/consul_1.8 #拷貝到新建立的目錄中 cp consul /usr/local/consul_1.8/consul #刪除現在和解壓後文件 rm consul rm consul_1.8.0_linux_amd64.zip
3.啟動服務和客戶端
參考資料:https://www.consul.io/docs/agent/basics.html
為agent機器和server機器 同為192.168.2.171 為例。
#建立data、log目錄 mkdir /usr/local/consul_1.8/data mkdir /usr/local/consul_1.8/log #啟動 /usr/local/consul_1.8/consul agent -server -bootstrap-expect 1 -data-dir=/usr/local/consul_1.8/data/ -node=n1 -bind=192.168.2.171 -client=192.168.2.171 -ui
-server 表示是server模式
-bootstrap-expect=3 表示是叢集中有3臺伺服器 bootstrap該模式node可以指定自己作為leader ,如果是非leader可不加該引數
-data-dir=/tmp/consul 目錄
-node=n2 該伺服器節點名
-bind=127.0.0.1 節點繫結的ip
-ui 非必須 webui的路徑 用web來管理consul
如下圖啟動成功。
開啟瀏覽器訪問http://192.168.2.171:8500/ 出現下圖,啟動成功。
如果不能訪問檢視一下是否防火牆影響,Ctrl + C 退出Consul,關閉防火牆,再重新執行啟動試試。
防火牆相關命令
#檢視狀態 systemctl status firewalld.service #開啟防火牆 systemctl start firewalld.service #關閉防火牆 systemctl stop firewalld.service #開啟防火牆 systemctl enable firewalld.service #禁用防火牆 systemctl disable firewalld.service
二、配置Consul 開機自啟動
1.建立服務指令碼
路徑/usr/lib/systemd/system/,新建一個service命名為,consul.service
cd /usr/lib/systemd/system/ vi consul.service
在vi編輯器,編寫如下寫指令碼:
[Unit] Description=ConsulServer After=network.target [Service] ExecStart=/usr/local/consul_1.8/consul.start.sh KillSignal=SIGTERM [Install] WantedBy=multi-user.target
2.建立啟動指令碼
建立啟動指令碼檔案
cd /usr/local/consul_1.8/ vi consul.start.sh
寫入啟動指令碼
#!/bin/bash /usr/local/consul_1.8/consul agent -server -ui -bootstrap-expect=1 -node=192.168.2.171 -data-dir=/usr/local/consul_1.8/data/ -log-file=/usr/local/consul_1.8/log/consul_log-$(date +%Y-%m-%d--%H-%M) -client=192.168.2.171 -bind=192.168.2.171 -datacenter=dc1 echo "consul startup"
2. 嘗試服務啟動
重新載入配置
systemctl daemon-reload
Consul 啟動
systemctl start consul
檢視服務狀態
systemctl status consul
如果出現下圖,服務啟動成功。
如果失敗,這是因為使用者沒有許可權,而導致無法執行。
用命令chmod 修改一下.sh許可權就可以了,這裡的u 這裡指檔案所有者,+x 新增可執行許可權,*.sh表示所有的sh檔案。
chmod u+x *.sh
3.設定開機自啟動
systemctl enable consul.service