• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

【Kafka】安装测试

武飞扬头像
juejin
帮助56

知识点

kafka的俗语解释

broker: kafka集群包含一个或多个服务器,服务器节点称为broker

broker存储topic的数据。如果某topicKafka 集群包含一个或多个服务器,服务器节点称为broker。

broker存储topic的数据。如果某topic有N个partition,集群有N个broker,那么每个broker存储该topic的一个partition。

如果某topic有N个partition,集群有(N M)个broker,那么其中有N个broker存储该topic的一个partition,剩下的M个broker不存储该topic的partition数据。

如果某topic有N个partition,集群中broker数目少于N个,那么一个broker存储该topic的一个或多个partition。在实际生产环境中,尽量避免这种情况的发生,这种情况容易导致Kafka集群数据不均衡。

topic: 每条发布到kafka集群的消息都有一个类别,这个类别称为Topic,类似于数据库的表名

Partition: topic 中的数据分割为一个或者多个partition 每个topic至少有一个partition。每个partition中的数据使用多个segment文件存储。partition中的数据是有序的,不同partition间的数据丢失了数据的顺序。如果topic有多个partition,消费数据时就不能保证数据的顺序。在需要严格保证消息的消费顺序的场景下,需要将partition数目设为1。

Producer : 生产者就是数据的发布在,该角色将消息发布到Kafka的topic中broker接收到生产者发送的消息后,broker将该消息追加到当前用于追加数据的segment文件中,生产者发送的消息,存储到一个partition中,生产者也可以指定数据存储的partition。

Consumer : 消费者可以从broker中读取数据。消费者可以消费多个topic中的数据。

Consumer Group :每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)

Leader:每个partition有多个副本,其中有且仅有一个作为Leader,Leader是当前负责数据的读写的partition。

Follower:Follower跟随Leader,所有写请求都通过Leader路由,数据变更会广播给所有Follower,Follower与Leader保持数据同步。如果Leader失效,则从Follower中选举出一个新的Leader。当Follower与Leader挂掉、卡住或者同步太慢,leader会把这个follower从“in sync replicas”(ISR)列表中删除,重新创建一个Follower。

Kafka基本架构的介绍

  1. Broker Kafka集群包含一个或多个服务器,这种服务器被称为broker

  2. Topic 每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上,但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处)

  3. Partition Partition是物理上的概念,每个Topic包含一个或多个Partition.

  4. Producer 负责发布消息到Kafka broker

  5. Consumer 消息消费者,向Kafka broker读取消息的客户端。

  6. Consumer Group 每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)

1.Java环境

详情见:【Deepin-15.11】系统配置【Datax】

2.Kafka安装

Kafka官网下载界面

本次实验Kafka版本为:kafka_2.11-2.0.0

安装包内已经附带zookeeper,不需要额外安装zookeeper

3.Zookeeper启动

Kafka根目录下运行:
bin/zookeeper-server-start.sh  config/zookeeper.properties

在这里插入图片描述

出现:

INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)

表示ZooKeeper已经成功地在端口2181上启动了。

4.Kafka服务器启动

(Zookeeper启动状态下)

Kafaka根目录下运行:
bin/kafka-server-start.sh config/server.properties

在这里插入图片描述

控制台输出:

INFO [KafkaServer id=0] started (kafka.server.KafkaServer)

表示Kafka服务器启动成功,默认端口是9092.

5.创建Topic、查看Topic状态

创建一个topic用于消息的发送与接收。

bin/kafka-topics.sh  --create  --zookeeper  localhost:2181  --topic test  --partitions 1  --replication-factor 1

该topic名字是test,分区partition数量为1,副本replication数量为1。

在这里插入图片描述

bin/kafka-topics.sh  --describe  --zookeeper  localhost:2181  --topic test

6.Producer、Consumer视角

1.Producer

kafka默认提供了脚本工具,可以不断地接受标准输入,并将它们发送到kafka的某个topic上的分区上。 启动以下命令后,输入一行文本数据,脚本将该文本封装成一条kafka消息发送给指定的topic。

Kafaka根目录下运行:
bin/kafka-console-producer.sh  --broker-list  localhost:9092  --topic  test

每当按下回车键后该行文本即会被发送

在这里插入图片描述

2.Consumer
Kafka根目录下运行:
bin/kafka-console-consumer.sh  --bootstrap-server  localhost:9092   --topic test  --from-beginning

在这里插入图片描述

Reference

kafka的安装与测试/文CSDN@无情白)

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanejba
系列文章
更多 icon
同类精品
更多 icon
继续加载