概述
kafka安装也比较简单,只需要配置数据存储路径和集群服务器就行,
需要注意的也是集群唯一标识broker.id
kafka
集群规划
server110 | server111 | server112 | |
---|---|---|---|
kafka | broker.id.0 | broker.id.1 | broker.id.2 |
安装配置
[root@server110 software]# tar -xzvf kafka_2.11-2.4.1.tgz -C /opt/modules/
[root@server110 software]# cd /opt/modules/kafka_2.11-2.4.1/
[root@server110 kafka_2.11-2.4.1]# cd config/
[root@server110 config]# vim server.properties
#后边做maxwell遇到ip自动映射为主机名的问题,添加入下配置(不带``)
`listeners=PLAINTEXT://192.168.1.110:9092`
..
log.dirs=/opt/modules/kafka_2.11-2.4.1/data
zookeeper.connect=server110:2181,server111:2181,server112:2181
同步到其他节点
[root@server110 modules]# scp -r kafka_2.11-2.4.1/ server111:/opt/modules/
[root@server110 modules]# scp -r kafka_2.11-2.4.1/ server112:/opt/modules/
修改server111,server112的broker.id
server111修改配置
[root@server111 software]# cd /opt/modules/kafka_2.11-2.4.1/config/
[root@server111 config]# vim server.properties
broker.id=1
#后边做maxwell遇到ip自动映射为主机名的问题,添加入下配置(不带``)
`listeners=PLAINTEXT://192.168.1.111:9092`
server112修改配置
[root@server112 config]# vim server.properties
broker.id=2
#后边做maxwell遇到ip自动映射为主机名的问题,添加入下配置(不带``)
`listeners=PLAINTEXT://192.168.1.112:9092`
集群启动
集群启动需要在每台机器上都要执行一遍,群起脚本会在下一篇文章中写
server110启动
[root@server110 kafka_2.11-2.4.1]# bin/kafka-server-start.sh -daemon config/server.properties
[root@server110 kafka_2.11-2.4.1]# jps
22404 QuorumPeerMain
24167 Jps
17387 NameNode
24123 Kafka
17916 NodeManager
17549 DataNode
server111启动
[root@server111 kafka_2.11-2.4.1]# bin/kafka-server-start.sh -daemon config/server.properties
[root@server111 kafka_2.11-2.4.1]# jps
17265 DataNode
17540 NodeManager
128820 QuorumPeerMain
129287 Kafka
17383 ResourceManager
18029 JobHistoryServer
129359 Jps
server112启动
[root@server112 kafka_2.11-2.4.1]# bin/kafka-server-start.sh -daemon config/server.properties
[root@server112 kafka_2.11-2.4.1]# jps
24292 Jps
17207 DataNode
24264 Kafka
17289 SecondaryNameNode
23773 QuorumPeerMain
17407 NodeManager
集群测试
在server110上,连接server111的zk,创建话题test-topic
[root@server110 kafka_2.11-2.4.1]# bin/kafka-topics.sh --zookeeper server111:2181 --create --partitions 1 --replication-factor 3 --topic test-topic
Created topic test-topic.
在server111上启动一个生产者,连接server112的kafka
[root@server111 kafka_2.11-2.4.1]# bin/kafka-console-producer.sh --broker-list server112:9092 --topic test-topic
>
在server112上启动一个消费者,连接server110的kafka
消费者是阻塞进程,等待数据
[root@server112 kafka_2.11-2.4.1]# bin/kafka-console-consumer.sh --bootstrap-server server110:9092 --topic test-topic
生产数据
[root@server111 kafka_2.11-2.4.1]# bin/kafka-console-producer.sh --broker-list server112:9092 --topic test-topic
>hello world
>hello java
>hello kafka
消费者
,成功消费数据
[root@server112 kafka_2.11-2.4.1]# bin/kafka-console-consumer.sh --bootstrap-server server110:9092 --topic test-topic
hello world
hello java
hello kafka