Linux安装Kafka以及避坑整理
1、什么是kafka
Kafka 是由Linkedin 公司开发的一个分布式、支持多分区、多副本,基于 Zookeeper的分布式消息流平台(高版本已经不再依赖zookeeper),它同时也是一款开源的基于发布订阅模式的消息引擎系统。主要支持的功能如下:
由于kafka是高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性而被广泛使用。
2、Linux安装kafka
(1)下载安装包
下载地址:https://kafka.apache.org/downloads
Linux需要安装jdk1.8以及以上版本
(2)上传和解压压缩包
#解压文件
tar -zxvf kafka_2.13-3.2.0.tgz
#重名名文件
mv kafka2.13 kafka
(3)修改配置文件
1、cd /usr/local/kafka/config
、 vi server.properties
#broker实例标识,集群时要保证唯一
broker.id=1
# kafka存放数据的目录
log.dirs=/tmp/kafka-logs
# 注册中心zookeeper的地址
zookeeper.connect=zk_ip:2181
# 访问IP,需要保证服务能够通信
listeners=PLAINTEXT://linux_ip:9092
##超时将被删除,也就是说7天之前的数据将被清理掉。
log.retention.hours=168
# 是否允许自动创建topic ,若是false,就需要通过命令创建topic(=====我的只有这条没有加上了=====)
delete.topic.enable=true
(4)启动zookeeper和kafka
1、zk启动
nohup bin/zookeeper-server-start.sh config/zookeeper.properties &
、kafka启动
nohup bin/kafka-server-start.sh config/server.properties &
(5)测试kafka启动是否成功
#检测zk是否启动成功
ps -ef|grep zookeeper
#检测kafka启动情况
ps -ef|grep kafka
(6)测试是否可以正常生产和消费消息
#进入kafka的目录
cd /usr/local/kafka
#创建一个名字是test001的topic
bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server 192.168.203.237:9092
#开启生产者服务向topic中发送消息
bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server 192.168.203.237:9092
#开启消费者消费消息
bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server 192.168.203.237:9092
实际的效果图:
kafka其他的查询命令汇总:
#查询现有的topic的
bin/kafka-topics.sh --bootstrap-server 192.168.203.237:9092 --list
#查询具体的topic的信息
bin/kafka-topics.sh --bootstrap-server 192.168.203.237:9092 --topic test001 --describe
#查询消费者组的信息
bin/kafka-consumer-groups.sh --bootstrap-server 192.168.203.237:9092 --list
#删除topic
bin/kafka-topics.sh --bootstrap-server 192.168.203.237:9092 --delete --topic test001
3、搭建过程中的异常
(1)Kafka的消费者无法消费数据,生产者可以生产数据的处理
#查询kafka的日志位置
egrep -v "^*#|^$" server.properties
(2)删除kafka-log文件夹,重新启动kafka(目的是删除/usr/local/kafka/kafka-logs下的topic数据)