自己就一臺機(jī)器(ubuntu)同衣,懶得弄虛擬機(jī)了母蛛,因此搭了一個單機(jī)偽分布式的集群,即同一臺機(jī)器三個zookeeper服務(wù)乳怎。
0.準(zhǔn)備工作
要安裝JDK(略):java運(yùn)行的環(huán)境
-
為了搭建偽分布式(三個服務(wù))彩郊,因此,建立相應(yīng)的目錄(3個)
/home/zookeeper/server0
/home/zookeeper/server1
/home/zookeeper/server2
1.zookeeper下載
ubuntu下使用 wget url 下載資源蚪缀。找一個穩(wěn)定的版本即可秫逝。
wget http://apache.osuosl.org/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
下載到download目錄下。
2.tar 解壓
利用tar命令解壓询枚。
tar -xf zookeeper-3.4.9.tar.gz
解壓到該目錄下违帆,多出文件夾zookeeper-3.4.9。
3.相關(guān)配置修改
zookeeper-3.4.9/conf目錄下 創(chuàng)建配置文件
cp zookeeper-sample.cfg zoo.cfg
在zookeeper-3.4.9目錄下新建目錄data金蜀,logs
內(nèi)容修改成(開啟主要參數(shù)即可刷后,配置端口,配置集群):
# The number of milliseconds of each tick (發(fā)送心跳的間隔時間)
tickTime=2000
# The number of ticks that the initial ( 配置允許 followers 連接并同步到 leader 的最大時間渊抄,初始為tickTime 屬性值的 10 倍)
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement(請求和應(yīng)答時間長度尝胆,最長不能超過多少個 tickTime 的時間長度)
syncLimit=5
# 保存數(shù)據(jù),保存日志的路徑
dataDir=/home/zookeeper/server0/zookeeper-3.4.9/data
dataLofDir=/home/zookeeper/server0/zookeeper-3.4.9/logs
# the port at which the clients will connect(客戶端連接 Zookeeper 服務(wù)器的端口)
clientPort=2180
# the maximum number of client connections.(最大客戶連接數(shù))
#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(自動清理snapshot和事務(wù)日志的功能)
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
#集群信息(服務(wù)器編號护桦,服務(wù)器地址含衔,LF通信端口,選舉端口)
server.0=127.0.0.1:8880:7770
server.1=127.0.0.1:8881:7771
server.2=127.0.0.1:8882:7773
將修改完后的目錄拷貝到相應(yīng)的目錄下
/home/zookeeper/server0
/home/zookeeper/server1
/home/zookeeper/server2
并修改相應(yīng)的zoo.cfg文件(端口二庵,目錄等)
4.啟動
在zookeeper-3.4.9/bin目錄下贪染,有zkServer.sh
./zkServer.sh start
即可啟動該服務(wù)。
依次啟動三個服務(wù)催享。啟動會打印日志如下
JMX enabled by default
Using config: /home/zookeeper/server0/zookeeper-3.4.9/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
jps
查看啟動的服務(wù)
./zkServer.sh status
查看相應(yīng)服務(wù)狀態(tài)
zookeeper.out
查看日志
zkServer.sh stop
關(guān)閉服務(wù)
5.遇到的坑
1 找不到j(luò)ava -----在zkServer.sh下添加javahome,path 信息
添加的示例如下
export JAVA_HOME=/usr/lib/jdk
export PATH=$JAVA_HOME/bin:$PATH
2 QuorumPeer錯誤---配置myid信息
在data目錄下建立 myid文件杭隙,并輸入相應(yīng)的編號