Kafka单机安装在官网处下载解压即可,然后配置环境变量即可启动,单机版可以不安装独立的zookeeper,使用kafka自带的zookeeper服务
启动命令如下
先启动自带zookeeper
nohup bin/zookeeper-server-start.sh config/zookeeper.properties &
然后启动kafka
nohup bin/kafka-server-start.sh config/server.properties &
JPS查看是否有zookeeper服务和Kafka服务
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
省略,安装方法就是下载解压,然后配置环境变量,注意JAVA版本是否是8
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、Kafka配置项
#每台服务器的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 lp1:2181,lp2:2181,lp3:2181 --replication-factor 3 --partitions 3 --topic jiayang
发送消息
kafka-console-producer.sh --broker-list lp1:9092 --topic liupeng
接收
kafka-console-consumer.sh --zookeeper lp1:2181,lp2:2181,lp3:2181 --topic liupeng--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不一致了,解决问题的方法是将两者修改一致后再重启。