1,选择三台linux服务器,配置好jdk环境,配置好域名映射
2,下载kafka压缩包,选择一台机器上传到linux /opt目录下
3,使用 tar -zxvf kafka_2.12-2.4.0.tgz 解压kafka压缩包,会得到以下目录
4,进入 kafka_2.12-2.4.0目录,创建zookeeper目录
5,进入config目录,配置kafka自带的zookeeper配置文件
tickTime:CS通信心跳数
Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
tickTime以毫秒为单位。
tickTime:该参数用来定义心跳的间隔时间,zookeeper的客户端和服务端之间也有和web开发里类似的session的概念,而zookeeper里最小的session过期时间就是tickTime的两倍。
initLimit:LF初始通信时限
集群中的follower服务器(F)与leader服务器(L)之间 初始连接 时能容忍的最多心跳数(tickTime的数量)
syncLimit:LF同步通信时限
集群中的follower服务器(F)与leader服务器(L)之间 请求和应答 之间能容忍的最多心跳数(tickTime的数量)
6,将整个kafka文件夹通过scp命令拷贝到另外两台机器上
7,进入解压目录的zookeeper数据目录下创建myid文件,分别写入1,2,3(就单独写一个数字就行),不能重复,这是zookeeper集群之间的识别码
8,进入bin目录,三台机器分别启动zookeeper,使用nohup命令后台启动,日志放在zookeeper.log目录下
./zookeeper-server-start.sh ../config/zookeeper.properties &>> /opt/kafka_2.12-2.4.0/zookeeper.log
使用jps查看进程,如果有QuorumPeerMain则表示zookeeper启动成功
9,接下来搭建kafka集群,三台机器同时操作
10,创建kafka日志目录
11, 进入config目录编辑 server.properties配置文件
broker.id 分别设置0,1,2,不能重复,host.name 设置本台机器的ip地址
日志目录设置成刚刚创建的日志目录
zookeeper地址,集群以逗号隔开
12,设置完成后保存文件并分别启动三台机器上的kafka
./bin/kafka-server-start.sh –daemon config/server.properties & ,使用jps如果出现下面所示表示启动成功
13,到此为止,可以使用kafka客户端连接kafka了。可以看到,显示三台broker,集群搭建成功