大数据课程I1——Kafka的概述

news2024/12/25 9:29:21

文章作者邮箱:yugongshiye@sina.cn              地址:广东惠州

 ▲ 本章节目的

⚪ 了解Kafka的概念;

⚪ 掌握Kafka的配置与启动;

一、简介

1. 基本概念

Apache kafka 是一个分布式数据流平台。可以从如下几个层面来理解:

1. 我们可以向Kafka发布数据以及从Kafka订阅数据,即我们可以将Kafka看作是一个消息队列或者企业消息系统。所起的作用:缓冲(消峰限流),实现生产与消费的解耦。

2. Kafka可以存储数据,并提供容错机制。即数据丢失后可以进行恢复。

3. 当数据到达Kafka之后,可以马上的被消费处理。即Kafka的延迟很低。

我们可以人为Kafka具备以上三个方面的明显能力。根据Kafka的这些特点,Kafka的适用场景就是:搭建实时流平台的中间件

2. kafka用途

1. 在系统或者应用程序之间构建实时数据传输管道。

2. 构建实时处理数据流的应有程序。

在实际工作中,对数据的处理方式有两种:

1. 离线批处理。

2. 实时流处理。

二、Kafka配置与启动

1. 基本概念

1.kafka是以集群部署方式运行在一台或多台服务器上。

2.kafka存储数据的类别成为topic。

3.在kafka中每一条记录包含一个key,一个value以及一个时间戳。

2. Kafka配置

1.通过wget从官网下载安装包 Apache Kafka。

2.上传到01虚拟机,解压。

3.进入Kafka安装目录下的config目录。

4.对server.properties进行配置。

要读的书 配置示例:

broker.id=1

log.dirs=/home/software/kafka/kafka-logs

zookeeper.connect=hadoop01:2181,hadoop02:2181,hadoop03:2181

delete.topic.enable=true

advertised.host.name=192.168.234.21

advertised.port=9092

5.保存退出后,别忘了在安装目录下创建 kafka-logs目录

6.配置其他两台虚拟机,更改配置文件的broker.id编号(不重复即可)。可以通过远程拷贝,将01的Kafka发送给02,03,更改broker.id即可。

#切换到/home/software目录,执行如下指令:

scp -r kafka_2.11-1.0.0 hadoop02:/home/software/

scp -r kafka_2.11-1.0.0 hadoop03:/home/software/

7.先启动zookeeper集群

#进入zookeeper的bin目录,执行如下指令:

sh zkServer.sh start

#查看zookeeper角色状态

sh zkServer.sh status 

8.启动kafka集群

#进入Kafka的bin目录,执行如下指令:

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

#退出:ctrl+c

3. Kafka使用

1.创建自定义的topic

在bin目录下执行:

sh kafka-topics.sh --create --zookeeper hadoop01:2181 --replication-factor 1 --partitions 1 --topic enbook

注:副本数量要小于等于节点数量

2.查看所有的topic

sh kafka-topics.sh --list --zookeeper hadoop01:2181

3.启动producer

sh kafka-console-producer.sh --broker-list hadoop01:9092  --topic  enbook

4.启动consumer

[root@hadoop01 bin]# sh kafka-console-consumer.sh --zookeeper hadoop01:2181 --topic enbook --from-beginning

5.可以通过producer和consumer模拟消息的发送和接收

6.删除topic指令:

进入bin目录,执行如下指令:

sh kafka-topics.sh --delete --zookeeper hadoop01:2181 --topic  enbook

可以通过配置 config目录下的 server.properties文件,加入如下的配置:

要读的书 配置示例:

delete.topic.enable=true

 

 

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

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

相关文章

第十六章、【Linux】程序管理与SELinux初探

16.1 什么是程序 (process) 在Linux 系统当中:“触发任何一个事件时,系统都会将他定义成为一个程序,并且给予这个程序一个 ID ,称为 PID,同时依据启发这个程序的使用者与相关属性关系&#xff…

Ubuntu18.04使用carla0.9.5联合仿真搭环境报错

Ubuntu18.04使用工程与carla0.9.5联合仿真报错 1 File "/home/cg/Auto_driving/src/ros-bridge/carla_ros_bridge/src/carla_ros_bridge/client.py", line 18, in <module>from carla_ros_bridge.bridge_with_rosbag import CarlaRosBridgeWithBagFile "…

04.利用Redis国逻辑过期实现缓存功能---解决缓存击穿

学习目标&#xff1a; 提示&#xff1a;学习如何利用Redis逻辑过期实现添加缓存功能解决缓存击穿 学习产出&#xff1a; 缓存击穿讲解图&#xff1a; 解决方案&#xff1a; 采用互斥锁采用逻辑过期 1. 准备pom环境 <dependency><groupId>org.springframework…

webpack 创建VUE项目

1、安装 node.js 下载地址&#xff1a;https://nodejs.org/en/ 下载完成以后点击安装&#xff0c;全部下一步即可 安装完成&#xff0c;输入命令验证 node -vnpm -v2.搭建VUE环境 输入命令&#xff0c;全局安装 npm install vue-cli -g安装完成后输入命令 查看 vue --ver…

算法篇之(Map Set)

前言&#xff1a;前面学习了List线性表的数组、链表数据结构&#xff0c;本篇博客主要学习和List相似的数据结构&#xff1a;Map和Set。 目录 思维导图 有效字母异位词 两数之和 思维导图 有效字母异位词 可以用哈希表实现 先创建哈希表&#xff0c; dic1{}对每个字符串进…

【C语言学习】条件运算符、逻辑运算、运算符优先级

一、条件运算符 条件&#xff1f;条件满足时的值&#xff1a;条件不满足时的值 count (count>20)?count-10:count10;等同于 if( count>20 )count count-10; elsecount count10; 优先级 条件运算符的优先级高于赋值运算符&#xff0c;但低于其他运算符。 尽量不要…

k8s 自身原理 2

前面我们说到 K8S 的基本原理和涉及的四大组件&#xff0c;分享了前两个组件 etcd 和 ApiServer 这一次我们接着分享一波&#xff1a; 调度器 scheduler控制器管理器 controller manager 调度器 scheduler 调度器&#xff0c;见名知意&#xff0c;用于调度 k8s 资源的&…

复现Cell图表:pyscenic分析之转录因子二项值热图

接上一节视频教程的分析结果(pyscenic分析&#xff1a;视频教程)。今天我们复现一篇cell子刊的图表&#xff0c;这篇文章有一副关于转录因子的图表&#xff0c;观察这个图有什么特点呢&#xff1f;第一是热图是二项值热图&#xff0c;只有0&#xff0c;1两个值&#xff0c;我们…

Rikka with Square Numbers 2023“钉耙编程”中国大学生算法设计超级联赛(8)hdu7370

Problem - 7370 题目大意&#xff1a;给出两个数a&#xff0c;b&#xff0c;每次操作可以使其中一个数加上或减去一个任意的完全平方数&#xff0c;问要使a&#xff0c;b相等需要的最少操作次数是多少 1<a,b<1e9,a!b 思路&#xff1a;我们可以将问题转化为将a和b的差w…

Qt 多线程、信号和槽连接方式推荐connect(Sender,Singnal,Receiver,Slot,ConnectMode);如下图所示

connect&#xff08;主线程A&#xff0c;信号A,子线程B,槽函数B,DirectConnection /AutoConnection ); connect&#xff08;子线B,信号B,主线程A,槽函数A,QueueConnection );

电脑连接安卓设备显示offline

The Android is offline. This can be resolved by physically disconnecting and...用USB线连接手机和电脑&#xff0c;打开cmd&#xff0c;输入adb devices -l, adb devices -l结果显示可以识别手机&#xff0c;但是状态为offline 打开另外一个终端&#xff0c;输入 adb k…

Java面向对象学习第三部分

一、Static修饰符 static是静态的意思&#xff0c;基本概念如下&#xff1a; Static分类&#xff1a; 一般我们分类都是按照是否使用static修饰进行分类。分为静态变量&#xff08;类变量&#xff09;、实例变量。 静态变量和实例变量的比较&#xff1a; 比较&#xff0c;…

(贪心) 剑指 Offer 14- I. 剪绳子 ——【Leetcode每日一题】

❓剑指 Offer 14- I. 剪绳子 难度&#xff1a;中等 给你一根长度为 n 的绳子&#xff0c;请把绳子剪成整数长度的 m 段&#xff08;m、n都是整数&#xff0c;n > 1 并且 m > 1&#xff09;&#xff0c;每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]*k[1]*...*k[m…

Python机器学习实战-建立AdaBoost模型预测肾脏疾病(附源码和实现效果)

实现功能 建立AdaBoost模型&#xff08;集成学习&#xff09;预测肾脏疾病 实现代码 import pandas as pd import warnings warnings.filterwarnings("ignore") pd.set_option(display.max_columns, 26)#读取数据 df pd.read_csv("E:\数据杂坛\datasets\kidn…

江南大学轴承数据故障诊断(利用一维CNN进行故障诊断,代码和数据放在压缩包,无需修改任何东西,解压缩后直接运行,有详细注释)

1.江南大学轴承数据集介绍 采样频率&#xff1a;50khz&#xff0c;采样时间&#xff1a;10s 转速&#xff1a;600 800 1000/rpm 内圈&#xff1a;ib 外圈&#xff1a;ob 滚动体&#xff1a;tb 正常&#xff1a;N 以600转速下的内圈故障数据为例展示&#xff1a; 开始数据…

内网穿透实战应用-配置固定的远程桌面地址【内网穿透、无需公网IP】

配置固定的远程桌面地址【内网穿透、无需公网IP】 文章目录 配置固定的远程桌面地址【内网穿透、无需公网IP】第一步&#xff1a;保留TCP地址第二步&#xff1a;为远程桌面隧道配置固定的TCP地址第三步&#xff1a;使用固定TCP地址远程桌面 使用免费的cpolar生成的远程桌面公网…

STM32 定时器自动重装载寄存器ARR带来的影响,ARPE0和1区别

ARR是啥 自动重载寄存器是预装载的。对自动重载寄存器执行写入或读取操作时会访问预装载寄存器。预装载寄存器的内容既可以直接传送到影子寄存器&#xff0c;也可以在每次发生更新事件 (UEV) 时传送到影子寄存器&#xff0c;这取决于 TIMx_CR1 寄存器中的自动重载预装载使能位 …

C语言:函数栈帧的创建和销毁(32位下观察)

一、寄存器&#xff08;0&#xff1a;3&#xff1a;35&#xff09; 1.寄存器有哪些&#xff1f;&#xff08;6种&#xff09;&#xff08;0&#xff1a;38&#xff1a;50&#xff09; 2.esp和ebp这两个寄存器中&#xff0c;存放的是什么&#xff1f;用来干嘛的&#xff1f;&a…

3.利用matlab计算不定积分和定积分(matlab程序 )

1.简述 不定积分 首先&#xff0c;通过符号变量创建一个符号函数&#xff0c;然后调用积分命令来计算函数的积分&#xff0c;示例如下&#xff1a; 注意&#xff1a;matlab中计算的不定积分结果中没有写上常数C&#xff0c;读者需要自己在使用的时候记得加上常数部分。 通常情…

auto-changelog的简单使用

auto-changelog的简单使用 自动化生成Git提交记录&#xff0c;CHANGELOG.md文件 github&#xff1a;https://github.com/cookpete/auto-changelog 安装 npm install -g auto-changelog配置脚本 package.json文件下 "scripts": {"changelog": "aut…