CDH中Kafka相关配置

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天