kafka+zookeeper集群搭建

环境

centos: 7.3

kafka: 2.11-0.10.2.1

zookeeper: 3.4.9

java: 1.8.0_111

kafka安装包: 

https://archive.apache.org/dist/kafka/0.10.2.1/kafka_2.11-0.10.2.1.tgz

zookeeper安装包:

http://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz

1.解压下载好的zookeeper安装包及创建配置文件依赖的目录。

tar -zxvf zookeeper-3.4.9.tar.gz -C /data/
mv /data/zookeeper-3.4.9 /data/zookeeper
mkdir /data/zookeeper/zkdata{,log}

2.copy一份conf/zoo.cfg并修改(server的地址这里写的主机名,所以得把机器解析写到/etc/hosts)。

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/zkdata
dataLogDir=/data/zookeeper/zkdatalog
clientPort=2181
quorumListenOnAllIPs=true
maxClientCnxns=600
skipACL=yes
autopurge.snapRetainCount=50
autopurge.purgeInterval=6
server.1=myx-node01:2888:3888
server.2=myx-node02:2888:3888
server.3=myx-node03:2888:3888

3.修改conf/log4j.properties日志配置文件,将zookeeper.root.logger=INFO, CONSOLE 改为(标准输出到文件)

zookeeper.root.logger=INFO, ROLLINGFILE

4.修改bin/zkEnv.sh文件,将ZOO_LOG4J_PROP="INFO,CONSOLE"改为(标准输出到文件)

ZOO_LOG4J_PROP="INFO,ROLLINGFILE"

5.在节点配置的dataDir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机。zoo.cfg文件中配置的server.X,则myid文件中就输入这个数字X。这里是node01机器所以节点id为1

echo "1" > /data/zookeeper-data/myid

 4.启动zookeeper。

cd /data/kafka/zookeeper-3.4.9/ && bin/zkServer.sh start

PS: 另外2台重复以上步骤,zkServer.sh status看状态是Error contacting service. It is probably not running.看zookeeper.out发现 java.net.BindException: 无法指定被请求的地址 (Bind failed)无法绑定3888端口,解决方法是在每台zoo.cfg加一行配置,再重启就好了。具体原因:https://blog.csdn.net/xiyoulinux_kangyijie/article/details/76704639https://blog.csdn.net/u014284000/article/details/74508963

quorumListenOnAllIPs=true
原文地址:https://www.cnblogs.com/xingxiz/p/11163778.html