1.基本概念:
producer //消息生产者
consumer //消息消费者
consumer group //消费者组 可以通过设置group 来区分 队列模式 以及 发布订阅模式
kafka server //broker,kafka服务器 存放topic
zookeeper //hadoop namenoade + RM HA | hbase | kafka
topic //主题,副本数,分区 主题存在broker,一个主题 具有多个分区,每一个分区具有多个备份(备份数 小于等于 kafka节点数)
partitions //分区数
replica //备份数
2.安装kafka
3.核心配置
kafka config server.properties
1. broker.id = key 唯一值
2. listeners 监听端口(提供给客户端响应的端口)
3. log.dirs = 本地日志目录
4. zookeeper.connect = zk集群
4.启动zk
5.启动kafka
6.验证kafka是否启动 netstat -anop | grep 9092
7.kafka shell创建topic
bin/kafka-topic.sh --zookeeper master:2181 --replication-factor 3
--partitions 4 --create --topic test3
--zookeeper:指定zk节点
--partitions: 分区数
--replication-factor: 每个分区的备份数
--create --topic 创建主题的名称
8.kafka shell查看topic
bin/kafka-topics.sh --zookeeper master:2181 --describe --topic test1
--zookeeper:指定zk节
--describe --topic:查看 test1主题的详情
9.启动控制台生产者
$>bin/kafka-console-producer.sh --broker-list master:9092 --topic test1
--broker-list: kafka服务
10.启动控制台消费者
$>bin/./kafka-console-consumer.sh --bootstrap-server master:9092 --topic test1 --from-beginning --zookeeper master:2181
--from-beginning:偏移量 从头开始消费
4.发布消息的时候可以指定 分区
-----------------
kafka的分区 partition
kafka 副本 replication 只要有一个副本可用 kafka就可以提供服务 ,保持高可用性
------------------------------
1.kafak基本命令
主题信息
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic toplicName
列出主题
bin/kafka-topics.sh --list --zookeeper localhost:2181
消费者组
kafka-consumer-groups.sh --zookeeper 127.0.0.1:2181 --list
具体的某个消费者的消费详情 etlGroup
kafka-consumer-groups.sh --new-consumer --bootstrap-server 47.100.131.226:9092 --group etlGroup --describe
kafka-consumer-groups.sh --new-consumer --bootstrap-server 47.100.131.226:9092 --group etlGroup_SC --describe
kafka-consumer-groups.sh --new-consumer --bootstrap-server 139.196.187.139:9093 --group testEs --describe
kafka-consumer-groups.sh --new-consumer --bootstrap-server 139.196.187.139:9093 --group testGS --describe
./kafka-consumer-groups.sh --new-consumer --bootstrap-server 172.25.42.108:9092 --group etlGroup_HB --describe
./kafka-console-consumer.sh --topic GS.CMCC_Children_collection --from-beginning --zookeeper localhost:2181
开启kakfa 服务
$ nohup kafka-server-start.sh /home/espai/kafka/config/server.properties 1>/dev/null 2>&1 &
------------------
kafka consumer
spring:
kafka:
bootstrap-servers: 47.100.131.226:9092
consumer:
group-id: etlGroup_test
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
enable-auto-commit: true
auto-commit-interval: 5000ms
max-poll-records: 20 【消费20后 offset才会提交更新】
# listener:
# concurrency: 5
来源:oschina
链接:https://my.oschina.net/u/2870118/blog/3158898