【大数据技术Hadoop+Spark】Flume、Kafka的简介及安装(图文解释 超详细)

news2025/1/23 21:09:01

Flume简介

Flume是Cloudera提供的一个高可用、高可靠、分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

Flume主要由3个重要的组件构成:

1)Source:完成对日志数据的收集,分成transtion 和 event 打入到channel之中。

2)Channel:主要提供一个队列的功能,对source提供中的数据进行简单的缓存。

3)Sink:取出Channel中的数据,进行相应的存储文件系统,数据库,或者提交到远程服务器

Flume逻辑上分三层架构:agent,collector,storage。agent用于采集数据,agent是Flume中产生数据流的地方,同时,agent会将产生的数据流传输到collector。collector的作用是将多个agent的数据汇总后,加载到storage中。storage是存储系统,可以是一个普通file,也可以是HDFS,HIVE,HBase等。

Flume安装

1)下载apache-flume-1.8.0-bin.tar.gz,下载网址是:

下载网址

2)执行tar -zxvf apache-flume-1.8.0-bin.tar.gz -C /hadoop/ 命令进行解压缩,此例的解压路径是/hadoop。

3)编辑/etc/profile文件,加入以下内容:(以前的JAVA配置在安装hadoop时已经配置)。

4) 生成conf路径下的flume-env.sh 配置文件,执行拷贝命令

5)编辑flume-env.sh文件,在文件的最开始位置增加一行内容,根据你的jdk安装路径设置JAVA_HOME变量

export  JAVA_HOME=/usr/java/jdk1.8.0_161

 6) 生成conf路径下的/flume-conf.properties 配置文件,执行拷贝命令

7)编辑flume-env.sh文件,在文件末尾加入agent1、source1、channel1、sink1配置

8)启动服务,命令行上执行以下命令:

flume-ng agent -n agent1 -c conf -f
  /hadoop/apache-flume-1.8.0-bin/conf/flume-conf.properties -Dflume.root.logger=DEBUG,console

9)测试:在/hadoop/apache-flume-1.8.0-bin/logs创建一个文件test.txt,输入文本hello flume,可以看到flume的agent自动上传了我们刚刚创建的文件

Kafka简介

 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理生产者和消费者的所有动作流数据。生产者(Produce)向Kafka集群发送消息,在发送消息之前,会对消息进行分类,即主题(Topic),通过对消息指定主题可以将消息分类,消费者可以只关注自己需要的Topic中的消息。消费者(Consumer)通过与kafka集群建立长连接的方式,不断地从集群中拉取消息,然后可以对这些消息进行处理

Kafka安装

1)下载/kafka_2.11-2.4.1.tgz,

2)执行tar -zxvf  kafka_2.11-2.4.1.tgz -C /hadoop/ 命令进行解压缩,此例的解压路径是/hadoop.

3)编辑/etc/profile文件,加入以下内容

export ZOOKEEPER_HOME=/hadoop/zookeeper-3.4.13
export KAFKA_HOME=/hadoop/kafka_2.11-2.4.1
export PATH=$PATH:$KAFKA_HOME/bin

4)修改config路径下的server.properties 配置文件

broker.id=0
listeners=PLAINTEXT://172.16.106.69:9092
advertised.listeners=PLAINTEXT://172.16.106.69:9092
zookeeper.connect=172.16.106.69:2181,172.16.106.70:2181,172.16.106.71:2181
#根据自己ip对应修改即可

5)将安装文件拷贝到另两个节点,命令如下:

scp -r kafka_2.11-2.4.1 root@172.16.106.70:/hadoop/
scp -r kafka_2.11-2.4.1 root@172.16.106.71:/hadoop/

6)另外两个节点上的配置

broker.id 分别修改成: 1 和 2
 listeners 在ip那里分别修改成子节点对应的
 advertised.listeners ip那里分别修改成子节点对应的

(2)另外两个节点上配置kafka环境变量

7)启动服务,  在三个节点都启动kafka上执行以下命令:

./kafka-server-start.sh /hadoop/kafka_2.11-2.4.1/config/server.pro

8)测试。 在主节点上创建主题TestTopic,命令如下:

kafka-topics.sh 
--zookeeper 172.16.106.69:2181,172.16.106.70:2181,172.16.106.71:2181 
--topic TestTopic --replication-factor 1 --partitions 1 --create

在主节点上启动一个生产者,命令如下:

kafka-console-producer.sh
 --broker-list 172.16.106.69:9092,172.16.106.70:9092,172.16.106.71:9092
   --topic TestTopic

在其他两个节点上分别创建消费,命令如下:

kafka-console-consumer.sh 
--bootstrap-server ,172.16.106.70:9092 --topic TestTopic --from-beginning
kafka-console-consumer.sh
 --bootstrap-server ,172.16.106.71:9092 --topic TestTopic --from-beginning

在主节点生产者命令行那里输入一段话

然后你就会发现在其他两个消费者节点那里也出现了这句话,即消费到了该数据,演示如下

 

 创作不易 觉得有帮助请点赞关注收藏~~~

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

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

相关文章

NLP学习笔记(四) Seq2Seq基本介绍

大家好,我是半虹,这篇文章来讲序列到序列模型 (Sequence To Sequence, Seq2Seq) 本文写作思路如下: 从循环神经网络的应用场景引入,介绍循环神经网络作为编码器和解码器使用,最后是序列到序列模型 在之前的文章中&am…

微信消息收发与微信内部emoji表情转义

微信消息收发与微信内部emoji表情转义 目录 微信内部emoji表情转义与消息收发 一、概述 二、常用标准emoji表情字符、微信内部转义符、unicode对照表 1、比如 2、微信聊天窗口emoji表情字符 2.1、PC端表情选择,01~03排: 2.2、PC端表情选择&#…

华为IMC培训——通信基础

目录 一、华为设备图标 二、数据的传递 三、专业术语 四、网络设备及相关知识 五、OSI七层模型 六、TCP和UDP数据报格式 七、TCP的三次握手 八、 TCP窗口滑动机制 一、华为设备图标 AP:相当于家用路由器一般配和AC使用。 AC和AP的区别_wangzhibo_csdn的博客…

创意被盗用,这3个加水印方法,让照片刻上我们专属印记

一般我们为了保护自己的图片不被别人盗用,都会选择在图片上刻上专属印记。那么便是加水印方法,它包含两种:文字水印和图片水印。想知道怎么给图片添加水印吗?其实有很多种法子可以做到,下面就由我来分享这3个简单好用的…

代码随想录刷题记录 day48 两个字符串的删除操作+编辑距离

代码随想录刷题记录 day48 两个字符串的删除操作编辑距离 583. 两个字符串的删除操作 思想 两个元素都能删除了,还是考虑第i-1个字符和第j-1个字符是不是相同的,不相同的话考虑三种情况,删除i-1;删除j-1,同时删除 1…

css实现鼠标禁用(鼠标滑过显示红色禁止符号)

css实现鼠标禁用(鼠标滑过显示红色禁止符号)创作背景css鼠标禁用创作背景 从本文开始,将会用三篇文章来一步一步实现vueantdts实战后台管理系统中table表格的不可控操作。中间会补充两篇css知识文章,方便后续功能的实现。实现表格…

非零基础自学Golang 第14章 反射 14.2 基本用法 14.2.2 获取类型的值 14.2.3 使用反射调用函数

非零基础自学Golang 文章目录非零基础自学Golang第14章 反射14.2 基本用法14.2.2 获取类型的值14.2.3 使用反射调用函数第14章 反射 14.2 基本用法 14.2.2 获取类型的值 Go语言使用reflect.TypeOf来获取类型信息,使用reflect.ValueOf来获取变量值的信息。 refle…

云原生|kubernetes|CKA真题解析-------(6-10题)

第六题: service配置 解析: 考察两个知识点: deployment控制器内的port命名 暴露一个pod内的端口到新建的服务内的 这里有一个需要注意的地方,没有告诉你deployment控制器在哪个namespace。假设这个front-end这个pod是在A这个…

前端CSS Flex布局8大重难点知识,收藏起来吧

2009年,W3C提出了一种新的方案—-Flex布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 Flex布局将成为未来布局的首选方案。这也是学习前…

Spring之底层架构核心概念-BeanDefinition

目录1.什么是BeanDefinition?2.如何生成BeanDefinition?2.1. Component2.1. bean标签2.3. Bean注解2.4. AbstractBeanDefinition2.5. 利用BeanDefinition 读取器-解析类2.6. XmlBeanDefinitionReader - 解析 xml文件2.7. ClassPathBeanDefinitionScanner 扫描生成 …

2022年度回顾 | 技术篇:突破公链不可能三角的努力

2022年接近尾声,驻足回看行业这一年的跌宕起伏,无论是技术的突破,应用的创新,还是生态的兴衰,皆成为了行业发展的历史注脚。如往年一样,万向区块链于年末推出重磅年度回顾系列文章:《公链技术篇…

一款免费的开源的 Switch 模拟器,支持超过3200款游戏

一款免费的开源的 Switch 模拟器,支持超过3200款游戏。 Ryujinx是一个开源的任天堂Switch模拟器,由gdkchan创建,用C#编写。该模拟器旨在提供卓越的准确性和性能、用户友好的界面和一致的构建。它是从头开始编写的,于2017年9月开始…

深度学习——锚框(笔记)

1.锚框的解释 目标检测算法中,通常会在输入图像中采样大量区域,然后判断这些区域是否包含所感兴趣的目标,并调整区域边界从而更加准确的预测目标真实的边缘框。 ①一类目标检测算法是基于锚框的 ②提出多个框被称为锚框的区域(…

GIS开发入坑(三)--QGIS制作行政区划及背景图层

QGIS,功能强大的GIS工具,地理信息开发中的必备神器,今天以南京市为例制作行政区划并使用电子地图为数字底图进行呈现。 1.获取行政区划数据 阿里云的可视化平台提供了便捷的中国行政区划数据获取方式,数据层级最小到区县级。 htt…

游戏视频录制用什么软件?这2款软件,用过都说好

小编相信很多朋友在游戏中都有精彩的操作。有些朋友想和朋友分享他们在游戏中的精彩操作,但他们不知道有什么容易使用的免费游戏视频录制软件,可以记录他们在游戏中的亮眼表现。那么,哪个电脑游戏视频录制软件容易使用和免费呢?接…

【树莓派不吃灰】兄弟连篇⑤ 服务管理

目录1、服务分类2、rpm安装服务(旧版本系统)3、源码包安装(旧版本系统)❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2022-12-20 ❤️❤️ 本篇更新记录 2022-12-20 ❤️&#x1f3…

环境多介质逸度模型实践技术与典型案例【代码】应用

随着污染物在各种环境中的迁移和转化,多介质污染物模型日益受到关注。在各类多介质模型中,基于逸度概念的逸度模型由于运用范围广,建模数据要求较低而广受欢迎。 【原文链接】: 环境多介质逸度模型实践技术与典型案例【代码】应用…

《集体智慧编程》笔记(4 / 12):搜索与排名

由于书本未提供数据文件且提供的链接无法被链接且pysqlite安装失败,所以本章只是阅读学习。 文章目录搜索引擎的组成一个简单的爬虫程序使用urllib2爬虫程序的代码建立索引建立数据库Schema在网页中查找单词加入索引查询基于内容的排名归一化函数单词频度文档位置单…

JAVA面试(关于技术深耕方向和职业规划)

人的精力有限,制定清晰明确的技术发展方向,会使自己少走很多弯路。经过快10年的工作,我现在主要给自己在技术上定了这几个方向。 1、专注JAVA开发。 2、专注JAVA架构。 3、专注JAVA项目运维。 4、专注数字化业务项目。 5、专注JAVA项目的…

Springboot事件监听+@Async注解

文章目录一、不求甚解二、人云亦云三、刨根问底四、曲突徙薪一、不求甚解 在开发中经常可以利用Spring事件监听来实现观察者模式,进行一些非事务性的操作,如记录日志之类的。 Controller Controller中注入ApplicationEventPublisher,并利用…