一、概述

    公司hadoop集群从1.2.1升级到2.2.0已经有一段时间,这篇blog将总结一下我前段时间在升级至hadoop2.2.0版本过程中遇到的一些问题,以及具体的升级步骤。

二、升级过程

(1)停掉hadoop1.x集群。

(2)备份namenode原数据,即备份dfs.namenode.name.dir指向的路径。以免造成由于升级版本带来的风险。

(3)下载hadoop-2.2.0解压,用scp将解压后的hadoop-2.2.0复制到各个子节点。修改各个子节点的hadoop用户的配置文件,如果是ubumtu这编辑~/.bash_profile文件,将$HADOOP_HOME指向新版 本hadoop-2.2.0,以及更新相应的环境变量。

(4)将Hadoop2.2.0的${HADOOP_HOMOE}/etc/hadoop/hdfs-site.xml中dfs.namenode.name.dir和dfs.datanode.data.di属性的值分别指向hadoop1.x的${HADOOP_HOME}/conf/hdfs-site.xml中dfs.name.dir和dfs.data.dir的值。

(5)启动相关进程。

启动namenode,直接执行启动命令:$HADOOP_HOME/sbin/hadoop-daemon.sh start namenode会被提示版本不一致,这个时候就可以直接采用upgrade方式启动namenode:$HADOOP_HOME/sbin/hadoop-daemon.sh start namenode -upgrade  执行命令过后,如果你集群之前升级过,而且没有最经commit,那么就会残留有之前版本的信息,看dfs.namenode.name.dir路径信息存在previous.checkpoint文件夹:

这个时候你upgrade是会出错的,错误信息如下:

要想升级成功必须将你之前升级过程中的版本信息删除掉,这里执行$HADOOP_HOME/bin/hdfs dfsadmin -finalizeUpgrade之前的版本信息就会被删掉,但是删掉以后你不能rollback回到之前的版本。这样删除旧版信息后,就可以$HADOOP_HOME/sbin/hadoop-daemon.sh start namenode -upgrade进行升级了。当升级完成之后,又会生成一个旧版办备份信息,存在在dfs.namenode.name.dir路径中的previous.checkpoint文件夹中,用于之后的版本rollback操作。

(6)Hadoop2.2.0升级到这里已经完毕并且namenode进程已经启动。现在将其他进程启动起来,依次启动ResourceManager、WebAppProxyServer、JobHistoryServer、启动各个slave节点的nodeManager和datanode进程。这个要主要两个进程的,一个是JobHistoryServer,这个进程主要是保存和处理作业的日志信息,这个进程必须启动,不然看不到job的日志信息。另外,WebAppProxyServer这个进程主要作用是作为HADOOP web页面的一个代理,主要是为了安全考虑,也一定要启动。

另外,关于Hadoop2.x的JournalNodes、active NN和standby NN等HA方式,将在下一篇blog中写写如何部署和各自的原理,请看:http://zengzhaozheng.blog.51cto.com/8219051/1441170


转载于:https://blog.51cto.com/zengzhaozheng/1427743

hadoop 1.x升级至hadoop-2.2.0记录相关推荐

  1. org.apache.hadoop.util.PlatformName //cgywin下Hadoop-0.21.0 错误问题

    windows 7 专业版 32位 cgywin下Hadoop-0.21.0 错误问题 格式化管理者,即namenode,创建HDFS 执行命令 $ bin/hadoop namenode -form ...

  2. hadoop错误Could not locate Hadoop executable: D:\sorftware\hadoop\hadoop-2.8.0\bin\winutils.exe

    在hadoop/bin目录下缺少了winutils.exe和hadoop.dll Exception in thread "main" java.lang.RuntimeExcep ...

  3. Hadoop系列之一:hadoop部署安装

    简述:一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储.Hadoop实现了一个分布式文件系统(Hadoop D ...

  4. Hadoop YARN学习之Hadoop框架演进历史简述

    Hadoop YARN学习之Hadoop框架演进历史简述(1) 1. Hadoop在其发展的过程中经历了多个阶段: 阶段0:Ad Hoc集群时代 标志着Hadoop的起源,集群以Ad Hoc.单用户方 ...

  5. Hadoop系列三:Hadoop之Pig篇

    Pig安装和运行 Pig包括两部分: -用于描述数据流的语言,称为Pig Latin. -用于执行PigLatin程序的执行环境,当前有两个环境:单JVM中的本地执行环境和Hadoop集群上的分布式执 ...

  6. Hadoop系列二:Hadoop单节点伪分布部署并执行mapreduce示例wordcount

    HDFS在集群上实现分布式文件系统,MapReduce在集群上实现了分布式计算和任务处理.HDFS在MapReduce任务处理过程中提供了文件操作和存储等支持,MapReduce在HDFS的基础上实现 ...

  7. Hadoop系列一:Hadoop集群分布式部署

    1.环境准备 VirtualBox虚拟机上分布部署三套Ubuntu15.10操作系统(Linux 64位),命名为Ubuntu_Hadoop(用户名hp).Ubuntu_C(用户名c).Ubuntu_ ...

  8. Hadoop自学笔记(七)Hadoop环境配置和优化

    概览 1. Hadoop Trouble Shooting 查看logs, 存储位置等 2. Hadoop Administration 常见Hadoop管理员面对的问题 3. Hadoop Opti ...

  9. hadoop的python框架指南_Python之——用Mrjob框架编写Hadoop MapReduce程序(基于Hadoop 2.5.2)...

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/79056120 一.环境准备想了解如何使用原生Python编写MapReduce程序 ...

  10. WIN 10 安装 Hadoop 2.7.7 + Spark 2.4.7 记录

    文章目录 0. 常规解压安装,并添加环境变量 1. 下载并覆盖 bin 文件夹 2. 使VERSION文件的clusterID一致 3. 贴下单机配置 4. 测试 Hadoop 5. 安装Spark ...

最新文章

  1. CentOS 7下安装UCSF Chimera
  2. MVC的Model Binder总结
  3. golang 接口格式
  4. Python高级函数
  5. initrd.img解压和压缩
  6. IDEA远程连接mysq数据库
  7. 安卓androidstudio访问本地接口_安卓开发之数据存储在本地的四种方式
  8. [计算机网络] - 调节参数提高 TCP 性能
  9. vue 表格中有列需要异步加载_Vue中使用async/await解决异步请求问题
  10. Java基础学习总结(154)——Synchronized与Volatile、Synchronized与ReentrantLock概念及区别
  11. lineNumber: 8; columnNumber: 128; cvc-elt.1: 找不到元素 'beans' 的声明
  12. 要注意观察我们周围的人,不要一天只是低头写代码!
  13. 杭电oj-----Nightmare(BFS)
  14. 473.火柴拼正方形
  15. Android 多语言切换
  16. svn 安装教程 TortoiseSvn
  17. php 木马,PHP后门木马详解
  18. 坦克世界没有服务器信号,坦克世界闪击战无法连接服务器怎么办 网络问题
  19. Python算24点
  20. mysql 函数返回类型set_mysql自定义函数如何返回多个值

热门文章

  1. MegaCli查看RAID
  2. python类中self是什么
  3. tomcat环境配置
  4. 综合使用union和limit区分结果并限制返回结果集的条数
  5. centos6 64位服务器的基本初始化
  6. Linux 虚拟化网络技术 — KVM + Linux Bridge 的网络虚拟化解决方案
  7. 阿里云接入的认证方式,一机一密、一型一密、动态注册
  8. JavaScript 中的原型原来是这样的
  9. 四年C++老炮,转攻Python实践分享
  10. Java 并发编程:ThreadLocal 的使用及其源码实现