kafka+zk详解可参考:https://blog.51cto.com/johnzheng/2371286

 

一、环境准备:

kafka和zk需要jdk1.8环境,安装前需安装jdk1.8,参考jdk1.8安装步骤

三台服务器:172.20.224.37、172.20.224.38、172.20.224.39,centos7系统。kafka至少两台做主从,zk做集群最少三台

二、安装zk

1、获取安装包:

官网获取安装包:https://zookeeper.apache.org/

2、解压安装包到/usr/local

tar -zxvf xxxxx

3、zk环境变量配置

export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.9
export PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH

修改后,使配置文件生效:source /etc/profile

4、zk主机域名映射,配置hosts文件(也可不配,不配,配置文件里面直接写IP地址)

vim /etc/hosts

5、zk配置文件配置

进入zk的conf子文件夹,将zoo_sample.cfg文件copy一份出来,命名为zoo.cfg,修改zoo.cfg配置文件,添加server

dataDir=/usr/local/zookeeper-3.4.9/data          #若没有此路径,需要手动创建
dataLogDir=/usr/local/zookeeper-3.4.9/logs    #若没有此路径,需要手动创建

server.1=172.20.224.37:2888:3888
server.2=172.20.224.38:2888:3888
server.3=172.20.224.39:2888:3888

说明:server.A=B:C:D 其中A是一个数字,表示这个是第几号服务器;B是这个服务器的IP地址(如果做了域名映射,也可以用域名);C表示的是这个服务器与集群中的Leader服务器交换信息的端口;D表示的是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

6、zk识别文件创建,创建myid文件

 在dataDir路径下创建myid文件,然后分别在myid文件中安装zoo.cfg.A中A的数值,在不同机器上的该文件中填写相应的值,例如server.1就写1就可以了

7、zk配置拷贝

将zk整个配置文件拷贝到其他zk服务器,配置对应的环境变量和地址映射,修改对应的myid值

8、zk启动验证

进入安装bin目录,执行zkServer.sh start   启动所有节点的zk   (启动:start;停止:stop;状态:status)

9、查看状态:zkServer.sh status 

10、zk动态日志查看

 

三、安装kafka

1、获取安装包:

官网获取安装包:http://kafka.apache.org/downloads

2、解压安装包到/usr/local

tar -zxvf xxxxx

3、修改server.properties配置文件

4、修改connect-standalone.properties配置文件

5、修改 producer.properties 配置文件

6、修改consumer.properties 配置文件

7、拷贝安装包文件到其他kafka路径

注意:修改server.properties文件里面的broker.id和listeners的值

8、启动服务验证进程

bin/kafka-server-start.sh  -daemon config/server.properties  2>&1 &

kafka的启动日志: