MacOS中安裝Consul(啟動及關閉)


PS:非 brew 安裝方式。

官網下載鏈接:https://www.consul.io/downloads.html

懶得去官網下載,或者官網下載速度慢的可以試一下下方藍奏雲鏈接。

藍奏雲v1.9.0下載:https://niceyoo.lanzous.com/iUBgwjyd6xa

1、解壓並放置指定目錄

下載解壓后,將文件放置在 /usr/local/bin 目錄下。

檢測安裝情況:

consul --version

相應截圖如下:

2、啟動及關閉命令

前台啟動命令如下:(前台運行)

consul agent -dev

瀏覽器訪問:http://localhost:8500

如上這種方式是以前台進行的啟動,那么相應的只需要 ctrl + c 即可關閉 consul.

后台啟動命令如下,部分參數根據自己情況修改:(后台運行)

consul agent -server -ui -bootstrap-expect=1 -client=0.0.0.0 -bind 你的ip地址 -data-dir=/狀態數據存儲文件夾/data >> /日志記錄文件夾/logs/consul.log &

-bind:綁定的內部通訊地址,默認0.0.0.0,即所有的本地地址,也可以改為自己的ip地址。

-data-dir:狀態數據存儲用的文件目錄

簡單說一下這兩條命令,其他參數參考后面標題3給出的解釋。

命令執行參考:

consul agent -server -ui -bootstrap-expect=1 -client=0.0.0.0 -bind 192.168.1.100 -data-dir=/Users/niceyoo/workspace/File/consul/data >> /Users/niceyoo/workspace/File/consul/logs/consul.log &

執行命令截圖:

關閉命令:如圖所示,一般執行完就給出 PID 了,直接 kill 掉就可以了。

kill -9 21314

如果沒有給出怎么辦?

查看端口占用情況:lsof -i :8500

搜出來的 PID 結果直接 kill 即可。

3、常用命令解釋

首先前面的 consul 肯定是省略不了了,看一下其他參數:

3.1、常用command命令

  • agent:運行一個consul agent
  • join:將agent加入到consul cluster
  • members:列出consul cluster集群中的members

3.2、常用option選項命令

  • -bootstrap:啟動模式,此模式下,節點可以選舉自己為leader,一個數據中心只能有一個此模式啟動的節點。機群啟動后,新啟動的節點不建議使用這種模式。
  • -bootstrap-expect:設定一個數據中心需要的服務節點數,可以不設置,設置的數字必須和實際的服務節點數匹配。consul會等待直到數據中心下的服務節點滿足設定才會啟動集群服務。初始化leader選舉,不能和bootstr- ap混用。必須配合-server配置。
  • -bind:綁定的內部通訊地址,默認0.0.0.0,即,所有的本地地址,會將第一個可用的ip地址散播到集群中,如果有多個可用的ipv4,則consul啟動報錯。[::]ipv6,TCP UDP協議,相同的端口。防火牆配置。
  • -client:客戶端模式,http dns,默認127.0.0.1,回環令牌網址
  • -config-file:配置文件位置
  • -config-dir:配置文件所在文件夾,會加載其下所有配置文件,.json或者.hcl文件,加載順序為字母表順序;可用配置多個此配置,從而加載多個文件夾,子文件夾的配置不會被加載。
  • -config-format:配置文件格式,配置了,則加載相應個是的文件。不配置,則consul自動識別。
  • -data-dir:狀態數據存儲文件夾,所有的節點都需要。文件夾位置需要不收consul節點重啟影響,必須能夠使用操作系統文件鎖,unix-based系統下,文件夾文件權限為0600,注意做好賬戶權限控制,
  • -datacenter:數據中心名稱,默認dc1,一個數據中心的所有節點都必須在一個LAN中。
  • -dev:開發模式,去掉所有持久化選項,內存服務器模式。
  • -disable-host-node-id:不使用host信息生成node ID,適用於同一台服務器部署多個實例用於測試的情況。隨機生成nodeID
  • -dns-port:v7.0以后,自定義dns 端口,覆蓋默認8600
  • -enable-script-checks:是否允許使用腳本進行健康檢查,默認false,最好配置enable acl
  • -encrypt:consul網絡通訊加密key,base64加密,16比特;consul keygen產生。集群中的每個實例必須提供相同的,只需提供一次,然后會保存到數據文件。重啟自動加載。consul節點啟動后提供,會被忽略。
  • -hcl:添加hcl格式配置,和已有的配置合並。可以使用多個此配置。
  • -http-port:http api端口,覆蓋默認的8500。適用於雲環境指定。
  • -log-file:日志記錄文件,如果沒有提供文件名,則默認Consul-時間戳.log
  • -log-level:日志級別,默認info,包含:trace,debug,info,warn,err;consul monitor監控
  • -log-rotate-bytes:新日志文件生成大小閾值。
  • -log-rotate-rotation:新日志生成時間閾值
  • -join:需要加入的其它節點地址,可以多次使用,加入多個節點。
  • -retry-join:會進行加入重試,適用於認定加入節點最終會正常的情況。ipv4,ipv6,dns
  • -retry-interval:上述,重試間隔,默認30s
  • -retry-max:重試次數,默認0,無限次重試
  • -join-wan, -retry-join-wan, -retry-interval-wan, -retry-max-wan
  • -node:節點名稱,默認主機名
  • -node-id:節點ID,
  • -pid-file:consul 存儲 pid 的文件位置,用於主動發信號。如停止節點,重載配置等。
  • -protocol:使用的協議,升級時使用。consul -v查看協議版本
  • -raft-protocol:使用raft協議版本,默認3
  • -raft-snapshot-threshold:raft執行快照,提交次數閾值。一般不需要設置,io密集型應用可以調高。避免所有的節點同一時間快照。此值過大,會造成相應日志文件變大,節點重啟恢復會耗費更長時間。1.1.0后,默認1- 6384,之前8192.
  • -raft-snapshot-interval:執行快照間隔,影響類似上個配置,1.1.0后默認30s,之前5s。
  • -rejoin:節點會嘗試重新加入集群。
  • -server:服務端節點模式。
  • -server-port:服務端RPC端口,v1.2.2后提供。
  • -non-voting-server:服務節點不參與選舉,接受日志復制,用於橫向擴展,服務查詢請求。(類比zookeeper 觀察者節點)
  • -syslog:linux OSX系統,配置日志輸出到系統日志。
  • -ui:內置web ui界面。
  • -ui-dir:web ui 資源文件夾,使用此配置,則不需也不能使用再-ui配置-

4、Consul 中默認的端口號

  1. 服務器RPC(默認8300):由服務器用來處理來自其他代理的傳入請求,僅限TCP。
  2. Serf LAN(默認8301):用來處理局域網中的八卦。所有代理都需要,TCP和UDP。
  3. Serf WAN(默認8302):被服務器用來在WAN上閑聊到其他服務器,TCP和UDP。從Consul 0.8開始,建議通過端口8302在LAN接口上為TCP和UDP啟用服務器之間的連接,以及WAN加入泛濫功能。
  4. HTTP API(默認8500):被客戶用來與HTTP API交談,僅限TCP。
  5. DNS接口(默認8600):用於解析DNS查詢,TCP和UDP。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM