hadoop重命名文件_Hadoop -- 3. 从Flume到HDFS

提起Flume, 就先讲一下它的基本作用, 它可以从不同的数据源导入到一个集中的地方存放起来,基本架构如下图所示

30ab530079d2876ab108704cc187a4e7.png

*上图为Flume Data Flow Model, Ref: Flume 1.9.0 User Guide

本篇文章会做一个小demo, 数据从spooling directory来(而不是官网图中画的Web Server), 先经过channel, 再写入HDFS

*Note: Flume的source, channel和sink的类型非常多,所以本次用的source是Spooling Directory Source, Sink是 HDFS Sink, Channel是Memory Channel

前提准备

搭建HDFS环境, 可以参考以下文章

Richie:Hadoop -- 1. 从零搭建HDFS​zhuanlan.zhihu.com
a9bd74a9ac09f7d0d57b401985787b18.png

配置Flume

从下面的官网直接下载Flume编译好的包(Apache Flume binary)

Download - Apache Flume​flume.apache.org

解压放在某个路径下, 然后把flume加入环境变量, 如下

export FLUME_HOME=/Path_To_Your_Flume_Dir/flume-1.8.0
export PATH=$PATH:$FLUME_HOME/bin

之后记得source以下, 例如

source ~/.zshrc

创建spool dir

spool dir其实就是一个目录, 所以和创建目录的指令都一致

mkdir /path_to_your_spooldir

为source和sink配置config文件

这里先命名为hdfs.conf吧

agent1.sources = source1
agent1.sinks = sink1
agent1.channels = channel1agent1.sources.source1.channels = channel1
agent1.sinks.sink1.channel = channel1agent1.sources.source1.type = spooldir
agent1.sources.source1.spoolDir = /path_to_your_spooldiragent1.sinks.sink1.type = hdfs
agent1.sinks.sink1.hdfs.path = /tmp/flume
agent1.sinks.sink1.hdfs.filePrefix = events
agent1.sinks.sink1.hdfs.fileSuffix = .log
agent1.sinks.sink1.hdfs.inUsePrefix = _
agent1.sinks.sink1.hdfs.fileType = DataStreamagent1.channels.channel1.type = memory

启动Flume

cd /to_your_flume_home_dir
flume-ng agent --conf-file /path_to_your_hdfs.conf --name agent1 --conf conf -Dflume.root.logger=INFO,console

写入Spool Dir

cd /to_your_spool_dir
echo "Hello Flume" > .file1.txt
mv .file1.txt file1.txt
*Note: 这里解释一下为什么先写入隐藏文件, 然后再重命名了一下. 这是为了避免写了部分文件的时候, 就被flume source读取了, 所以我们先写入隐藏文件, 然后做个原子操作-重命名,之后flume就可以读到完整的文件了

在HDFS中查看写入内容

hdfs dfs -ls /tmp/flume

e007d180ed1ad1c706c26172a9958d69.png

然后看一下.log文件中的内容

hdfs dfs -cat /tmp/flume/events.1547361342874.log

431fedf6f69d5c52304d9e17895c4020.png
可以看到截图最后一行“Hello Flume”, 证明成功写入HDFS

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

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

相关文章

osgi 模块化_OSGI –模块化您的应用程序

osgi 模块化由于我是模块化,低耦合,高凝聚力等的大力拥护者,所以…… 我相信这项技术是我们使用Java平台创建应用程序的突破。 使用OSGi,创建高度可扩展的应用程序非常简单,例如参见Eclipse IDE。 我的目的不是要深入展…

电脑计算器_CPA考生注意!2020考场只允许带这种计算器

注册会计师每年采用闭卷、计算机化考试方式。根据往年考生的反应,计算器的使用在考场上发挥了非常大的作用。值得大家注意的是,并不是所有的计算器都能带进考场,考试对计算器有什么要求?如何挑选到正确的计算器?我们一起来看看&a…

最早的齿轮计算机,世界最古老“计算机”出土后110年,科学家终于解开它的秘密...

伦敦大学学院(UCL)的研究团队,提出了“一个激进的新模型,与所有数据相匹配,并最终优雅地展示出了古希腊人眼中的宇宙”。1901年,在希腊岛屿安提基特拉的海岸,潜水员偶然发现了一艘古代沉船。沉船中的一件文物&#xff…

通过Java 8中的Applicative Builder组合多个异步结果

几个月前,我发布了一个出版物 ,在其中详细解释了我提出的名为Outcome的抽象,它通过强制使用语义帮助了我很多 没有副作用的代码。 通过遵循这种简单(但功能强大)的约定,我最终将任何类型的故障(…

在python中是否可以使用if作为变量名_在Python中可以使用if 作为变量名_python使用符号 标示注释...

在Python中可以使用if 作为变量名答:" src"" style"max-width: 100%; display: inline;">往来款项清查结果的账务处理与货币资金、存货和固定资产不同,它不通过“待处理财产损溢”账户。答:√明嘉靖皇帝是昏君答…

diskgenius 接触“只读“失败_相亲总是失败,这三个步骤你都做了吗?

原标题:相亲总是失败,这三个步骤你都做了吗?虽然现在爱情很稀缺,但想必大家都想找个男女朋友,想谈一场甜甜的恋爱。 而相亲,无疑是脱单最直接、最有效的方式,没有之一。但不管是经人介绍&#x…

shell中的常用通配符,字符类

因为 shell 频繁 地使用文件名,shell 提供了特殊字符来帮助你快速指定一组文件名。这些特殊字符叫做通配符。 通配符     意义 *         匹配任意多个字符(包括零个或一个)  ?         匹配任意一个字符&…

agv系统介绍_重载AGV小车主要结构及导航原理是什么?

相信对AGV有过了解的朋友都知道,当我们在进行工业生产过程时,重载AGV小车可以帮我们实现无人驾驶搬运的一个工作,可以保证AGV在运行时不用通过人工干预的情况下来完成现场的搬运工作,通过无人驾驶技术进行自主导航将货物自动从起始位置搬运到…

怎样打开计算机音频服务器,win10系统音频服务器未运行的修复步骤

有关win10系统音频服务器未运行的操作方法想必大家有所耳闻。但是能够对win10系统音频服务器未运行进行实际操作的人却不多。其实解决win10系统音频服务器未运行的问题也不是难事,小编这里提示两点:1、在1、windows10“音频服务未运行”,有个红色小叉咋办…

rgb fusion检测不到显卡_【论文阅读27】Co-Fusion

主要内容物体级别的语义SLAM。维护一个背景模型和多物体模型,每个模型由面元地图表示。基于运动分割和语义信息检测运动物体。使用基于ICP对齐的几何误差和基于颜色差异的光度误差跟踪背景模型(相机位姿)和多个运动物体。根据[8]的方法更新每…

修改linux系统用户最大线程数限制

linux系统对线程数量有个最大限制,当达到系统限制的最大线程数时使用账号密码ssh到系统时是无法登陆的,会报Write failed: Broken pipe,或者是shell request faied on chanel 0。在root用户下切换到该用户也会报错,su clouder&…

u盘插在电脑上灯亮没有反应_u盘插入电脑无反应怎么解决 u盘插入电脑无反应解决方法【步骤介绍】...

u盘的轻巧、便捷使其在生活工作中重要的工具设备,在使用u盘的过程中插入的 u盘无法识别 ,电脑对插入的u盘无反应,遇到这样的问题该怎么办呢?接下来小编就和大家介绍 电脑无法识别u盘 的解决办法。1 、使用其它的移动设备插在电脑usb接口上&a…

recaptcha_与reCAPTCHA的Spring集成

recaptcha有时我们只需要CAPTCHA ,这是一个可悲的事实。 今天,我们将学习如何与reCAPTCHA集成。 因为主题本身并不是特别有趣和高级,所以我们将通过使用Spring Integration处理低级细节来过度设计(?)。 Goo…

vbs关不掉的计算机窗口,恶搞之关不掉的窗口.vbs脚本

过完小年,到处都是过年的气息,给大家介绍一些轻松好玩的东西:一个好玩的脚本——关不掉的窗口。1、在电脑上创建一个XXX.txt文本,把代码复制进去,不要写注释,也不要在句尾留空格,保存&#xff0…

honeywell新风系统控制面板说明_如何选择新风系统中的新风设备万家舒适家

喜欢点击蓝字关注我们吧我们常说“看人不光要看外表,更要看内在”,这个说法对新风机同样适用。新风机的内部件主要分为:动力模块、电控模块、净化模块、热交换模块这四个部分。首先、动力模块,就是风机。从我们消费者角度来看&…

第八周学习进度条

转载于:https://www.cnblogs.com/baiyue/p/7110849.html

keras 生成句子向量 词向量_在Keras模型中使用预训练的词向量

在Keras模型中使用预训练的词向量文章信息通过本教程,你可以掌握技能:使用预先训练的词向量和卷积神经网络解决一个文本分类问题本文代码已上传到Github本文作者:Francois Chollet什么是词向量?”词向量”(词嵌入)是将一类将词的语义映射到向…

设计模式的Java 8 Lambda表达式–策略设计模式

策略模式定义封装在通常称为Context的驱动程序类中的一系列算法,并使这些算法可互换。 它使算法易于互换,并提供了在特定时间选择适当算法的机制。 算法(策略)在运行时由客户端或上下文选择。 在与客户端交互期间,Con…

2016美国计算机研究生,2016美国留学:美国大学研究生计算机工程专业排名

排名学校名称学校英文名所在地学费/年1Massachusetts Instituteof TechnologyCambridge, MA$44,7201StanfordUniversityStanford, CA$47,0731University ofCalifornia—BerkeleyBerkeley, CA$26,3224卡耐基梅隆大学Carnegie MellonUniversityPittsburgh, PA$41,0005伊利诺伊大学…

hdu 4961 Boring Sum(高效)

题目链接&#xff1a;hdu 4961 Boring Sum 题目大意&#xff1a;给定ai数组; 构造bi, kmax(j|0<j<i,aj%ai0), biak;构造ci, kmin(j|i<j≤n,aj%ai0), ciak; 求∑i1nbi∗ci解题思路&#xff1a;由于ai≤105,所以预先处理好每一个数的因子&#xff0c;然后在处理bi&#…