安装软件,只是基础,关键在于运用,深入学习,才能走得远!
一、下载Zookeeper
http://mirror.bit.edu.cn/apache/zookeeper/
使用wget方便些
wget http://101.44.1.126/files/4039000005D13A31/apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
二、解压Zookeeper
tar -xzf zookeeper-3.4.9.tar.gz
经常使用tar命令,也要知其意思;
-x:解压
-z:有tar.gz格式的
-f:大致就是文件名,并且 ` f ` 一定要是最后一个参数
三、配置Zookeeper(摘录)
Zookeeper支持两种运行模式:独立模式(standalone)和复制模式(replicated)。
真正用于生产环境的Zookeeper肯定都是使用复制模式的,这样做可以避免单点问题。想要使用复制模式,但由于目前只有一台机器,所以可以在单台机器上通过配置来使用复制模式,从而模拟真实的集群环境。
由于Zookeeper集群是通过多数选举的方式产生leader的,因此,集群需要奇数个Zookeeper实例组成,也就是说至少需要3台(1台不能算"群" :-] )。
所以就需要将刚才解压的zookeeper复制三份,相当于三个实例。复制挺麻烦的,附几条命令:
# 重命名
mv zookeeper-3.4.9/ zookeeper-3.4.9-01/
# 创建文件夹
mkdir zookeeper-3.4.9-02
mkdir zookeeper-3.4.9-03
# 复制所有文件
cp -r zookeeper-3.4.9-01/* zookeeper-3.4.9-02
cp -r zookeeper-3.4.9-01/* zookeeper-3.4.9-03
四、配置zoo.conf文件
三个实例都需要进行下边的三步操作,并且有所区分,下边的关键点会提到。
1.创建文件夹
zookeeper根目录下都创建两个文件夹
mkdir data
mkdir dataLog
2.创建配置文件
进入zookeeper根目录下的conf目录,复制zoo_sample.cfg配置文件,命名为zoo.cfg
cp zoo_sample.cfg zoo.cfg
3.修改配置文件
# 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=/usr/java/zookeeper-3.4.9-01/data
dataLogDir=/usr/java/zookeeper-3.4.9-01/dataLog
# servers
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890
# 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
关键点:
dataDir=/usr/java/zookeeper-3.4.9-01/data
dataLogDir=/usr/java/zookeeper-3.4.9-01/dataLog-----指定数据目录,日志目录;目录就是上边创建的
# servers
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890-----指定当前集群信息(这点三个实例配置文件是一样的)
这时还需要在三个实例中分别创建一个myid文件,文件放在上边创建的data文件夹中
myid的内容对应server.*中的*
(例如:第一个实例中zookeeper-3.4.9-01/data下的myid文件中输入1保存,以此类推)
# the port at which the clients will connect
clientPort=2181-----指定当前集群唯一端口(这点三个实例可以分别指定为2181,2182,2183)
五、创建集群相关脚本
启动脚本(start-zk-servers.sh)
echo `/usr/java/zookeeper-3.4.9-01/bin/zkServer.sh start`
echo `/usr/java/zookeeper-3.4.9-02/bin/zkServer.sh start`
echo `/usr/java/zookeeper-3.4.9-03/bin/zkServer.sh start`
停止脚本(stop-zk-servers.sh)
echo `/usr/java/zookeeper-3.4.9-01/bin/zkServer.sh stop`
echo `/usr/java/zookeeper-3.4.9-02/bin/zkServer.sh stop`
echo `/usr/java/zookeeper-3.4.9-03/bin/zkServer.sh stop`
六、运行脚本
sh start-zk-servers.sh
sh stop-zk-servers.sh
参考文章:
Linux安装zookeeper集群(CentOS7+Zookeeper3.4.10)