• hadoop常见问题


    环境: hadoop1.2.1

    1.启动hadoop集群时DataNode无法启动

    这个问题基本上是因为在namenode端多次运行hadoop namenode –format 导致的。在hadoop的core-site.xml文件中(不同的hadoop版本名字会有不同)找到<name>hadoop.tmp.dir</name>,清空对应的文件夹。举例:

    运行命令: #   rm -rf  /usr/local/src/hadoop-1.2.1/tmp/*

    然后重新启动hadoop, 在datanode端通过jps命令看datanode是否启动.

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

    2.hadoop集群中datanode启动几秒钟自动关闭

    当执行./start-all.sh后,运行jps查看进程运行状态,你会发现主从节点都起动了,去查看从节点,运行jps时会发现,你的datanode运行正常,但是过几秒钟你再运行jps指令,你会发现你的datanode进程成功的挂了,
    1.于是你可以在slave1节点上ping master看看能不能连通master主机,当发现master是连通后,说明你的/etc/hosts文件配置好了的;
    2.那就说明你的机器的防火墙没关,你需要把每个机器的防火墙关闭下,通过指令: iptables -L 查看防火墙状态,  运行指令关闭防火墙:service iptables stop,然后停止集群,重新运行集群就可以了。

    1) 重启后生效
    开启: chkconfig iptables on
    关闭: chkconfig iptables off
    2) 即时生效,重启后失效
    开启: service iptables start
    关闭: service iptables stop

    温馨提示:一般情况下大家都是忘记了关闭防火墙,切记每台机器都要关,不然浏览器访问不了的(浏览器的默认访问端口是:50070,例如本人访问:http://localhost:50070)。

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

    3.子节点slave中TaskTracker可以启动, DataNode无法启动

       

    通常是因为master和slave节点的current目录下的VERSION文件中namespaceID不一样.

    解决方案一: 修改namespaceID使其一致.

    解决方案二: 删除DataNode的所有资料(即将集群中每个datanode的/hdfs/data/current中的VERSION删掉,然后执行hadoop namenode -format重启集群,错误消失。<推荐>)

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

    4.启动集群时出现很多Stop it first.

    集群没启动成功, 原因是原来启动过集群还没关闭, 需要先关闭才行.Stop it first.

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

    5.通过./stop-all.sh关闭集群时, 出现no namenode to stop.

    原因是找不到namenode进程的pid, 所以无法通过pid来关闭进程.

    解决方法: (1). 通过jps查看进程, 再通过手动杀死进程

    (2). 在hadoop-1.2.1/conf目录下的hadoop-env.sh文件中配置pid存放的位置, 每个节点都配置一下.

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

    6.当运行一个简单的wordcount时, 在windows环境通过浏览器无法访问Tracking URL.

    原因是因为在windows环境没有配置hostname对应的ip地址, 所以无法识别master.

    有两种办法, 第一种是将url中master改成对应主机的ip地址.  第二种办法是在windows的hosts文件中添加配置.

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

    7.误删文件怎么恢复

    使用空间回收机制(回收站), 需要给core-site.xml增加一个配置, 同时要将配置同步到从节点, 并且要重启hadoop集群.

    name:   fs.trash.interval

    value: 1440  (这个单位是分钟,60*24=1440, 这个配置表示删除的数据可以保留1天时间)

    同步到从节点: # scp -rp core-site.xml  slave1:/usr/local/src/hadoop-1.2.1/conf/          //备注:slave2也是同样的操作

    查看误删文件的目录位置: # hadoop fs  -ls  /user/root/.Trash

    还原误删文件到HDFS: # hadoop fs -cp /user/root/.Trash/文件名   /

    如果删除文件时用了 -skipTrash 就不会进入到回收站

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

    8.master节点启动后namenode没启动, 过了一会儿JobTracker自动关闭

    查看以上日志发现是ip绑定错误. 修改hadoop的/conf/目录下的core-site.xml和mapred-site.xml中的ip即可.

  • 相关阅读:
    actionscript3.0 的一些小技巧
    Flash 安全沙箱的意义
    明明连上了网,但是打不开网页
    关于电脑上可用内存太小的问题
    AS3 Starling 学习杂谈 (一) Quad类
    更新flash builder4,6 的AIR版本
    软件工程实践2017第二次作业
    软件工程实践2017第一次作业
    微信小程序开发指南合集 各类组件用法技巧
    微信小程序视频教程合集 附带源码、PPT下载
  • 原文地址:https://www.cnblogs.com/CoolJayson/p/7461282.html
Copyright © 2020-2023  润新知