是一种高吞吐量的分布式发布订阅消息系统,当数据量不稳定,数据量大的时候想到它就对了。
是一个分布式的,开放源码的分布式应用程序协调服务,很多地方用到, 最常见的是为集群提供基础的、高可用HA(High Availability)服务
是kafka集群的基础依赖,同时也是hadoop系列中实现HA的基础组件。
实现HDFS的NamaNode和YARN的ResourceManager的HA,Spark实现HA,
HBase主要用ZooKeeper来实现HMaster选举与主备切换、系统容错、RootRegion管理、Region状态管理和分布式SplitWAL任务管理等。
//===========================================================
两种集群的配置相差不大
ubuntu@sp1:~/kafka/config$ cat zookeeper.properties | grep -v '#'
dataDir=/mnt/data3/zk
clientPort=2181
tickTime=2000
initLimit=7
syncLimit=4
server.1=sp1:2888:3888
server.2=sp2:2888:3888
server.3=sp3:2888:3888
server.4=sp4:2888:3888
server.5=sp5:2888:3888
server.6=sp6:2888:3888
server.7=sp7:2888:3888
强制杀死命令
ps aux |grep kafka |grep -v grep|cut -c 9-15 | xargs kill -9
ps aux |grep zookeeper |grep -v grep|cut -c 9-15 | xargs kill -9
1.zookeeper启动
sp1 - sp7在Ubuntu用户下 执行
/home/ubuntu/zookeeper-3.4.7/bin/zkServer.sh start
jps检查存在
QuorumPeerMain
状态查看
/home/ubuntu/zookeeper-3.4.7/bin/zkServer.sh status
查看为一主动多从启动正常
文件查看
/home/ubuntu/zookeeper-3.4.7/bin/zkCli.sh -server localhost:2181
进入客户端 ls / 等命令查看
2.kafka启动
sp1到sp7执行 nohup /home/ubuntu/kafka/bin/kafka-server-start.sh /home/ubuntu/kafka/config/server.properties 2>&1 > /home/ubuntu/kafka/logs/kafka.log &
当然也可以这样远程执行
ssh sp1 nohup /home/ubuntu/kafka/bin/kafka-server-start.sh /home/ubuntu/kafka/config/server.properties 2>&1 > /home/ubuntu/kafka/logs/kafka.log &
检查
~/kafka/bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --broker-info --group kafka_es --topic kafka_es --zookeeper localhost:2181
就可以看机器是否正常了
注意:
很可能出现kafka个别分片堆积问题:例如现在kafka有35个分片,只有2个分片产生堆积,通过命令
~/kafka/bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --broker-info --group kafka_es --topic kafka_es --zookeeper localhost:2181