修改Kafka Topic的分区副本数

说明

Kafka提供了一个工具,用于调整Topic中各个分区的复本数据。工具名称叫 kafka-reassign-partitions.sh 。

过程

创建一个Topic,共2个分区,副本数为2(共2份,含原始数据):

查看该Topic。分区0的Leader是1,分区1的Leader是2:

准备一些数据,放在data.file中,然后将数据灌入Kakfa Topic:

在各broker的数据目录下,可以看到当前对应的Topic分区目录:

调整副本数据的配置是以json文件描述的,然后json文件作为参数传递给相关工具。json文件中描述了各个分区的复本如何放置。这里,我们分别为testTopic1的两个分区在原来的基础上新增加了第3个分区。 Continue reading “修改Kafka Topic的分区副本数”

etcd: 从应用场景到实现原理的全方位解读

随着CoreOS和Kubernetes等项目在开源社区日益火热,它们项目中都用到的etcd组件作为一个高可用强一致性的服务发现存储仓库,渐渐为开发人员所关注。在云计算时代,如何让服务快速透明地接入到计算集群中,如何让共享配置信息快速被集群中的所有机器发现,更为重要的是,如何构建这样一套高可用、安全、易于部署以及响应快速的服务集群,已经成为了迫切需要解决的问题。etcd为解决这类问题带来了福音,本文将从etcd的应用场景开始,深入解读etcd的实现方式,以供开发者们更为充分地享用etcd所带来的便利。 Continue reading “etcd: 从应用场景到实现原理的全方位解读”

Kafka常用命令

启动命令

启动kafka很简单,配置好前置的操作后,先进入zookeeper的目录下,启动zookeeper

启动后结果如下所示,就代表命令执行成功了:

PS:因为kafka是需要注册在zookeeper上面,通过zookeeper进行管理和调度的,所以启动kafka之前,我们必须要启动zookeeper。

随后我们进入Kafka目录下,启动kafka,具体操作命令如下所示:

看到没有报错之后kafka就是已经成功被运行了,当然可以jps -lm查看一下,操作命令如下:

可以看到zookeeper和kafka都已经运行起来了,当然这个是单机的命令,集群的命令后面再讲。 
这样启动又一个坏处,就是kafka启动完毕之后,不能关闭终端,为此,我们可以运行这条命令:

运行结果:

多个kafka的话,在各个虚拟机上运行kafka启动命令多次即可。 Continue reading “Kafka常用命令”