kafka一些基本操作

1.      查看某个topic各个分区的位置:

bin/kafka-topics.sh --topic test1349 --describe --zookeeper ip:2181


2.      创建某个topic:

bin/kafka-topics.sh --create --zookeeper ip:2181 --replication-factor 2 --partitions 10 --topic opstest


3.      查看创建的topic列表

bin/kafka-topics.sh  --list --zookeeper ip:2181

4.      重新把某个topic打到某几台机器上面

使用Kafka自带的kafka-reassign-partitions.sh工具来重新分布分区。该工具有三种使用模式:

1、generate模式,给定需要重新分配的Topic,自动生成reassignplan(并不执行)

2、execute模式,根据指定的reassign plan重新分配Partition

3、verify模式,验证重新分配Partition是否成功

4.1 首先定义一个json文件,topics-to-move.json 里面说明哪些topic需要重新分区,文件内容如下:

{"topics": [{"topic": "opstest"}],

 "version":1

}

4.2    利用kafka自带的kafka-reassign-partitions.sh工具生成reassign plan

bin/kafka-reassign-partitions.sh --zookeeper ip:2181 --topics-to-move-json-file topics-to-move.json --broker-list "1,2" --generate


4.3   然后把下面Proposed partitionreassignment configuration 信息保存到一个文件中:new-topic-reassignment.json,然后执行操作:

bin/kafka-reassign-partitions.sh --zookeeper ip:2181 --reassignment-json-file new-topic-reassignment.json --execute

 

4.4   最后确认下执行结果

 

5.      Kafka生成消息:

bin/kafka-console-producer.sh --broker-list 10.77.112.246:9092 --topic opstest

6.      Kafka消费消息:

bin/kafka-console-consumer.sh --zookeeper ip:2181 --topic opstest --from-beginning

 

 



参考文章;http://www.iteblog.com/archives/1611

http://www.cnblogs.com/w1991/p/5161625.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kafka是一个分布式流处理平台,它的基本原理是通过将数据流发布到主题(topic)上,然后订阅主题的消费者可以实时读取和处理这些数据。下面是Kafka的基本原理: 1. 主题(Topics):数据被组织成一个个主题,每个主题都可以有多个生产者和消费者,并且可以分为多个分区(partitions)。每个主题都有一个唯一的名称,用于标识和区分不同的数据流。 2. 生产者(Producers):生产者将数据发布到指定的主题上。它负责将数据按照指定的分区策略写入到对应的分区中。生产者可以同时向多个主题写入数据。 3. 消费者(Consumers):消费者订阅一个或多个主题,并且从每个分区中读取数据。消费者以消费者组(consumer group)的形式进行组织,每个组内可以有多个消费者实例。每个分区只能由同一个消费者组内的一个消费者实例进行消费。 4. 分区(Partitions):每个主题可以分为多个分区,每个分区都有一个唯一的标识符(partition ID)。分区是Kafka实现高吞吐量和容错性的关键。每个分区在物理上是一个有序且不可变的数据队列。 5. 副本(Replication):Kafka通过副本机制保证数据的可靠性。每个分区可以配置多个副本,其中一个副本被选为领导者(leader),其他副本作为追随者(follower)。领导者负责处理读写请求,追随者只负责复制领导者的数据。 6. 利用日志结构存储:Kafka使用日志结构存储(log-structured storage)来持久化数据。数据以追加方式写入磁盘,而不是直接修改原始文件。这种设计使得Kafka能够实现高吞吐量的读写操作。 总结来说,Kafka通过主题、分区、生产者和消费者的组合,实现了高吞吐量、可扩展性和容错性的分布式流处理。它适用于大规模数据的实时处理和异步通信场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值