ZooKeeper安裝筆記
ZookKeeper 是Apache的頂級專案之一,我們可用它來做配置管理、叢集管理 和 訊息佇列等。
安裝相對簡單,同樣有單機和分散式倆種安裝模式,單機少一些配置,本文給出安裝方法和一些常用管理命令等。
環境要求
-
linux 或者 windows(生產環境最好不用)
-
jdk1.6 以上
設定Java heap 大小。避免記憶體與磁碟空間的交換,能夠大大提升ZK的效能,設定合理的heap大小則能有效避免此類空間交換的觸發。在正式釋出上線之前,建議是針對使用場景進行一些壓力測試,確保正常執行後記憶體的使用不會觸發此類交換。通常在一個實體記憶體為4G的機器上,最多設定-Xmx為3G。
- 下載ZK,http://zookeeper.apache.org/releases.html
並解壓到usr/local/zookeeper
- 三臺虛擬機器:
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
Zookeeper配置
編輯配置檔案,在conf目錄:
move ./zoo_sample.cfg ./zoo.cfg
vim zoo.cfg
內容如下:
tickTime=2000
dataDir=/var/lib/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
##單機不需要以下配置
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
設定Myid,單機不需要
server.id=host:port:port 的格式,server固定,後面的數字是此伺服器在叢集中的序號[1~255],並需要data目錄下建立檔案myid來儲存當前server的id。
設定伺服器id:
echo 1 >> /var/lib/zookeeper/data/myid
其他倆臺分別執行:
echo 2 >> /var/lib/zookeeper/data/myid
和
echo 3 >> /var/lib/zookeeper/data/myid
啟動ZK
cd /usr/local/zookeeper/bin
./zkServer.sh start (windows下是zkServer.cmd)
檢視啟動狀態:
./zkServer.sh status
通過ZK客戶端連線ZK
./zkCli.sh 或者 ./zkCli.sh -server 127.0.0.1:2181
需要注意的是在叢集模式下,ZK不能像Hadoop那樣只需要在master下執行啟動命令Hadoop自動啟動slaves,ZK需要手動去啟動每個節點!
至此,ZK安裝配置結束!
Zookeeper配置引數說明
-
tickTime:這個時間是作為 Zookeeper 伺服器之間或客戶端與伺服器之間維持心跳的時間間隔,單位毫秒。
-
dataDir:是 Zookeeper 儲存資料和日誌的目錄。
-
clientPort:這個埠就是客戶端連線 Zookeeper 伺服器的埠。
-
initLimit:這個配置項是用來配置 Zookeeper 接受客戶端(這裡所說的客戶端不是使用者連線 Zookeeper 伺服器的客戶端,而是 Zookeeper 伺服器叢集中連線到 Leader 的 Follower 伺服器)初始化連線時最長能忍受多少個心跳時間間隔數。當已經超過 5個心跳的時間(也就是 tickTime)長度後 Zookeeper 伺服器還沒有收到客戶端的返回資訊,那麼表明這個客戶端連線失敗。總的時間長度就是 5*2000=10 秒
-
syncLimit:這個配置項標識 Leader 與 Follower 之間傳送訊息,請求和應答時間長度,最長不能超過多少個 tickTime 的時間長度,總的時間長度就是 2*2000=4 秒
-
server.id=host:port1:port2:其中 id 是一個數字,表示這個是第幾號伺服器;
host 是這個伺服器的 ip 地址;
port1 表示的是這個伺服器與叢集中的 Leader 伺服器交換資訊的埠;
port2 表示的是萬一叢集中的 Leader 伺服器掛了,需要一個埠來重新進行選舉,選出一個新的 Leader,而這個埠就是用來執行選舉時伺服器相互通訊的埠。
JMX遠端支援
Zookeeper預設開啟JMX,只限本地連線,遠端連線需要修改啟動指令碼
開啟 ./bin/zkServer.sh找到:
ZOOMAIN="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=$JMXLOCALONLY org.apache.zookeeper.server.quorum.QuorumPeerMain"
加入啟動引數:
-Dcom. sun.management.jmxremote.port=5000 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
如:
ZOOMAIN="-Dcom. sun.management.jmxremote.port=5000 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false org.apache.zookeeper.server.quorum.QuorumPeerMain"
Zookeeper四字命令
ZK服務提供了下列命令讓管事員來測試服務的執行情況。
- stat: 檢視ZK結點follower或leader情況。
- srst: 重置通過stat檢視的統計結果資訊。
- ruok: 測試Server,若回覆imok表示已經啟動。
- dump: 列出未經處理的會話和臨時節點。
- kill: 關掉server, 必須在ZK服務執行的機器上執行。
- conf: 輸出相關服務配置的詳細資訊。
- cons: 列出所有連線到伺服器的客戶端的完全的連線 / 會話的詳細資訊。
- crst: 重置 connection/session 所有連線的統計資訊。
- envi: 輸出關於服務環境的詳細資訊。
- reqs: 列出未經處理的請求。
- wchs: 列出伺服器 watch 的詳細資訊。
- wchc: 通過 session 列出伺服器 watch 的詳細資訊,它的輸出是一個與 watch 相關的會話的列表。
- wchp: 通過路徑列出伺服器 watch 的詳細資訊。它輸出一個與 session 相關的路徑。
- srvr: 列出服務的詳細資訊。
- mntr: 列印所有可以用來監控叢集服務健康狀態資訊的變數。
用法:
linux: echo mntr|nc 127.0.0.1 2181
zk_version 3.4.0
zk_avg_latency 0
zk_max_latency 0
zk_min_latency 0
zk_packets_received 70
zk_packets_sent 69
zk_outstanding_requests 0
zk_server_state leader
zk_znode_count 4
zk_watch_count 0
zk_ephemerals_count 0
zk_approximate_data_size 27
zk_followers 4 - only exposed by the Leader
zk_synced_followers 4 - only exposed by the Leader
zk_pending_syncs 0 - only exposed by the Leader
zk_open_file_descriptor_count 23 - only available on Unix platforms
zk_max_file_descriptor_count 1024 - only available on Unix platforms
windows: telnet 127.0.0.1 2181 然後輸入:stat等四字命令。
更多ZK管理內容請參考:http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html
Zookeeper客戶端常用命令
進入zkCli後敲入help,或者隨便敲幾個字元ZK會列印出如下資訊:
get path [watch]
ls path [watch]
set path data [version]
rmr path
delquota [-n|-b] path
quit
printwatches on|off
create [-s] [-e] path data acl
stat path [watch]
close
ls2 path [watch]
history
listquota path
setAcl path acl
getAcl path
sync path
redo cmdno
addauth scheme auth
delete path [version]
setquota -n|-b val path
注:path 要以 / 打頭;使用監聽如:get /t watch
參考網址
http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html
http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html
http://www.cnblogs.com/haippy/archive/2012/07/19/2599989.html
轉載地址: http://www.cnblogs.com/xguo/archive/2013/05/18/3086143.html
相關文章
- 【zookeeper安裝】
- Zookeeper安裝
- Zookeeper 安裝配置
- docker安裝zookeeperDocker
- Zookeeper的安裝
- Ubuntu 安裝 ZooKeeperUbuntu
- Mac 安裝 zookeeperMac
- ZooKeeper 安裝部署
- Zookeeper安裝部署
- Zookeeper學習筆記筆記
- zookeeper 學習筆記筆記
- Manjaro安裝筆記JAR筆記
- laravel安裝筆記Laravel筆記
- codis安裝 (java 安裝 + zookeeper 安裝 + go 安裝 + codis 安裝JavaGo
- Zookeeper單機安裝
- kafka和zookeeper安裝Kafka
- ansible安裝zookeeper
- centos下安裝ZooKeeperCentOS
- Zookeeper 安裝和配置
- Ubuntu_安裝ZookeeperUbuntu
- 3-ZooKeeper安裝
- ZooKeeper筆記(1):ZooKeeper特性與基本概念筆記
- day03 zookeeper筆記筆記
- 【安裝】安裝centos79的筆記CentOS筆記
- 安裝PHP ImageMagick筆記PHP筆記
- Ubuntu安裝docker筆記UbuntuDocker筆記
- influxdb 筆記: 安裝UX筆記
- disconf 安裝筆記筆記
- solr安裝使用筆記Solr筆記
- 黑蘋果安裝筆記蘋果筆記
- zookeeper安裝部署步驟
- 初識zookeeper和安裝
- ZooKeeper三種安裝模式模式
- zookeeper下載安裝使用
- Git筆記(3) 安裝配置Git筆記
- RabbitMQ學習筆記-安裝MQ筆記
- fabric 鏈碼安裝筆記筆記
- python 包安裝筆記Python筆記