zoukankan      html  css  js  c++  java
  • 伪分布式下DataNode无法启动问题

    DataNode无法启动:

    问题原因:

    执行文件系统格式化时,会在namenode数据文件夹(即配置文件中dfs.name.dir在本地系统的路径)中保存一个current/VERSION文件,记录namespaceID,标识了所格式化的namenode的版本。如果我们频繁的格式化namenode,那么datanode中保存(即配置文件中dfs.data.dir在本地系统的路径)的current/VERSION文件只是你第一次格式化时保存的namenode的ID,因此就会造成datanode与namenode之间的id不一致。

    解决方法:

    把配置文件中dfs.data.dir在本地系统的路径下的current/VERSION文件中的namespaceID改为与dfs.name.dir在本地系统的路径下的current/VERSION文件中的namespaceID一样。

    问题解决。

    ================================================================

    重新安装了Hadoop,无法启动DataNode,在浏览器中输入http://localhost:50070,点击页面中的Namenode logs链接,在logs页面点击hadoop-hadoop-datanode-ubuntu.log 链接,查看日志:可以看到:

    2015-12-15 15:10:50,733 WARN org.apache.hadoop.metrics2.impl.MetricsSystemImpl: 
    Source name ugi already exists! 2015-12-15 15:10:50,837 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Invalid directory in dfs.data.dir: Incorrect permission for /usr/local/hadoop/hdfs/data, expected: rwxr-xr-x, while actual: rwxrwxr-x

    解决办法:修改hdfs下name和data文件夹的权限:

    hadoop@tinylcy:/usr/local/hadoop/hdfs$ sudo chmod g-w data/
    hadoop@tinylcy:/usr/local/hadoop/hdfs$ sudo chmod g-w name/

    重启即可。

  • 相关阅读:
    Sqlserver中的触发器
    Memcache在.Net中的使用
    Sqlserver中的储存过程
    Ado.NET基础必备
    MVC项目报错 ”基础提供程序在 Open 上失败”
    【Darwin学习笔记】之获取系统处理器数量的方法
    Wireshark抓包工具--TCP数据包seq ack等解读
    TCP:WireShark分析,序列号Seq和确认号Ack
    【Darwin学习笔记】之TaskThread
    boost::asio::io_context类
  • 原文地址:https://www.cnblogs.com/Murcielago/p/4306296.html
Copyright © 2011-2022 走看看