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

Kafka 实战教程(二)

  • 1.下载
  • 2.安装
  • 3.配置
  • 4.运行
    • 4.1 启动 Zookeeper
    • 4.2 启动 Kafka
  • 5.第一个消息

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

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

在这里插入图片描述

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

在这里插入图片描述


http://www.niftyadmin.cn/n/5116811.html

相关文章

【Javascript】运算符(赋值,算术,自增,自减)

目录 赋值 算术 单个变量: 多个变量: 在字符串,数组中充当连接符 自符串与字符串 数组与数组 数组与字符串 自增与自减 前置 自增 自减 后置 自增 自减 赋值 var a 1;算术 单个变量: var a 1;a 1;console.l…

Electron 学习

Electron基本简介 如果你可以建一个网站,你就可以建一个桌面应用程序。Eletron 是一个使用 JavaScript, HTML和 CSS等Web 技术创建原生程序的框架,它负责比较难搞的部分,你只需把精力放在你的应用的核心上即可。 Electron 可以让你使用纯 Jav…

Java编写图片转base64

图片转成base64 url , 在我们的工作中也会经常用到,比如说导出 word,pdf 等功能,今天我们尝试写一下。 File file new File("");byte[] data null;InputStream in null;ByteArrayOutputStream out null;try{URL url new URL(&…

OS 处理机调度

目录 处理机调度的层次 高级调度 作业 作业控制块 JCB 作业调度的主要任务 低级调度 中级调度 进程调度 进程调度时机 进程调度任务 进程调度机制 排队器 分派器 上下文切换器 进程调度方式 非抢占调度方式 抢占调度方式 调度算法 处理机调度算法的目标 处理…

ElasticSearch安装、插件介绍及Kibana的安装与使用详解

ElasticSearch安装、插件介绍及Kibana的安装与使用详解 1.安装 ElasticSearch 1.1 安装 JDK 环境 因为 ElasticSearch 是用 Java 语言编写的,所以必须安装 JDK 的环境,并且是 JDK 1.8 以上,具体操作步骤自行百度 安装完成查看 java 版本 …

MapReduce编程:自定义分区和自定义计数器

文章目录 MapReduce编程:自定义分区和自定义计数器一、实验目标二、实验要求及注意事项三、实验内容及步骤 附:系列文章 MapReduce编程:自定义分区和自定义计数器 一、实验目标 熟练掌握Mapper类,Reducer类和main函数的编写方法…

CVE-2022-41082:Microsoft Exchange 反序列化类型混淆 RCE 漏洞简单分析

简介 漏洞编号:CVE-2022-41082漏洞类型:类型混淆软件名称:Microsoft Exchange模块名称:Exchange 服务 powershell 接口模块历史漏洞:易受攻击的流行软件影响的版本:Microsoft Exchange Server 2019 2016 2…

UE5 虚幻引擎中UI、HUD和UMG的区别与联系

目录 0 引言1 UI 用户界面2 HUD 用户界面3 UMG4 总结 🙋‍♂️ 作者:海码007📜 专栏:UE虚幻引擎专栏💥 标题:UE5 虚幻引擎中UI、HUD和UMG的区别与联系❣️ 寄语:加油,一次专注一件事…