hadoop2.7.0升级到2.7.1,版本升级

 
  • 发布时间: 2015/09/29 13:48 
  • 阅读: 426 
  • 收藏: 0 
  • 点赞: 0 
  • 评论: 0
  • 摘要
    使用过程中,发现hadoop的YARN-3832的bug,2.6.0中已解决,但是2.7.0中又出现了这个bug。只好做一个小版本的升级了

    使用过程中,发现hadoop的YARN-3832的bug,2.6.0中已解决,但是2.7.0中又出现了这个bug。

    15/09/28 10:22:34 INFO mapreduce.Job: Task Id : attempt_1443364253801_0310_m_000000_0, Status : FAILED
    Rename cannot overwrite non empty destination directory /data/hadoop/data/tmp/nm-local-dir/usercache/hadoop/filecache/60
    java.io.IOException: Rename cannot overwrite non empty destination directory /data/hadoop/data/tmp/nm-local-dir/usercache/hadoop/filecache/60
            at org.apache.hadoop.fs.AbstractFileSystem.renameInternal(AbstractFileSystem.java:735)
            at org.apache.hadoop.fs.FilterFs.renameInternal(FilterFs.java:236)
            at org.apache.hadoop.fs.AbstractFileSystem.rename(AbstractFileSystem.java:678)
            at org.apache.hadoop.fs.FileContext.rename(FileContext.java:958)
            at org.apache.hadoop.yarn.util.FSDownload.call(FSDownload.java:366)
            at org.apache.hadoop.yarn.util.FSDownload.call(FSDownload.java:62)
            at java.util.concurrent.FutureTask.run(FutureTask.java:262)
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
            at java.util.concurrent.FutureTask.run(FutureTask.java:262)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
            at java.lang.Thread.run(Thread.java:745)

    找了好久,最终确认该问题是hadoop的bug,不是配置出错。在官网的2.7.1的release中找到了YARN-3832的bug。所以对hadoop进行升级。

    从2.7.0升级为2.7.1,升级步骤如下:

    1.下载安装包后,下载native的64位包,替换新版本中的native。

    2.修改2.7.1中的配置文件,保持与当前集群配置一致,修改配置文件后,分发到各台hadoop集群机器的一个临时目录中。我的配置文件列表有:core-site.xml、excludes、hadoop-env.sh、hdfs-site.xml、mapred-env.sh、mapred-site.xml、master、slaves、yarn-env.sh、yarn-site.xml

    3.停掉hadoop集群。

    4.登录每台hadoop节点的服务器,先备份hadoop的安装文件目录。然后进入hadoop安装目录,执行rm -rf bin etc include lib libexec LICENSE.txt NOTICE.txt README.txt sbin share

    5.将临时目录中的2.7.1的hadoop文件拷贝至安装目录。

    6.执行start-all.sh,启动hadoop集群,访问http://localhost:50070/dfshealth.html#tab-overview ,查看hadoop版本是否已更新,查看各节点状态是否正常。

    相关文章
    相关标签/搜索