点一下关注吧!!!非常感谢!!持续更新!!!
目前已经更新到了:
Hadoop(已更完)
HDFS(已更完)
MapReduce(已更完)
Hive(已更完)
Flume(已更完)
Sqoop(已更完)
Zookeeper(已更完)
HBase(已更完)
Redis (已更完)
Kafka(正在更新…)
章节内容
上节我们完成了如下的内容,基本都是特性概念相关的:
Kafka 主题与分区
Kafka 自定义反序列化
Kafka 拦截器
Kafka 位移提交
Kafka 位移管理
Kafka 重平衡
kafka-topics
相关参数
创建主题
kafka-topics.sh --zookeeper h121.wzk.icu:2181 --create --topic topic_test_1 --partitions 1 --replication-factor 1
查看主题
kafka-topics.sh --zookeeper h121.wzk.icu:2181 --list
kafak-topics.sh --zookeeper h121.wzk.icu:2181 --describe --topic topic_test_1 • 1
修改主题
kafka-topics.sh --zookeeper h121.wzk.icu:2181 --create --topic topic_test_1 --partitions 2 --
删除主题
kafka-topics.sh --zookeeper h121.wzk.icu:2181 --delete --topic topic_test_1
增加分区
通过命令行工具操作,只能够增加,不能够减少。
kafka-topics.sh --zookeeper h121.wzk.icu:2181 --create --topic topic_test_1 --partitions 1 --replication-factor 1
kafka-topics.sh --zookeeper h121.wzk.icu:2181 --alter --topic topic_test_2 --partions 2
分区副本
副本分配的三个目标:
均衡的将副本分散到各个Broker上
对于某个Broker上分配的分区,它的其他副本在其他Broker上
如果所有的Broker都有机架信息,尽量将分区的各个副本分配到不同机架上的Broker
在不考虑机架信息的情况下:
第一个副本分区通过轮询的方式挑选一个Broker,进行分配。该轮询从Broker列表的随机位置进行轮询。
其余副本通过增加偏移量进行分配
必要参数
KafkaAdminClient
除了使用Kafka的Bin目录下的脚本来管理Kafka,还可以使用管理Kafka的API将某些管理查看的功能集成到系统中。
在Kafka 0.11 版本之前,可以通过kafka-core包(Kafka服务端,Scala)中的AdminClient和AdminUtils来实现部分集群管理操作。
在Kafka 0.11之后,多了一个AdminClient,在kakfa-client包下,一个抽象类:KafkaAdminClient。
基本介绍
基本功能包含如下:
创建主题:createTopics
删除主题:deleteTopics
列出所有主题:listTopics
查询主题:describeTopics
查询集群:describeCluster
查询配置:describeConfigs
修改配置:alterConfigs
修改副本的日志目录:alterReplicaLogDirs
查询节点的日志目录信息:describeLogDirs
查询副本的日志目录信息:describedReplicaLogDirs
增加分区:createPartitions
操作步骤
客户端根据方法的调用,创建出相应的协议请求,比如创建:Topic的createTopics方法,其内部就是发送CreateTopicRequest请求。
客户端发送请求到KafkaBroker
KafkaBroker处理相应的请求并回执,CreateTopicResponse,客户端接受并解析处理。
如果要自己实现一个功能,需要:
自定义XXOptions
自定义XXResult返回值
自定义Call,挑选合适的XXRequest和XXResponse
偏移量管理
在Kafka 1.0.2版本,在 __consumer_offsets 主题中保存各个消费组的偏移量。
早期是子啊ZooKeeper中管理消费偏移量。
脚本参数
脚本名称为:bin/kafka-consumer-groups.sh
查看GroupID消费
查看当前有哪些GroupID正在进行消费,这里没有指定Topic,查看的是所有Topic消费的GroupId的列表。
kafka-consumer-groups.sh --bootstrap-server h121.wzk.icu:9092 --list
查看指定ID消费
kafka-consumer-groups.sh --bootstrap-server h121.wzk.icu:9092 --describe --group group
设置偏移量为最早
kafka-consumer-groups.sh --bootstrap-server h121.wzk.icu:9092 --reset-offsets --group group --to
设置偏移量为最新
kafka-consumer-groups.sh --bootstrap-server h121.wzk.icu:9092 --reset-offsets --group group