【大数据】Kafka 实战教程(二)

Kafka 实战教程(二)

  • 1.下载
  • 2.安装
  • 3.配置
  • 4.运行
    • [4.1 启动 Zookeeper](#4.1 启动 Zookeeper)
    • [4.2 启动 Kafka](#4.2 启动 Kafka)
  • 5.第一个消息
    • [5.1 创建一个 Topic](#5.1 创建一个 Topic)
    • [5.2 创建一个消息消费者](#5.2 创建一个消息消费者)
    • [5.3 创建一个消息生产者](#5.3 创建一个消息生产者)

1.下载

你可以在 Kafka 官网:http://kafka.apache.org/downloads,下载到最新的 Kafka 安装包,选择下载二进制版本的 tgz 文件,这里我们选择的版本是 kafka_2.11-1.1.0

2.安装

Kafka 是使用 Scala 编写的运行于 JVM 上的程序,虽然也可以在 Windows 上使用,但是 Kafka 基本上是运行在 Linux 服务器上,因此我们这里也使用 Linux 来开始今天的实战。

首先确保你的机器上安装了 JDK,Kafka 需要 Java 运行环境,以前的 Kafka 还需要 Zookeeper,新版的 Kafka 已经内置了一个 Zookeeper 环境,所以我们可以直接使用。

说是安装,如果只需要进行最简单的尝试的话我们只需要解压到任意目录即可,这里我们将 Kafka 压缩包解压到 /home 目录。

3.配置

在 Kafka 解压目录下有一个 config 文件夹,里面放置的是我们的配置文件。

  • consumer.properites:消费者配置,这个配置文件用于配置消费者,此处我们使用默认的即可。

  • producer.properties:生产者配置,这个配置文件用于配置生产者,此处我们使用默认的即可。

  • server.properties kafka:服务器的配置,此配置文件用来配置 Kafka 服务器,目前仅介绍几个最基础的配置。

    • broker.id:申明当前 Kafka 服务器在集群中的唯一 ID,需配置为 integer,并且集群中的每一个 Kafka 服务器的 id 都应是唯一的,我们这里采用默认配置即可。
    • listeners:申明此 Kafka 服务器需要监听的端口号,如果是在本机上跑虚拟机运行可以不用配置本项,默认会使用 localhost 的地址,如果是在远程服务器上运行则必须配置,例如:listeners=PLAINTEXT://192.168.180.128:9092,并确保服务器的 9092 9092 9092 端口能够访问。
    • zookeeper.connect:申明 Kafka 所连接的 Zookeeper 的地址 ,需配置为 Zookeeper 的地址,由于本次使用的是 Kafka 高版本中自带 Zookeeper,使用默认配置即可 zookeeper.connect=localhost:2181

当我们有多个应用,在不同的应用中都使用 Zookeeper,都使用默认的 zk 端口的话,就会 2181 2181 2181 端口冲突。我们可以设置自己的端口号,在 config 文件夹下 zookeeper.properties 文件中修改为 clientPort=2185,也就是 zk 开放接口为 2185 2185 2185。

同时修改 Kafka 的接入端口,server.properties 文件中修改为 zookeeper.connect=localhost:2185。这样我们就成功修改了 Kafka 里面的端口号。

4.运行

4.1 启动 Zookeeper

cd 进入 kafka 解压目录,输入如下命令:

复制代码
bin/zookeeper-server-start.sh config/zookeeper.properties

启动 zookeeper 成功后,会看到如下输出:

4.2 启动 Kafka

cd 进入 kafka 解压目录,输入如下命令:

复制代码
bin/kafka-server-start.sh config/server.properties

启动 kafka 成功后,会看到如下输出:

5.第一个消息

5.1 创建一个 Topic

Kafka 通过 Topic 对同一类的数据进行管理,同一类的数据使用同一个 Topic 可以在处理数据时更加的便捷。

kafka 解压目录打开终端,输入以下命令,创建一个名为 test 的 Topic。

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

在创建 Topic 后,可以通过输入以下命令,来查看已经创建的 Topic。

复制代码
bin/kafka-topics.sh --list --zookeeper localhost:2181

5.2 创建一个消息消费者

kafka 解压目录打开终端,输入以下命令:

复制代码
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

可以创建一个用于消费 Topic 为 test 的消费者。

消费者创建完成之后,因为还没有发送任何数据,因此这里在执行后没有打印出任何数据。不过别着急,不要关闭这个终端,打开一个新的终端,接下来我们创建第一个消息生产者。

5.3 创建一个消息生产者

kafka 解压目录打开一个新的终端,输入以下命令:

复制代码
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

在执行完毕后会进入编辑器页面。

在发送完消息之后,可以回到我们的消息消费者终端中,可以看到,终端中已经打印出了我们刚才发送的消息。

相关推荐
jqpwxt15 分钟前
启点创新山水景区智慧旅游SAAS平台,智慧景区售检票系统,景区门票管理系统
大数据·旅游
嘻哈baby1 小时前
接口幂等性设计实战|防止重复提交的几种方案
分布式·环境测试
陀螺财经1 小时前
加密热潮“席卷”美国军界
大数据·人工智能·区块链
打码人的日常分享2 小时前
智慧城市一网统管建设方案,新型城市整体建设方案(PPT)
大数据·运维·服务器·人工智能·信息可视化·智慧城市
Sui_Network2 小时前
21shares 在纳斯达克推出 2 倍 SUI 杠杆 ETF(TXXS)
大数据·人工智能·游戏·金融·区块链
龙亘川2 小时前
开箱即用的智慧城市一网统管 AI 平台——功能模块详解(3)
大数据·人工智能·智慧城市·智慧城市一网统管 ai 平台
dragonzoebai3 小时前
ol加载互联网瓦片大于18级时空白
大数据
AI营销快线3 小时前
AI营销下半场:B2B选型指南
大数据·人工智能
一只专注api接口开发的技术猿4 小时前
构建电商数据中台:基于淘宝 API 关键词搜索接口的设计与实现
大数据·开发语言·数据库
LaughingZhu5 小时前
Product Hunt 每日热榜 | 2025-12-01
大数据·人工智能·经验分享·搜索引擎·产品运营