您好,登錄后才能下訂單哦!
本篇內容主要講解“zookeeper偽集群的安裝和配置方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“zookeeper偽集群的安裝和配置方法”吧!
zookeeper 安裝 配置
mkdir -p /opt/zookeeper
如果是win 直接運行bin下的.cmd后綴啟動文件 如果是linux和mac直接運行bin下的.sh啟動文件
centos7安裝有wget安裝和從官網下載安裝,wget比較慢,建議從官網下載安裝。 官網地址 https://zookeeper.apache.org/ 下載記得選http鏡像別的鏡像下不下來, 選擇鏡像查看-> https://jingyan.baidu.com/album/335530dafd4b3619cb41c3d8.html 教程
zookeeper安裝不區分win、linux、mac 直接解壓。下載帶bin的是只有class文件的,不帶bin的是有java文件的都行建議下帶bin的,文件小。
zookeeper安裝包解壓配置啟動就能用,創建/opt/zookeeper存放解壓后的zookeeper
配置偽集群
cp -a zoo_sample.cfg zoo.cfg
mkdir -p /root/kch/zkw/zookeeper/data mkdir -p /root/kch/zkw/zookeeper/logs
# The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/root/kch/zkw/zookeeper/data dataLogDir=/root/kch/zkw/zookeeper/logs # the port at which the clients will connect clientPort=2181 # the maximum number of client connections. # increase this if you need to handle more clients #maxClientCnxns=60 # ▽ # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # Purge task interval in hours # Set to "0" to disable auto purge feature #autopurge.purgeInterval=1
tickTime=2000 dataDir=/root/kch/zkw/zookeeper/data dataLogDir=/root/kch/zkw/zookeeper/logs clientPort=2181
參數說明:
bin/zkServer.sh start
Server啟動之后,查看zookeeper狀態:
bin/zkServer.sh status
然后就可以啟動client連接server了, 執行腳本:
bin/zkCli.sh -server localhost:2181
偽集群模式 所謂偽集群, 是指在單臺機器中啟動多個zookeeper進程, 并組成一個集群. 以啟動3個zookeeper進程為例.
將zookeeper的目錄拷貝2份:
|--zookeeper0 |--zookeeper1 |--zookeeper2
更改zookeeper0/conf/zoo.cfg文件為:
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/root/kch/zkw/zookeeper0/data dataLogDir=/root/kch/zkw/zookeeper0/logs clientPort=2180 server.0=127.0.0.1:8880:7770 server.1=127.0.0.1:8881:7771 server.2=127.0.0.1:8882:7772
新增了幾個參數, 其含義如下:
參照zookeeper0/conf/zoo.cfg, 配置zookeeper1/conf/zoo.cfg, 和zookeeper2/conf/zoo.cfg文件. 只需更改dataDir, dataLogDir, clientPort參數即可.
在之前設置的dataDir中新建myid文件, 寫入一個數字, 該數字表示這是第幾號server. 該數字必須和zoo.cfg文件中的server.X中的X一一對應. 如果是windows可以創建myid.txt然后里邊寫數字,最后再修改文件格式去掉后綴 example:
echo 0 > /root/kch/zkw/zookeeper0/data/myid
/root/kch/zkw/zookeeper0/data/myid文件中寫入0 /root/kch/zkw/zookeeper1/data/myid文件中寫入1 /root/kch/zkw/zookeeper2/data/myid文件中寫入2 分別進入/opt/zookeeper/zookeeper0/bin, /opt/zookeeper/zookeeper1/bin, /opt/zookeeper/zookeeper2/bin三個目錄, 啟動server. 任意選擇一個server目錄, 啟動客戶端:
bin/zkCli.sh -server localhost:2180
initLimit: zookeeper集群中的包含多臺server, 其中一臺為leader, 集群中其余的server為follower. initLimit參數配置初始化連接時, follower和leader之間的最長心跳時間. 此時該參數設置為5, 說明時間限制為5倍tickTime, 即5*2000=10000ms=10s.
syncLimit: 該參數配置leader和follower之間發送消息, 請求和應答的最大時間長度. 此時該參數設置為2, 說明時間限制為2倍tickTime, 即4000ms.
server.X=A:B:C 其中X是一個數字, 表示這是第幾號server. A是該server所在的IP地址. B配置該server和集群中的leader交換消息所使用的端口. C配置選舉leader時所使用的端口. 由于配置的是偽集群模式, 所以各個server的B, C參數必須不同.
tickTime: zookeeper中使用的基本時間單位, 毫秒值. dataDir: 數據目錄. 可以是任意目錄. dataLogDir: log目錄, 同樣可以是任意目錄. 如果沒有設置該參數, 將使用和dataDir相同的設置. clientPort: 監聽client連接的端口號. 至此, zookeeper的單機模式已經配置好了. 啟動server只需運行腳本:
配置zoo.cfg
zoo.cfg內容
創建zookeeper的數據存放目錄和日志目錄
解壓到合適目錄. 進入zookeeper目錄下的conf子目錄, 創建zoo.cfg:
集群模式
tickTime=2000 initLimit=5 syncLimit=2 dataDir=/root/kch/zkw/zookeeper/data dataLogDir=/root/kch/zkw/zookeeper/logs clientPort=2180 server.0=10.1.39.43:2888:3888 server.1=10.1.39.47:2888:3888 server.2=10.1.39.48:2888:3888
10.1.39.43 server的myid為0 10.1.39.47 server的myid為1 10.1.39.48 server的myid為2
示例中部署了3臺zookeeper server, 分別部署在10.1.39.43, 10.1.39.47, 10.1.39.48上. 需要注意的是, 各server的dataDir目錄下的myid文件中的數字必須不同.
集群模式的配置和偽集群基本一致. 由于集群模式下, 各server部署在不同的機器上, 因此各server的conf/zoo.cfg文件可以完全一樣. 下面是一個示例:
到此,相信大家對“zookeeper偽集群的安裝和配置方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。