面试试题一之Flume,HDFS

flume是什么?

Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采 集、聚合和传输的软件。评论管理

Flume 的核心是把数据从数据源(source)收集过来,再将收集到的数据送到 指定的目的地(sink)。为了保证输送的过程一定成功,在送到目的地(sink)之前, 会先缓存数据(channel),待数据真正到达目的地(sink)后,flume 在删除自己缓 存的数据
flume核心组件有哪些

采集数据:服务器的某特定目录下,会不断产生新的文件,每当有新文件出现, 就需要把文件采集到 HDFS 中去 根据需求,首先定义以下 3 大要素

 采集源,即 source——监控文件目录 : spooldir

 下沉目标,即 sink——HDFS 文件系统 : hdfs sink

 source 和 sink 之间的传递通道——channel,可用 file channel 也可以用 内存 channel
hdfs是什么

统一管理分布在 集群上的文件系统称为分布式文件系统,提供统一的访问接口
为什么选用hdfs

1.一次写入,多次读写 2.高吞吐量(存储非常大的文件几百M、G、或者TB级别),对延时没有要求 3.具有高容错的特点(块 备份) 4.具有可扩展的特点  5.对配置要求不高,节约成本
hdfs的读写流程

文件写入过程

文件读取过程

hdfs的常见命令有哪些

mkdir创建文件夹  cp拷贝文件 cat查看内容 chmod修改权限 

rm删除文件 ls查看文件列表 mv移动文件 chown改变用户和组
介绍下fsimage和edits

1 概述
HDFS中的NameNode被称为元数据节点DataNode称为数据节点。NameNode维护了文件与数据块的映射表以及数据块与数据节点的映射表,而真正的数据是存储在DataNode上。
对于NameNode如何存储这些信息,它维护两个文件,一个是fsimage,一个是editlog。

2 fsimage与editlog作用
fsimage保存了最新的元数据检查点,在HDFS启动时加载fsimage的信息,包含了整个HDFS文件系统的所有目录和文件的信息。
对于文件来说包括了数据块描述信息、修改时间、访问时间等;对于目录来说包括修改时间、访问权限控制信息(目录所属用户,所在组)等。
editlog主要是在NameNode已经启动情况下对HDFS进行的各种更新操作进行记录,HDFS客户端执行所有的写操作都会被记录到editlog中。
3 设计好处
NameNode起来之后,HDFS中的更新操作会重新写到edits文件中,因为fsimage文件一般都很大(GB级别的很常见),如果所有的更新操作都往fsimage文件中添加,这样会导致系统运行的十分缓慢,对于更新操作都会记录在editlog中,为了避免editlog不断增大,secondary namenode会周期性合并fsimage和edits成新的fsimage,新的操作记录会写入新的editlog中,这个周期可以自己设置(editlog到达一定大小或者定时)。,术业有专攻嘛。

4 重要性
fsimage包含Hadoop文件系统中的所有目录和文件idnode的序列化信息,所以如果fsimage丢失或者损坏了,那么即使DataNode上有块的数据,但是我们没有文件到块的映射关系,我们也无法用DataNode上的数据!所以定期及时的备份fsimage和edits文件非常重要!


hdfs小文件合并如何做

https://blog.csdn.net/woloqun/article/details/83418964

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hi洛一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值