hadoop的datanode多磁盘空间处理

hadoop-0.20.2 测试修改hdfs-site.xml:添加

<property>
  <name>dfs.datanode.du.reserved</name>
  <value>53687091200</value>
  <description>Reserved space in bytes per volume. Always leave this much space free for non dfs use.
  </description>
</property>

 

以下转自网友:

最开始安装hadoop集群的时候每台机器的磁盘只有260+G大小,使用了一段时间之后发现磁盘空间占满了,于是每个datanode又添加了两块2T的磁盘,通过hdfs-site.xml中的dfs.datanode.data.dir配置项通过逗号分隔将新添加的磁盘添加到datanode磁盘中。

添加之后问题有出现了,hadoop并不会自动将数据写到有更大空闲空间的磁盘中,还是会将之前的小磁盘写满,小磁盘写满会使mapreduce产生的临时文件没有空间写,而导致mapreduce执行失败。所以需要小磁盘留有一定的空闲空间,查看hadoop资料,设置 dfs.datanode.du.reserved配置项可以使每个磁盘保留相应的磁盘空间,单位使用bytes,但是我设置之后发现其没有起作用,我使用的hadoop版本是cloudera的cdh3u3。

没有办法,只能继续查看资料,hadoop faq中写道:

3.12. On an individual data node, how do you balance the blocks on the disk?

Hadoop currently does not have a method by which to do this automatically. To do this manually:

  1. Take down the HDFS

  2. Use the UNIX mv command to move the individual blocks and meta pairs from one directory to another on each host

  3. Restart the HDFS

对于1)停止hdfs,只需要停止datanode,使用命令$HADOOP_HOME/bin/hadoop-daemon.sh stop datanode

对于2)必须是dfs.data.dir目录下current目录的子目录 mv /mnt/exdata/dev1/cloudera/dfs/dn/current/subdir11/* /mnt/exdata/dev2/cloudera/dfs/dn/current/subdir11

对于3)$HADOOP_HOME/bin/hadoop-daemon.sh start datanode


文章来自:http://www.cnblogs.com/tangtianfly/archive/2012/09/11/2680064.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果Hadoop DataNode没有启动,可能是因为以下几种原因: 1. 磁盘空间不足,DataNode无法启动。 2. DataNode与NameNode之间的网络连接问题。 3. DataNode的配置文件有误。 4. DataNode的进程已经在运行,但是无法正常工作。 5. 其他原因导致DataNode无法启动。 请检查以上原因,并尝试解决问题。 ### 回答2: Hadoop datanode未启动可能是由于以下原因所导致的。 1. 配置问题:检查Hadoop配置文件中的datanode节点是否正确配置。确保datanode的相关信息包括主机名、端口号等正确无误。 2. 网络问题:确保datanode所在的主机能够与其他Hadoop节点正常通信。可以尝试使用ping命令测试网络连接的可用性。 3. 权限问题:确认datanode的运行用户是否具有适当的权限来启动Hadoop服务。可以尝试使用sudo命令或以管理员身份运行。 4. 日志分析:检查datanode的日志文件,通常存储在Hadoop安装目录下的logs文件夹中。查看日志文件中的错误或异常信息,以了解导致datanode无法启动的具体原因。 解决datanode未启动的问题,可以尝试以下方法: 1. 重新启动Hadoop集群:尝试先关闭整个Hadoop集群,然后逐个启动各个节点,确保datanode节点在启动之前没有任何问题。 2. 检查硬件和网络连接:确保datanode所在的主机硬件正常,并且网络连接稳定。可以尝试重新启动主机或更换网络连接线缆。 3. 检查防火墙设置:确保防火墙没有阻止datanode与其他Hadoop节点之间的通信。可以暂时关闭防火墙以测试是否是防火墙设置导致的问题。 4. 查找并解决配置错误:仔细检查datanode的配置文件,例如hdfs-site.xml和core-site.xml文件,确保没有任何拼写错误或语法问题。 如果上述方法都无法解决问题,可以尝试在Hadoop社区或相关技术论坛上寻求帮助,提供详细的错误信息和配置文件内容,以便其他用户提供更具体的解决方案。 ### 回答3: Hadoop Datanode没有启动的原因可能有很多种,以下是几种常见的情况和解决方法: 1. 配置错误:查看hadoop配置文件的datanode相关配置,确保文件中的地址和端口号正确。尤其注意fs.defaultFS和dfs.namenode.rpc-address的配置。 2. 资源不足:检查datanode所在的计算机的硬件资源(CPU、内存、存储空间)是否足够支持启动datanode进程。 3. 磁盘空间已满:检查datanode所在的磁盘空间是否已经满了,如果是,需要清理或增加磁盘空间。 4. 权限问题:检查hadoop相关文件和目录的权限,确保datanode进程有足够的权限来读取和写入相关文件。 5. 网络连接问题:确保datanode所在的计算机能够与hadoop集群的其他节点进行正常的网络连接。可以通过ping或telnet测试网络连通性。 6. 日志文件检查:查看datanode的日志文件,通常位于Hadoop安装目录的logs文件夹下,检查日志中是否有任何错误信息,可以根据错误信息进一步定位和解决问题。 以上是几个常见的Hadoop Datanode没有启动的原因和解决方法,希望能对您有所帮助。如果问题仍然存在,请提供更多详细的错误信息以便进一步分析和解决。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值