接上篇,搭建完zookeeper之后,开始搭建Kafka
同样三台主机
zk1 192.168.192.128
zk2 192.168.192.130
zk3 192.168.192.129
还是要首先把准备好的压缩包解压
tar -zxvf kafka_2.12-2.5.0.tgz /usr/local
cd /usr/local/kafka_2.12-2.5.0/config/
修改配置文件
[root@zk2 config]# grep "^[a-Z]" server.properties
broker.id=2
listeners=PLAINTEXT://192.168.192.130:9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/data/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=192.168.192.128:2181,192.168.192.130:2181,192.168.192.129:2181
zookeeper.connection.timeout.ms=18000
group.initial.rebalance.delay.ms=0
需要注意的是
broker.id 是唯一的
listeners 需要修改为本机的ip地址
log.dirs 为日志目录
zookeeper.connect 为之前搭建好的zookeeper集群地址
修改完成可以直接启动了
[root@zk2 config] cd ../bin
[root@zk2 config] ./kafka-server-start.sh -daemon ../config/server.properties
#在后台启动运行
启动完成之后可以测试一下
#我们在128上创建一个生产者
[root@zk1] cd /usr/local/kafka_2.12-2.5.0/bin
[root@zk1 bin] ./kafka-topics.sh --create --zookeeper 192.168.192.128:2181 --replication-factor 1 --partitions 1 --topic test_topic
[root@zk1 bin] ./kafka-console-producer.sh --broker-list 192.168.192.128:9092 --topic test_topic
>
之后在130上可以创建一个消费者查看消息
[root@zk1] cd /usr/local/kafka_2.12-2.5.0/bin/
[root@zk1 bin] ./kafka-console-consumer.sh --bootstrap-server 192.168.192.130:9092 --topic test_topic --from-beginning
之后在128上输入的信息都会在130上显示