有问题的地方望指出。
(零)linux 从零开始搭建虚拟机集群,安装jdk,ssh免密登录 -- 小白教程
(二)搭建zookeeper集群 --- kafka集群搭建
(四)Kafka-manager 可视化web界面搭建--- kafka集群搭建
(五)Kafka、zookeeper、kafka-manager 开机自启 --- kafka集群搭建
1.上传所需安装包,解压,压缩包一般放在 /usr/local 下面。
tar -zxvf zookeeper-3.4.13.tar.gz #解压
mv zookeeper-3.4.13 zookeeper #重命名
rm -rf zookeeper-3.4.13.tar.gz #删除无用安装包
2.修改 zookeeper 配置文件,
进入到 zookeeper/conf 下面。
cd zookeeper/conf
将 zoo_sample.cfg 复制一份,命名为 zoo.cfg,此即为Zookeeper的配置文件。
cp zoo_sample.cfg zoo.cfg #复制文件
编辑配置文件。
vi zoo.cfg #编辑
默认配置:
修改配置如下:
# 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/local/zookeeper/data # 日志存放的位置 dataLogDir=/usr/local/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 # 集群的配置,后面为你的 ip,后面有节点依次往下面排 server.0=192.168.5.10:2888:3888 server.1=10.0.1.91:2888:3888 Server.2=10.0.1.92:2888:3888
说明:
- dataDir 和 dataLogDir 需要在启动前创建完成
- clientPort 为 zookeeper的服务端口
- server.0、server.1、server.2 为 zk 集群中三个 node 的信息,定义格式为 hostname:port1:port2,其中 port1 是 node 间通信使用的端口,port2 是node 选举使用的端口,需确保三台主机的这两个端口都是互通的。
3.更改日志配置。
Zookeeper 默认会将控制台信息输出到启动路径下的 zookeeper.out 中,通过如下方法,可以让 Zookeeper 输出按尺寸切分的日志文件:
修改 conf/log4j.properties 文件,将
zookeeper.root.logger=INFO, CONSOLE
改为
zookeeper.root.logger=INFO, ROLLINGFILE
修改bin/zkEnv.sh文件,将
ZOO_LOG4J_PROP="INFO,CONSOLE"
改为
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
4.同上操作,在另外的机器也是如此操作。
5.创建 myid 文件。
切换到 zookeeper 目录下。
mkdir data # zookeeper 存放数据目录
cd data/
echo "1" > myid # 这里的 1 和 zoo.cfg配置文件server.x 对应
分别在三台主机的 dataDir 路径下创建一个文件名为 myid 的文件,文件内容为该 zk 节点的编号。
6.启动服务,默认后台启动。
分别启动配置的 zookeeper 服务
cd zookeeper/bin
./zkServer.sh start
返回信息:
7.查看集群状态。
节点启动完成后,可依次执行如下命令查看集群状态:
./zkServer.sh status
192.168.5.10 返回(这是追随者):
10.0.1.91 返回 (这是领导者):
10.0.1.92 返回(这是追随者):
8.测试集群的高可用性。
停掉 zookeeper 的 leader(本文是 10.0.1.91) 。
./zkServer.sh stop
查看另外机器 zookeeper 的状态。
./zkServer.sh status
这是192.168.5.10的状态。
这是 10.0.1.92 的状态。
此时,192.168.5.10 为 follow , 而 10.0.1.92(原先为 lader) 为 leader。
Ok,此时 zookeeper 集群已经搭建完毕。
(零)linux 从零开始搭建虚拟机集群,安装jdk,ssh免密登录 -- 小白教程
(二)搭建zookeeper集群 --- kafka集群搭建
(四)Kafka-manager 可视化web界面搭建--- kafka集群搭建
(五)Kafka、zookeeper、kafka-manager 开机自启 --- kafka集群搭建