Zookeeper 安裝和配置
Zookeeper的安裝和配置十分簡單,既可以配置成單機模式,也可以配置成叢集模式。
修改其配置檔案:
Server啟動之後,就可以啟動client連線server了, 執行指令碼:
# bin/zkCli.sh -server localhost:2181
可以為zookeeper增加其記憶體,只需要編輯bin目錄下的zkEnv.sh,在檔案的底部增加如下設定:
export JVMFLAGS="-Xms1024m -Xmx2048m $JVMFLAGS"
# cp -R zookeeper1 zookeeper2
# cp -R zookeeper1 zookeeper3
修改配置檔案裡面的data目錄(引數dataDir)/clientPort,並增加如下配置:
# vi zookeeper1/conf/zoo.cfg
dataDir=/opt/zookeeper1/data
clientPort=2181
單機模式
下載zookeeper的安裝包或wget方式下載,然後解壓並複製到合適目錄,進入zookeeper目錄下的conf子目錄:
# wget
# tar zxvf zookeeper-3.3.6.tar.gz
# mv zookeeper-3.3.6 zookeeper1
# cd /opt/zookeeper1
# mkdir -p data
# cp conf/zoo_sample.cfg conf/zoo.cfg
修改其配置檔案:
# vi conf/zoo.cfg
tickTime=2000 #心跳時間
initLimit=5
syncLimit=2
dataDir=/opt/zookeeper1/data #資料儲存目錄 clientPort=2181 #客戶端連線埠
引數說明:
- tickTime: zookeeper中使用的基本時間單位,毫秒值。
- initLimit: zookeeper叢集中的包含多臺server, 其中一臺為leader, 叢集中其餘的server為follower。initLimit引數配置初始化連線時, follower和leader之間的最長心跳時間。 此時該引數設定為5, 說明時間限制為5倍tickTime, 即5*2000=10000ms=10s。
-
syncLimit: 該引數配置leader和follower之間傳送訊息, 請求和應答的最大時間長度。 此時該引數設定為2, 說明時間限制為2倍tickTime, 即4000ms。
- dataDir: 資料目錄,可以是任意目錄。
- dataLogDir: log目錄,同樣可以是任意目錄。如果沒有設定該引數,將使用和dataDir相同的設定。
- clientPort: 監聽client連線的埠號。
至此, zookeeper的單機模式已經配置好。啟動server只需執行指令碼
# bin/zkServer.sh startServer啟動之後,就可以啟動client連線server了, 執行指令碼:
# bin/zkCli.sh -server localhost:2181
可以為zookeeper增加其記憶體,只需要編輯bin目錄下的zkEnv.sh,在檔案的底部增加如下設定:
export JVMFLAGS="-Xms1024m -Xmx2048m $JVMFLAGS"
偽叢集模式
所謂偽叢集,是指在單臺機器中啟動多個zookeeper程式, 並組成一個叢集。這裡以配置3個zookeeper程式為例。
將zookeeper的目錄複製2份:# cp -R zookeeper1 zookeeper2
# cp -R zookeeper1 zookeeper3
修改配置檔案裡面的data目錄(引數dataDir)/clientPort,並增加如下配置:
# vi zookeeper1/conf/zoo.cfg
dataDir=/opt/zookeeper1/data
clientPort=2181
###
server.1=127.0.0.1:8881:7771
server.2=127.0.0.1:8882:7772
server.3=127.0.0.1:8883:7773
# vi zookeeper2/conf/zoo.cfg
dataDir=/opt/zookeeper2/data
clientPort=2182
dataDir=/opt/zookeeper3/data
clientPort=2183
並在上面的dataDir指定目錄下增加myid檔案, 寫入一個數字, 該數字表示這是第幾號server。 該數字必須和zoo.cfg檔案中的server.X中的X一一對應,即/opt/zookeeper1/data/myid檔案中寫入1, /opt/zookeeper2/data/myid檔案中寫入2, /opt/zookeeper3/data/myid檔案中寫入3。
server.1=127.0.0.1:8881:7771
server.2=127.0.0.1:8882:7772
server.3=127.0.0.1:8883:7773
引數說明:
#server.A=B:C:D 其中 A 是一個數字,表示這個是第幾號伺服器;B 是這個伺服器的 ip 地址;C 表示的是這個伺服器與叢集中的 Leader 伺服器交換資訊的埠;D 表示的是萬一叢集中的 #Leader 伺服器掛了,需要一個埠來重新進行選舉,選出一個新的 Leader,而這個埠就是用來執行選舉時伺服器相互通訊的埠。如果是偽叢集的配置方式,由於 B 都是一樣,所以不同的 #Zookeeper 例項通訊埠號不能一樣,所以要給它們分配不同的埠號。
#server.A=B:C:D 其中 A 是一個數字,表示這個是第幾號伺服器;B 是這個伺服器的 ip 地址;C 表示的是這個伺服器與叢集中的 Leader 伺服器交換資訊的埠;D 表示的是萬一叢集中的 #Leader 伺服器掛了,需要一個埠來重新進行選舉,選出一個新的 Leader,而這個埠就是用來執行選舉時伺服器相互通訊的埠。如果是偽叢集的配置方式,由於 B 都是一樣,所以不同的 #Zookeeper 例項通訊埠號不能一樣,所以要給它們分配不同的埠號。
# vi zookeeper2/conf/zoo.cfg
dataDir=/opt/zookeeper2/data
clientPort=2182
###
server.1=127.0.0.1:8881:7771
server.2=127.0.0.1:8882:7772
server.3=127.0.0.1:8883:7773
# vi zookeeper3/conf/zoo.cfgserver.1=127.0.0.1:8881:7771
server.2=127.0.0.1:8882:7772
server.3=127.0.0.1:8883:7773
dataDir=/opt/zookeeper3/data
clientPort=2183
###
server.1=127.0.0.1:8881:7771
server.2=127.0.0.1:8882:7772
server.3=127.0.0.1:8883:7773
server.1=127.0.0.1:8881:7771
server.2=127.0.0.1:8882:7772
server.3=127.0.0.1:8883:7773
並在上面的dataDir指定目錄下增加myid檔案, 寫入一個數字, 該數字表示這是第幾號server。 該數字必須和zoo.cfg檔案中的server.X中的X一一對應,即/opt/zookeeper1/data/myid檔案中寫入1, /opt/zookeeper2/data/myid檔案中寫入2, /opt/zookeeper3/data/myid檔案中寫入3。
叢集模式
叢集模式的配置和偽叢集基本一致。
由於叢集模式下, 各server部署在不同的機器上,因此各server的conf/zoo.cfg檔案可以完全一樣,不必擔心埠衝突什麼的。
需要注意的是, 各server的dataDir目錄下的myid檔案中的數字必須不同。
啟動
./bin/zkServer.sh start
停止
./bin/zkServer.sh stop
注:命令列參考 (See: )
驗證啟動狀態
telnet 127.0.0.1 2181
用法
dubbo.registry.address=zookeeper://192.168.0.138:2181?backup=192.168.0.139:2181
或者
測試zk服務
執行$ zkCli.sh -server 192.168.0.138:2181,檢查指定伺服器是否成功啟動。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9399028/viewspace-2105694/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Zookeeper 安裝配置
- kafka和zookeeper安裝Kafka
- 初識zookeeper和安裝
- 學習五:zooKeeper的安裝配置
- hbase和zookeeper的安裝和部署
- 安裝Zookeeper和Kafka叢集Kafka
- CentOS上zookeeper叢集模式安裝配置CentOS模式
- 【zookeeper安裝】
- Zookeeper安裝
- Zookeeper-3.4.10 叢集的安裝配置
- 安裝配置 zookeeper (單機非叢集模式)模式
- zookeeper安裝和使用 windows環境Windows
- Dubbo-zookeeper的部署和安裝
- zookeeper和PHPzookeeper和kafka擴充套件安裝PHPKafka套件
- docker安裝zookeeperDocker
- Zookeeper的安裝
- Ubuntu 安裝 ZooKeeperUbuntu
- Mac 安裝 zookeeperMac
- ZooKeeper 安裝部署
- Zookeeper安裝部署
- [Zookeeper-01]什麼是zookeeper?& Linux / Windows Zookeeper安裝和部署(單點)LinuxWindows
- zabbix安裝—–nginx安裝和配置Nginx
- codis安裝 (java 安裝 + zookeeper 安裝 + go 安裝 + codis 安裝JavaGo
- Zookeeper單機安裝
- ansible安裝zookeeper
- ZooKeeper安裝筆記筆記
- centos下安裝ZooKeeperCentOS
- Ubuntu_安裝ZookeeperUbuntu
- 3-ZooKeeper安裝
- 安裝和配置Drupal 8教程,如何安裝和配置Drupal 8?
- 安裝和配置sendmailAI
- 安裝和配置OCFS
- zookeeper安裝部署步驟
- ZooKeeper三種安裝模式模式
- zookeeper下載安裝使用
- 內建jetty server下solrcloud6.2.1和Zookeeper叢集的安裝和配置過程詳解JettyServerSolrCloud
- Flutter的安裝和配置Flutter
- (MAC) PHP安裝和配置MacPHP