【大数据】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

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

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

相关推荐
Mephisto.java几秒前
【大数据学习 | Spark】Spark的改变分区的算子
大数据·elasticsearch·oracle·spark·kafka·memcache
小马爱打代码13 分钟前
Elasticsearch简介与实操
大数据·elasticsearch·搜索引擎
只因在人海中多看了你一眼3 小时前
分布式缓存 + 数据存储 + 消息队列知识体系
分布式·缓存
zhixingheyi_tian6 小时前
Spark 之 Aggregate
大数据·分布式·spark
PersistJiao6 小时前
Spark 分布式计算中网络传输和序列化的关系(一)
大数据·网络·spark
KevinAha7 小时前
Kafka 3.5 源码导读
kafka
求积分不加C7 小时前
-bash: ./kafka-topics.sh: No such file or directory--解决方案
分布式·kafka
nathan05297 小时前
javaer快速上手kafka
分布式·kafka
宅小海9 小时前
scala String
大数据·开发语言·scala
小白的白是白痴的白9 小时前
11.17 Scala练习:梦想清单管理
大数据