Kafka补充及启动kafka

补充:

Kafka中可以有多个broker,我们理解时可以把broker当做一个新华书店理解

broker中可以有多个topic,topic是逻辑分区及逻辑存在的主题,不存储数据

topic中可以有多个partition(分区),partition是真正存放数据的地方,一个partition是一个强有力的序列,也就是先入先出队列,partition由segment组成,segment实际上就是一个目录,由两部分组成,一部分是.index结尾的文件,另一部分是.log结尾的文件(1).index是给kafka储存的数据做搜索索引使用的(2).log是储存kafka数据的地方

这里topic的partition的个数是可以设置的,如果设置成一个就保证了topic是一个强有序的队列。

另外,当我们消费者在读取数据进行消费之前,会先去zk里获取源数据信息、位置偏移量,当拿到这些数据之后进行数据读取,并根据位置偏移量进行选择是否重新读取整个数据还是接着执行。

位置偏移量:比如当前有1 2 3 4 5 6 7 8 9 10个数据,执行到4的时候服务器重启了,这时候位置偏移量就指向4这个地方,然后在进行选择是否接着处理还是重新开始处理。

新知识:

Kafka的启动:

1.启动命令:./bin/kafka-server-start.sh config /server.properties(注:在启动之前需要先配置server.properties文件修改如下)

 broker.id=0
  listeners=PLAINTEXT://:9092 //kafka向外界提供的端口号也是默认的端口号
  log.dirs=/tmp/kafka-logs   //指定kafka数据储存的目录
  num.partitions=3  //指定partition的个数
  zookeeper.connect=192.168.30.10:2181 //配置连接zk
  host.name=192.168.30.10 //指定谁要访问kafka
  advertised.host.name=192.168.30.10
# Timeout in ms for connecting to zookeeper

  zookeeper.connection.timeout.ms=6000 //连接超时时间

查看当前kafka中有哪些topic 命令
./bin/kafka-topics.sh --list --zookeeper hnode1 2181
查看具体的topic信息命令如下:
./bin/kafka-topics.sh --describe --zookeeper hnode1 2181 --topic topic3
创建topic命令:
./bin/kafka-topics.sh --create --zookeeper hnode1:2181 --topic topic5 --partitions 1 --replication-factor 1
创建生产者 命令如下:
./bin/kafka-console-producer.sh --topic topic5 --broker-list hnode1:9092
创建消费者  命令如下:
./bin/kafka-console-consumer.sh --zookeeper hnode1:2181 --topic topic5

猜你喜欢

转载自blog.csdn.net/qq_41950069/article/details/80684126