首页 > 其他 > 详细

快速开始

时间:2020-01-19 11:31:29      阅读:58      评论:0      收藏:0      [点我收藏+]

Step1:下载代码

下载代码并解压。

> tar -xzf kafka_2.12-2.4.0.tgz
> cd kafka_2.12-2.4.0

Step2:启动服务

运行kafka需要使用Zookeeper,所以需要先启动Zookeeper,并配置好server.properties中zookeeper的连接信息。
技术分享图片

之后启动服务

> bin/kafka-server-start.sh config/server.properties

技术分享图片

Step 3: 创建一个主题(topic)

创建一个名为“test”的Topic,只有一个分区和一个备份。

> bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

技术分享图片

topic创建之后在zk上会有topic相关的信息。

技术分享图片

Step 4: 发送消息

> bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

技术分享图片

Step 5: 消费消息

> bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

技术分享图片

Step 6: 设置多个broker集群

到目前,我们只是单一的运行一个broker,没什么意思。对于Kafka,一个broker仅仅只是一个集群的大小,所有让我们多设几个broker。

首先为每个broker创建一个配置文件:

> cp config/server.properties config/server-1.properties 
> cp config/server.properties config/server-2.properties

编辑配置文件,设置以下属性

config/server-1.properties: 
    broker.id=1 
    listeners=PLAINTEXT://:9093 
    log.dir=/tmp/kafka-logs-1

config/server-2.properties: 
    broker.id=2 
    listeners=PLAINTEXT://:9094 
    log.dir=/tmp/kafka-logs-2

broker.id是集群中每个节点的唯一且永久的名称,修改端口和日志目录是因为现在在同一台机器上运行,我们要防止broker在同一端口上注册和覆盖对方的数据。
启动新配置的两个节点

> bin/kafka-server-start.sh config/server-1.properties &
... 
> bin/kafka-server-start.sh config/server-2.properties &
...

技术分享图片

创建一个新topic,把备份设置为:3

> bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 3 --partitions 1 --topic my-replicated-topic
> bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic my-replicated-topic

技术分享图片

命令describe topics的解释:

  • "leader":该节点负责该分区的所有的读和写,每个节点的leader都是随机选择的。
  • "replicas":备份的节点列表,无论该节点是否是leader或者目前是否还活着,只是显示。
  • "isr":“同步备份”的节点列表,也就是活着的节点并且正在同步leader。

快速开始

原文:https://www.cnblogs.com/qg000/p/12212851.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!