kafka安装
Kafka强依赖ZK,如果想要使用Kafka,就必须安装ZK
zk安装可参照 https://mp.csdn.net/mdeditor/96994147#
kafka官网:http://kafka.apache.org/quickstart
下载tar.gz到opt目录下
解压安装
tar -zxvf kafka_2.11-2.2.1.tgz
重命名文件夹
mv kafka_2.11-2.2.1 kafka
进入kafka目录下,创建一个logs文件夹
mkdir logs
进入kafka的config目录下,有一个server.properties,修改
broker.id=1
log.dirs=/opt/kafka/logs
zookeeper.connect=192.168.114.131:2181,192.168.114.132:2181,192.168.114.133:2181
注释:broker.id=1后面数字只需要唯一即可
zookeeper.connect后面是集群的zookeeper,不同的用,隔开
启动zookeeper
集群启动zookeeper(此处为自编写脚本,如何写请参考https://mp.csdn.net/mdeditor/96994147#)
zkstart.sh
启动成功后查看其状态
/opt/zookeeper/bin/zkServer.sh status
启动kafka
启动kafka
bin/kafka-server-start.sh config/server.properties
创建topic
重起一个终端
cd /opt/kafka
创建topic(2个分区,2个副本,名称为first)
bin/kafka-topics.sh --create --zookeeper hadoop100:2181 --partitions 2 --replication-factor 2 --topic first
查看topic
bin/kafka-topics.sh --list --zookeeper hadoop100:2181
分别在3台主机查看logs
cd logs
ls
可以看到其中一台有first-0 和first-1
另外2台分别只有其中一个
启动生产者
在hadoop100上开启生产者
bin/kafka-console-producer.sh --broker-list hadoop100:9092 --topic first
成功后可以输入数据了
启动消费者
在hadoop101上开启消费者
0.90版本版本之前
bin/kafka-console-consumer.sh --zookeeper hadoop100:2181 --topic first
0.90版本版本之后(新版本消费者不再交给zookeeper维护)
bin/kafka-console-consumer.sh --bootstrap-server hadoop100:9092 --topic first
hadoop100上发送消息后,hadoop101上会接受到消息
想要一开始的消息也接收到执行以下命令
bin/kafka-console-consumer.sh --bootstrap-server hadoop100:9092 --topic first --from-beginning
查看topic详情
bin/kafka-topics.sh --zookeeper hadoop100:2181 --describe opic first
删除topic
bin/kafka-topics.sh --delete --zookeeper hadoop100:2181 --topic first
此处为kafka的显示Bug,我们已经设置为true,实际上是已经删除
查看kafka是否运行
1.jps 可以看到kafka
2.cd /opt/zookeeper/bin
执行zkCli.sh 再一次回车执行 ls /brokers/ids 后显示 [1,2,3]表示集群3个节点正常运行。