kafka基础知识

 1.kafka分区,副本

kafka 每个主题在结构上有一个或者多个分区构成,分区数可以在创建主题时指定,也可以在主题创建之后修改,由kafka-topic.sh修改,但是只能增加不能减少分区数。

每个分区有一个副本或者多个副本组成,挑选其中一个副本作为leader,其它的为follower,

leader负责读写操作,接受生产者将消息发送,follower只从leader同步数据。

 

 2. 日志结构

每个分区对应一个物理目录,每个分区至少有一个副本,每个副本分布在不同节点上,对应分区的日志

.log    日志文件  任何发布到分区的消息都会被直接追加到该日志文件
.index  消息偏移量索引文件
.timeindex  消息时间戳索引文件

 

 

3. IST kafka在zookeeper中动态维护了一个ISR(In-sync Replica),即同步保存副本列表,即所有副本对应节点id

 

4.启动kafka

bin目录下

./kafka-server-start.sh -daemon ../config/server.properties

 

 

5.查看java进程

[root@docp-n bin]# jps
2032 Kafka
5188 Jps
5157 Kafka
1755 QuorumPeerMain

 启动两个kafka

 

6.通过zookeeper 客户端登录zookeeper查看目录结构

./zkCli.sh -server localhost:2181 

[root@docp-n bin]# ./zkCli.sh -server localhost:2181
Connecting to localhost:2181
Welcome to ZooKeeper!
JLine support is enabled

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] ls /brokers/ids   #查看已启动的节点
[0, 1]

 

 

7.伪分布

在一个节点可以启动多个kafka,指定另一个配置文件即可,需要修改节点id

./kafka-server-start.sh -daemon ../config/server.properties-1

 

 

8.集群

集群修改 conf/server.properties 下的 zookeeper.connect即可

zookeeper.connect=docp1:2181,10.0.1.222:2181

 

posted @ 2018-10-24 10:17  Mr-Lee-long  阅读(327)  评论(0编辑  收藏  举报