kafka集群搭建需要在zookeeper服务器中运行,所以我们需要搭建一下zookeeper集群,当然kafka有内置的zookeeper,这是我们不用它。
1.搭建环境介绍
主机 | IP | 版本 | 端口 | 系统 |
server.1 | 192.168.60.72 | kafka_2.11-2.1.1 zookeeper _3.5.6 |
9092/2181 | Centos7 |
server.2 | 192.168.60.72 | kafka_2.11-2.1.1 zookeeper _3.5.6 |
9092/2181 | Centos7 |
2.zookeeper搭建
https://blog.csdn.net/fjxcsdn/article/details/103007090
3.kafka下载地址(官网 :官网介绍的很全面)
http://kafka.apache.org/downloads.html
4.解压
tar -xzf kafka_2.11-2.1.0.tgz
5.切换到config目录下,修改配置文件 vi server.properties
192.168.60.72服务器
#不同的服务器配置broker不同id=按zookeeper的myid改为相应的1 、2
#broker 的全局唯一编号,不能重复,Broker.
broker.id=1
#监听地址,写本机的IP地址
listeners=PLAINTEXT://192.168.60.72:9092
#日志路径,需要在安装目录下,新建logs文件夹
log.dirs=/usr/local/kafka/kafka_2.11-2.1.1/logs
#配置连接 Zookeeper 集群地址
zookeeper.connect=192.168.60.72:2181,192.168.60.73:2181
192.168.60.73服务器
broker.id=3
listeners=PLAINTEXT://192.168.60.73:9092
log.dirs=/usr/local/kafka/kafka_2.11-2.1.1/logs
zookeeper.connect=192.168.60.72:2181,192.168.60.73:2181
#broker 的全局唯一编号,不能重复,Broker.id=按zookeeper的myid改为相应的1 、2
broker.id=1
listeners=PLAINTEXT://192.168.60.72:9092
#日志路径
log.dirs=/usr/local/kafka/kafka_2.11-2.1.1/logs
#删除 topic 功能使能
delete.topic.enable=true
#处理网络请求的线程数量
num.network.threads=3
#用来处理磁盘 IO 的现成数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
#topic 在当前 broker 上的分区个数
num.partitions=1
#用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment 文件保留的最长时间,超时将被删除
log.retention.hours=168
#配置连接 Zookeeper 集群地址
zookeeper.connect=192.168.60.72:2181,192.168.60.73:2181
6. 先启动zookeeper后,后切换到安装目录后台逐一启动kafka
#切换到zookeeper的bin目录逐一启动zookeeper
./zkServer.sh start
#逐一后台启动kafka
bin/kafka-server-start.sh -daemon config/server.properties
7.检查是否搭建成功
#客户端连接zookeeper
./zkCli.sh -server 192.168.60.72:2181
检查kafka启动个数
ls /brokers/ids
由上图可知,两个kafka集群均搭建成功!