`
welcome66
  • 浏览: 396989 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

kafka集群操作命令

阅读更多

1.修改kafka配置文件

 

broker.id=0
zookeeper.connect=192.168.1.10:2181,192.168.1.12:2181,192.168.1.13:2181/kafka

 说明:

 

默认Kafka会使用ZooKeeper默认的/路径,这样有关Kafka的ZooKeeper配置就会散落在根路径下面,如果 你有其他的应用也在使用ZooKeeper集群,查看ZooKeeper中数据可能会不直观,所以强烈建议指定一个chroot路径,直接在 zookeeper.connect配置项中指定。

而且,需要手动在ZooKeeper中创建路径/kafka,使用如下命令连接到任意一台 ZooKeeper服务器:

 

cd ~/zookeeper
bin/zkCli.sh 
create /kafka ''
在ZooKeeper执行如下命令创建chroot路径。
这样,每次连接Kafka集群的时候(使用--zookeeper选项),也必须使用带chroot路径的连接字符串,后面会看到。

 2.创建topic

 

 

bin/kafka-topics.sh --create --zookeeper 192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181/kafka --replication-factor 2 --partitions 3 --topic TEST_123

 说明:

 

上面是创建了一个名为:test-topic的topic,分区数为3,副本数2

3.查看topic

 

bin/kafka-topics.sh --describe --zookeeper 192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181/kafka 

 说明:

 

上面是查看zk集群上,当前所有topic的详细情况,如下图:



 
上面Leader、Replicas、Isr的含义如下:

 

    1 Partition: 分区
    2 Leader : 负责读写指定分区的节点
    3 Replicas : 复制该分区log的节点列表
    4 Isr : “in-sync” replicas,当前活跃的副本列表(是一个子集),并且可能成为Leader
    我们可以通过Kafka自带的bin/kafka-console-producer.sh和bin/kafka-console-consumer.sh脚本,来验证演示如果发布消息、消费消息。

4.生产消息命令

 

bin/kafka-console-producer.sh
--broker-list
192.168.1.12:9092,
192.168.1.13:9092,
192.168.1.14:9092
--topic
TEST_123

 说明:

 

在上面的kafka broker上的topic上生产消息

5.消费消息命令

 

bin/kafka-console-consumer.sh --zookeeper 192.168.169.91:2181,192.168.1.12:2181,192.168.169.93:2181/kafka --from-beginning --topic TEST_123

 

 说明:

可以在Producer终端上输入字符串消息行,就可以在Consumer终端上看到消费者消费的消息内容。
也可以参考Kafka的Producer和Consumer的Java API,通过API编码的方式来实现消息生产和消费的处理逻辑。

6.启动集群命令

 

bin/kafka-server-start.sh config/server.properties &

 7.停止集群命令

 

bin/kafka-server-stop.sh

 8.删除一个topic

bin/kafka-topics.sh  --delete --zookeeper 192.168.1.11:2181/kafka  --topic TEST_123

 说明:

(1)配置文件server.properties中必须设置delete.topic.enable=true,否则只会标记为删除,而不是真正删除。

(2)执行此脚本的时候,topic的数据会同时被删除。如果由于某些原因导致topic的数据不能完全删除(如其中一个broker down了),此时topic只会被marked for deletion,而不会真正删除。此时创建同名的topic会有冲突。

9.修改topic

(1)修改分区数量:

bin/kafka-topics.sh --alter  --zookeeper 192.168.1.11:2181/kafka --topic TEST_123 --partitions 4

 (2)增加、修改或者删除一个配置参数:

bin/kafka-topics.sh —alter --zookeeper 192.168.1.11:2181/kafka  --topic TESt_123 --config key=value
bin/kafka-topics.sh —alter --zookeeper 192.168.1.11:2181/kafka  --topic
my_topic_name --deleteConfig key

 

  • 大小: 152.8 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics