集群搭建
192.168.200.7 kafka01
192.168.200.8 kafka02
192.168.200.9 kafka03
三台主机配置免密
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub 地址
配置hosts-->分发到不同的主机上
scp /etc/hosts root@kafka03:/etc/hosts
安装JDK
安装zk
1、修改配置文件名称
mv zoo_sample.cfg zoo.cfg
2、修改存放目录
dataDir=/keduox/data/zookeeper
文件尾部加入
server.1=kafka01:2888:3888
server.2=kafka02:2888:3888
server.3=kafka03:2888:3888
3、创建myid文件
执行之前先创建目录
mkdir -p /keduox/data/zookeeper
echo 1 >> /keduox/data/zookeeper/myid
4、将zk发送到其它主机上
scp -r zk root@kafka03:/keduox/
将环境变量文件同步到其它主机
scp /etc/profile root@kafka02:/etc/profile
5、启动
zkServer.sh start
查看状态
zkServer.sh status
6、配置项
#每台服务器的broker.id都不能相同
broker.id=0
#hostname
host.name=192.168.7.100
#在log.retention.hours=168 下面新增下面三项
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880
#设置zookeeper的连接端口
zookeeper.connect=192.168.7.100:12181,192.168.7.101:12181,192.168.7.107:12181
启动服务器
kafka-server-start.sh -daemon /keduox/kafka/config/server.properties
创建topic
kafka-topics.sh --create --zookeeper kafka01:2181,kafka02:2181,kafka03:2181 --replication-factor 2 --partitions 1 --topic keduox
发送消息
kafka-console-producer.sh --broker-list kafka01:9092 --topic keduox
接收
kafka-console-consumer.sh --zookeeper kafka01:2181,kafka02:2181,kafka03:2181 --topic keduox --from-beginning
如果之前启动过kafka,且集群的meta.properties已经生成,需要将meta.properties修改或者删除
默认在/tmp目录下
doesn’t match stored brokerId 0 in meta.properties
错误的原因是log.dirs目录下的meta.properties中配置的broker.id和配置目录下的server.properties中的broker.id不一致了,解决问题的方法是将两者修改一致后再重启。
kafka-console-producer.sh --broker-list kafka01:9092,kafka02:9092,kafka03:9092 --topic keduox
领取大数据分析、python爬虫等试听视频,可上科多大数据官网咨询领取,或者加入大数据技术交流群领取:107743339