CDH中Kafka相关配置 #
这里注意,再CDH中kafka的执行文件目录在
/opt/cloudera/parcels/CDH/bin
一、相关命令 #
1.1 创建主题 #
bin/kafka-topics.sh --create --bootstrap-server hadoop-mgr:9092 --replication-factor 3 --partitions 1 --topic ttopic
1.2 查看消息 #
bin/kafka-topics.sh --list --zookeeper localhost:2181
bin/kafka-console-consumer.sh --bootstrap-server hadoop-mgr:9092 --topic topic_face --from-beginning
bin/kafka-console-consumer.sh --bootstrap-server hadoop-mgr:9092 --topic ttopic
1.3 查看消费者组 #
bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server hadoop-mgr:9292 --list
1.4 发送消息 #
bin/kafka-console-producer.sh --broker-list hadoop-mgr:9092 --topic ttopic
二、遇到的问题 #
2.1 kafka消费不成功 #
原因:集群内仅配置一个broker,但是kafka里的offsets.topic.replication.factor=3
解决办法:搜索 offsets.topic.replication.factor
offsets.topic.replication.factor = 1
2.2 kafka外部无法访问 #
解决办法:调整kafka配置 ,搜索:kafka.properties
listeners=PLAINTEXT://0.0.0.0:9092,
advertised.listeners=PLAINTEXT://192.168.0.145:9092
2.3 kafka日志存储过大 #
原因:kafka默认log数据保存时间过长,导致磁盘占用大量数据
解决办法:需要更改的两个选项,可以对应搜索
## 对于压缩的日志保留的最长时间,也是客户端消费消息的最长时间,同log.retention.minutes的区别在于一个控制未压缩数据,一个控制压缩后的数据。会被topic创建时的指定参数覆盖
log.cleaner.delete.retention.ms 调整为1 天
## 数据存储的最大时间
## log.retention.bytes和log.retention.minutes任意一个达到要求,都会执行删除
log.retention.ms 调整为1天