《Hadoop MapReduce实战手册》一2.7 设置文件冗余因子

简介:

本节书摘来异步社区《Hadoop MapReduce实战手册》一书中的第2章,第2.7节,作者: 【美】Srinath Perera , Thilina Gunarathne 译者: 杨卓荦 责编: 杨海玲,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.7 设置文件冗余因子

Hadoop MapReduce实战手册
HDFS跨集群存储文件时,会把文件切分成粗粒度的、大小固定的块。出于容错的目的,这些粗粒度的数据块会被复制到不同的DataNode中。数据块的冗余有助于增加数据本地化MapReduce计算的能力,同时也可以增加总的数据访问带宽。减少冗余因子则有助于节省HDFS上的存储空间。

HDFS冗余因子(HDFS replication factor)是文件级属性,可以基于每个文件进行单独配置。本节将展示如何通过改变HDFS部署的默认冗余因子来影响以后创建的新文件,如何在创建HDFS文件的时候指定自定义冗余因子,以及如何改变现有的HDFS文件的冗余因子。

操作步骤

  1. 要使用NameNode的配置文件来设置文件的冗余因子,需要添加或修改`javascript
    $HADOOP_HOME/conf/
hdfs-site.xml中的dfs.replication属性。这种修改不会改变那些HDFS中已有的文件的冗余因子。新的冗余因子只会影响在参数修改后新复制的文件。


  dfs.replication
  2

2. 也可以在上传文件时在命令行中设置文件的冗余因子,如下所示:

bin/hadoopfs -D dfs.replication=1 -copyFromLocal non-critical-

file.txt /user/foo

3. 使用setrep命令可以改变HDFS中已有的文件或文件路径的冗余因子。

bin/hadoopfs -setrep 2 non-critical-file.txt

Replication 3 set: hdfs://myhost:9000/user/foo/non-critical-file.txt

工作原理
setrep命令的语法如下:

hadoopfs -setrep [-R]

使用setrep命令的<path>参数可以指定需要改变冗余因子的HDFS路径。使用-R选项可以递归地为一个目录中的所有文件和目录设置冗余因子。

更多参考
使用ls命令列出文件时,会显示文件的冗余因子。

bin/hadoopfs -ls

Found 1 item
-rw-r--r--2foo supergroup ... /user/foo/non-critical-file.txt

相关文章
|
12天前
|
存储 分布式计算 监控
Hadoop【基础知识 01+02】【分布式文件系统HDFS设计原理+特点+存储原理】(部分图片来源于网络)【分布式计算框架MapReduce核心概念+编程模型+combiner&partitioner+词频统计案例解析与进阶+作业的生命周期】(图片来源于网络)
【4月更文挑战第3天】【分布式文件系统HDFS设计原理+特点+存储原理】(部分图片来源于网络)【分布式计算框架MapReduce核心概念+编程模型+combiner&partitioner+词频统计案例解析与进阶+作业的生命周期】(图片来源于网络)
145 2
|
1天前
|
存储 分布式计算 Hadoop
Hadoop 集群小文件归档 HAR、小文件优化 Uber 模式
该文介绍了Hadoop中两种小文件管理策略。首先,通过Hadoop Archive (HAR)将小文件归档成大文件以减少存储和管理开销。操作包括使用`hadoop archive`命令进行归档和解档。其次,文章讨论了小文件优化的Uber模式,这种模式在同一JVM中运行所有MapReduce任务以提高效率和局部性,但可能引发单点故障和资源限制问题。启用Uber模式需在`mapred-site.xml`配置文件中设置相关参数。文中还提供了使用WordCount例子验证Uber模式配置的步骤。
|
1天前
|
分布式计算 Hadoop Java
Hadoop MapReduce 调优参数
对于 Hadoop v3.1.3,针对三台4核4G服务器的MapReduce调优参数包括:`mapreduce.reduce.shuffle.parallelcopies`设为10以加速Shuffle,`mapreduce.reduce.shuffle.input.buffer.percent`和`mapreduce.reduce.shuffle.merge.percent`分别设为0.8以减少磁盘IO。
|
11天前
|
分布式计算 并行计算 搜索推荐
Hadoop MapReduce计算框架
【5月更文挑战第10天】HadoopMapReduce计算框架
18 3
|
12天前
|
分布式计算 数据可视化 Hadoop
大数据实战——基于Hadoop的Mapreduce编程实践案例的设计与实现
大数据实战——基于Hadoop的Mapreduce编程实践案例的设计与实现
|
12天前
|
分布式计算 资源调度 Hadoop
java与大数据:Hadoop与MapReduce
java与大数据:Hadoop与MapReduce
29 0
|
12天前
|
分布式计算 Hadoop 测试技术
|
12天前
|
分布式计算 监控 Hadoop
Hadoop【基础知识 02】【分布式计算框架MapReduce核心概念+编程模型+combiner&partitioner+词频统计案例解析与进阶+作业的生命周期】(图片来源于网络)
【4月更文挑战第3天】Hadoop【基础知识 02】【分布式计算框架MapReduce核心概念+编程模型+combiner&partitioner+词频统计案例解析与进阶+作业的生命周期】(图片来源于网络)
61 0
|
12天前
|
分布式计算
如何在MapReduce中处理多个输入文件?
如何在MapReduce中处理多个输入文件?
71 0
|
12天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
102 2

相关实验场景

更多