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

Kafka 实战教程(二)

  • 1.下载
  • 2.安装
  • 3.配置
  • 4.运行
    • 4.1 启动 Zookeeper
    • 4.2 启动 Kafka
  • 5.第一个消息
    • 5.1 创建一个 Topic
    • 5.2 创建一个消息消费者
    • 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

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

在这里插入图片描述

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/116586.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

玩游戏缺失“d3d11.dll丢失“的问题的五种解决方案

在我日常的计算机维护工作中,经常遇到一些用户报告他们遇到了"d3d11.dll丢失"的问题。这是一个常见的Windows系统错误,通常会导致程序无法正常运行。在这篇文章中,我将分享我找到的五种有效的解决方法,以帮助这些用户解…

Selenium获取百度百科旅游景点的InfoBox消息盒

前面我讲述过如何通过BeautifulSoup获取维基百科的消息盒,同样可以通过Spider获取网站内容,最近学习了SeleniumPhantomjs后,准备利用它们获取百度百科的旅游景点消息盒(InfoBox),这也是毕业设计实体对齐和属…

Linux下的命令行参数和环境变量

命令行参数 什么是命令行参数 命令行参数是指在执行命令行程序时&#xff0c;给程序传递的额外参数。在Linux终端中&#xff0c;命令行参数通常通过在命令后面添加空格分隔的参数来传递。 Linux下以main函数举例说明 #include<stdio.h>int main(int argc char* argv[])…

C++入门(3):引用,内联函数

一、引用 1.1 引用特性 引用必须初始化 一个变量可以有多个引用 引用一旦引用一个实体&#xff0c;就不能引用其他实体 int main() {int a 10, C 20;int& b a;b c; // 赋值&#xff1f;还是b变成c的别名&#xff1f;return 0; }1.2 常引用 引用权限可以平移或缩小…

MySQL实践——分页查询优化

问题现象 一个客户业务系统带有分页查询功能&#xff0c;但是随着查询页数的增加&#xff0c;越往后查询性能越差&#xff0c;有时一个查询可能需要1分钟左右的时间。分页查询的写法类似于&#xff1a; select * from employees limit 250000,5000;这是最传统的一种分页查询写…

AD9371 官方例程HDL详解之JESD204B TX侧时钟生成 (三)

AD9371 系列快速入口 AD9371ZCU102 移植到 ZCU106 &#xff1a; AD9371 官方例程构建及单音信号收发 ad9371_tx_jesd -->util_ad9371_xcvr接口映射&#xff1a; AD9371 官方例程之 tx_jesd 与 xcvr接口映射 AD9371 官方例程 时钟间的关系与生成 &#xff1a; AD9371 官方…

GB28181学习(十一)——控制(PTZ、镜头、光圈等控制)

要求 源设备向目标设备发送控制命令&#xff0c;控制命令类型包括&#xff1a; 摄像机云台控制远程启动录像控制报警布防/撤防报警复位强制关键帧拉框放大/缩小看守位控制PTZ精准控制存储卡格式化目标跟踪软件升级设备配置 设备配置的内容包括&#xff1a; 基本参数视频参数范…

React TypeScript安装npm第三方包时,些包并不是 TypeScript 编写的

npm install types/包名称 例如&#xff1a;npm install types/jquery 学习链接

QSPI介绍

0 Preface/Foreword 1 QSPI介绍

Win10下基于VS2015编译SQLite3源码

一、下载SQLite SQLite SQLite Download Page 下载红框部分的3个文件 提示&#xff1a;这里有个 sglite-autoconf-3420000.tar.gz 是免编译版&#xff0c;想省事就下载这个&#xff0c;但我自己用这个老是编译不过 所以我这里不推荐这个了 二、配置SQLite 打开vs 2015或者其他…

Android Kotlin 协程初探 | 京东物流技术团队

1 它是什么&#xff08;协程 和 Kotlin协程&#xff09; 1.1 协程是什么 维基百科&#xff1a;协程&#xff0c;英文Coroutine [kəru’tin] &#xff08;可入厅&#xff09;&#xff0c;是计算机程序的一类组件&#xff0c;推广了协作式多任务的子程序&#xff0c;允许执行被…

SqueezeNet 一维,二维网络复现 pytorch 小白易懂版

SqueezeNet 时隔一年我又开始复现神经网络的经典模型&#xff0c;这次主要复的是轻量级网络全家桶&#xff0c;轻量级神经网络旨在使用更小的参数量&#xff0c;无限的接近大模型的准确率&#xff0c;降低处理时间和运算量&#xff0c;这次要复现的是轻量级网络的非常经典的一…

muduo源码学习base——Atomic(原子操作与原子整数)

Atomic(原子操作与原子整数&#xff09; 前置知识AtomicIntegerTget()getAndAdd()getAndSet() 关于原子操作实现无锁队列(lock-free-queue) 前置知识 happens-before&#xff1a; 用来描述两个操作的内存可见性 如果操作 X happens-before 操作 Y&#xff0c;那么 X 的结果对于…

有奖招募——2023年度清华社“荐书官”活动今日开始了!

又到“1024程序员节”了&#xff0c;维护网络世界稳定和平的程序员大大们&#xff0c;辛苦了&#xff01;生活难免有bug&#xff0c;来给彼此个hug~ 过完1024&#xff0c;这一年也快要结束了&#xff0c;岁末回顾又要提上日程。很多人都有整理年度书单的习惯&#xff0c;那么这…

架构风格区别-架构案例(五十九)

管道-过滤器和仓库的区别&#xff1f; 独立的数据仓库&#xff0c;处理流独立&#xff0c;处理数据用连接仓库工具数据与处理在一起&#xff0c;改动的话需要重启系统需要仓库工具与仓库连接&#xff0c;数据与处理分离&#xff0c;性能差可以支持并发连接访问仓库&#xff0c…

【经验分享】如何构建openGauss开发编译提交一体化环境

前文 本文适合对openGauss源代码有好奇心的爱好者&#xff0c;那么一个友好的openGauss源代码环境应该是怎么样的。openGauss的开发环境是如何设置的&#xff1f;openGauss的编译环境是如何构建的&#xff1f;如何向openGauss提交代码&#xff0c;笔者集合官方和几位博主实践提…

2023年【危险化学品生产单位主要负责人】考试报名及危险化学品生产单位主要负责人模拟考试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 危险化学品生产单位主要负责人考试报名考前必练&#xff01;安全生产模拟考试一点通每个月更新危险化学品生产单位主要负责人模拟考试题题目及答案&#xff01;多做几遍&#xff0c;其实通过危险化学品生产单位主要负…

用nodejs爬虫台湾痞客邦相册

情景:是这样的,我想保存一些喜欢的小伙伴的照片,一张张保存太慢了, 所以我写了个js,放在国外服务器爬,国内的自己解决~ 使用方法 1.点相册随便一张, 复制url, 这张开始接下来的图片都会保存 /*** 2023年10月23日 22:58:44* 支持解析痞客邦相册* 只需要复制相册第一张图片的ur…

新款模块上线实现SIP模块与扩拨电话之间打点与喊话功能 IP矿用电话模块SV-2800VP

新款模块上线实现SIP模块与扩拨电话之间打点与喊话功能 IP矿用电话模块SV-2800VP 一、简介 SV-2800VP系列模块是我司设计研发的一款用于井下的矿用IP音频传输模块&#xff0c;可用此模块打造一套低延迟、高效率、高灵活和多扩展的IP矿用广播对讲系统&#xff0c;亦可对传统煤…

Linux 下安装配置部署MySql8.0

一 . 准备工作 MySQL安装包&#xff1a;在官网下载需要的版本&#xff0c;这里我用的版本是 MySQL 8.0.34 https://dev.mysql.com/downloads/mysql/ 本次linux机器使用的是阿里云ECS实例 二 . 开始部署 1. 将安装包上传至服务器 解压到当前文件夹 tar -zxvf mysql-8.0.34…