hadoop关于dfs.datanode.data.dir下过个目录不均衡问题
来源:互联网 发布:vscode 运行npm命令 编辑:程序博客网 时间:2024/05/29 02:52
hadoop的dfs.datanode.data.dir是设置datanode节点存储数据块文件的本地路径,通常可以设置多个,用逗号隔开:
<property>
<name>dfs.datanode.data.dir</name>
<value>/var/local/dfs-data,/usr/local/hadoop/dfs-data</value>
</property>
但随着数据量的增多,有可能会导致磁盘空间不均衡。
当前hadoop写入文件有两种策略,一种是默认的轮询方式,一种是根据可用空间的大小来判断写入。
配置参数:
<property>
<name>dfs.datanode.fsdataset.volume.choosing.policy</name>
<value>org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy</value>
</property>
此项配置是根据磁盘的可用空间来优先写入的策略。一般需要配合一下两个参数来使用:
dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold
默认值是10737418240,既10G,一般使用默认值就行,以下是该选项的官方解释:
This setting controls how much DN volumes are allowed to differ in terms of bytes of free disk space before they are considered imbalanced. If the free space of all the volumes are within this range of each other, the volumes will be considered balanced and block assignments will be done on a pure round robin basis.
意思是首先计算出两个值,一个是所有磁盘中最大可用空间,另外一个值是所有磁盘中最小可用空间,如果这两个值相差小于该配置项指定的阀值时,则就用轮询方式的磁盘选择策略选择磁盘存储数据副本。
dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference-fraction
默认值是0.75f,一般使用默认值就行,以下是该选项的官方解释:
This setting controls what percentage of new block allocations will be sent to volumes with more available disk space than others. This setting should be in the range 0.0 - 1.0, though in practice 0.5 - 1.0, since there should be no reason to prefer that volumes with
意思是有多少比例的数据副本应该存储到剩余空间足够多的磁盘上。该配置项取值范围是0.0-1.0,一般取0.5-1.0,如果配置太小,会导致剩余空间足够的磁盘实际上没分配足够的数据副本,而剩余空间不足的磁盘取需要存储更多的数据副本,导致磁盘数据存储不均衡。
参考文章:http://blog.csdn.net/bigdatahappy/article/details/39992075
- hadoop关于dfs.datanode.data.dir下过个目录不均衡问题
- 关于hadoop中datanode节点不同的dfs.data.dir之间数据均衡问题
- hadoop中datanode节点不同的dfs.data.dir之间数据均衡问题
- org.apache.hadoop.hdfs.server.datanode.DataNode: Invalid dfs.datanode.data.dir /chunk : java.io.Fil
- ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: All directories in dfs.data.dir are invalid
- 集群扩容DataNode报错:Invalid dfs.datanode.data.dir /data2/hadoop/hdfs/data : EPERM: Operation not permitt
- Hadoop Datanode节点无法启动(All directories in dfs.data.dir are invalid)
- hadoop datanode启动失败(All directories in dfs.data.dir are invalid)
- Hadoop Datanode节点无法启动(All directories in dfs.data.dir are invalid)
- Hadoop参数:dfs.name.dir 与 dfs.data.dir
- Hadoop参数:fs.defaultFS、 dfs.name.dir 、 dfs.data.dir
- Hadoop参数:dfs.name.dir 与 dfs.data.dir
- Hadoop--Datanode存储均衡问题
- dfs.data.dir 配置导致datanode无法启动
- hdfs dfsadmin -reconfig reload datanode dfs.datanode.data.dir without restart datanode
- hadoop Data上jps不出现Datanode
- hadoop 2.2.0的datanode中存储block的多个文件夹的负载均衡问题
- dfs.name.dir与dfs.data.dir
- 左固定右适应
- Jquery EasyUI 自定义面板右上角的功能(3)
- Android 面试题 关于oom的解决方案
- Linux下优雅的让程序后台运行
- unique-paths
- hadoop关于dfs.datanode.data.dir下过个目录不均衡问题
- 为什么使用 Redis及其产品定位
- JavaScript闭包
- Cmder--Windows下命令行利器
- 轮播图
- 开关电源之升降压-如何得到输出电压的精确幅度
- Java高并发编程(三)
- java.lang.UnsatisfiedLinkError: E:\apache-tomcat-7.0.59\bin\tcnative-1.dll: Can't load IA 32-bit .dl
- mysql导入导出sql文件 window下 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname >