hadoop1.0.4升级到hadoop2.2 详细流程步骤

hadoop1.x 升级到hadoop2.2

本文参考了博客:http://blog.csdn.net/ajax_jquery/article/details/27311671,对一些地方做了修改,并详细做了说明

HDFS升级,是hadoop集群升级到2.0的关键,而hdfs升级,最重要的是namenode的升级。

首先声明:hadoop1.x不能直接升级到 HA 模式下,namenode是不能升级成功的,这里也借助hadoop2.x兼容hadoop1.x的配置文件来升级。

如果直接升级hadoop2.x HA模式可能会出现如下错误

FATAL org.apache.hadoop.hdfs.server.namenode.NameNode: Exception in namenode join

org.apache.hadoop.HadoopIllegalArgumentException: Invalid startup option. Cannot perform DFS upgrade with HA enabled

下面是升级hadoop2.x HA 模式的流程,具体为什么要选用HA而不采用HA+Federation 的方式,不是这里要说的问题

先在hadoop1.x模式下将namenode的元数据升级:

step 1: 做下saveNamespace操作,停掉集群,并备份下 HDFS 的 Metadata,操作如下:

1.1 namenode进入safe mode状态

$ bin/hadoop dfsadmin -safemode enter

1.2  执行saveNamespace操作

$ bin/hadoop dfsadmin -saveNamespace

1.3 离开安全模式

$ bin/hadoop dfsadmin -safemode leave

1.4 stop 集群

1.5 备份 dfs.name.dir 下面的元数据

cp -r name /data/zhoulei/bak.name.20140916

step2:

2.1 将集群中hadoop环境换成2.2(注意:这是配置文件必须选用hadoop1.x中/conf/ 中的配置文件。否则会报上面的错误),执行如下升级namenode命令:

hadoop-daemon.sh start namenode -upgrade

step3:

namenode升级完成后,将datanode启动,datanode会自动升级到与namenode相同版本

hadoop-daemons.sh start datanode  此时注意,要启动所有的datanode, 不然也不会出现多大问题,但是其它节点的datanode 却不会自动升级。

3.1 关闭集群

sbin/stop-dfs.sh

3.2 将配置文件升级为2的配置

此时将配置文件全部替换为hadoop2.2的配置文件

3.3 将升级完的namenode元数据一些参数修改一下,改成ha模式:

这时需要将journalnode的元文件的VERSION文件的参数修改,改成与namenode的元数据相同或者使用命令:

I、    先启动 journalnode:sbin/hadoop-daemon.sh start journalnode 此时要注意,所有的Journalnode 都要启动否则下面步骤报错

II、   给namenode安装journalnode共享目录bin/hdfs namenode -initializeSharedEdits 、

如果上面一步没有全部启动,则出现如下错误

14/09/17 10:13:06 ERROR namenode.NameNode: Could not initialize shared edits dirorg.apache.hadoop.hdfs.qjournal.client.QuorumException: Unable to check
if JNs are ready for formatting. 1 successful responses

III、  启动namenode:sbin/hadoop-daemon.sh start namenode

IV、 启动datanode:sbin/hadoop-daemons.sh start datanode   启动所有datanode 节点,或者逐个节点分别启动

此时注意 并没有 active namenode 或是 standby 节点的区别,只有一个节点。

3.4 将active namenode的 {dfs.namenode.name.dir} 目录的内容复制到 standby namenode的{dfs.namenode.name.dir} 目录下然后启动 standby namenode

或者使用命令:

在另外一个 namenode 节点下下执行bin/hdfs namenode -bootstrapStandby   作用与直接拷贝元数据类似

3.5 格式化ZK(在hadoop01上执行即可):bin/hdfs zkfc -formatZK

3.6 重新启动hdfs:sbin/start-dfs.sh(一定要重新启动,否则会出现两个namenode同时都是standby的状态)

此时发现即使重启dfs 但是两个namnode 都为standby 的状态,这是因为 zkfc 并没有启动,此时我们需要做的两个动作

1)分别为每个zookeeper 节点 启动 QuorumPeerMain

zookeeper-3.4.5/bin/zkServer.sh start

2)  在主节点启动zkfc(不一定是主节点)

sbin/hadoop-daemon.sh start zkfc

此时再看两个namenode 守护进程的状态 就会出现一个 active ,一个standby 的状态。

3.7 升级完毕后,namenode和datanode的${ dfs.data.dir}/目录下会多出一个文件夹previous/,这是升级之前数据的备份。

如果确定升级成功,可以使用:bin/hadoop dfsadmin -finalizeUpgrade(要在active的namenode上执行) 最终提交升级

时间: 2024-10-13 14:59:47

hadoop1.0.4升级到hadoop2.2 详细流程步骤的相关文章

大话Hadoop1.0、Hadoop2.0与Yarn平台

2016年12月14日21:37:29 Author:张明阳 博文链接:http://blog.csdn.net/a2011480169/article/details/53647012 近来这几天一直在忙于Hbase的实验,也没有太静下心来沉淀自己,今天打算写一篇关于Hadoop1.0.Hadoop2.0与Yarn的博文,从整体上把握三者之间的联系,博客内容如有问题,欢迎留言指正!OK,进入本文正题-- 在开始接触Hadoop的时候,也许大家对于Hadoop是下面的一个概念:Hadoop由两部

window下Eclipse配置联调hadoop1.0.3集群

前序:因在widow下用Eclipse联调hadoop2.2.0运行程序没有成功,网上暂时解决办法不多,就折中了下,连接hadoop1.0.3伪分布式 一.用到的环境和工具 1.Eclipse采用的是indio版本,这个可以用官网下载 2.Eclipse hadoop插件:hadoop-eclipse-plugin-1.0.3.jar, 下载地址:http://download.csdn.net/detail/lifuxiangcaohui/7963261 二.安装hadoop1.0.3伪分布式

Oracle11.2.0.1升级到11.2.0.3

Oracle数据库升级也并非简单的事,这篇博客,博主对Oracle那点事做了较详细的介绍: http://blog.itpub.net/9599/viewspace-473003/ 我还属于Oracle的菜鸟,就不献丑介绍了. 下面我就简单总结下,Oracle同版本升级的经历: 升级数据库: 1. 先检查数据库当前版本: SELECT * FROM v$version; 2. 使用RMAN或exp 进行全库备份 [这一步非常非常重要,因升级到数据部分时,虚拟机没空间了,导致VM崩溃,升级失败.o

Redhat 5.4 Orcle RAC 数据库 从10.2.0.1升级到 10.2.0.4

之前安装的是两个节点的RAC 平台. 数据库版本是10.2.0.1. 这个实验的目的就是将这个数据库版本从10.2.0.1 升级到 10.2.0.4.  升级包可以从Oracle metalink上进行下载,这个下载需要Oracle 付费的帐号. 网络可能也有资源下载. 10.2.0.4的patch number 是:p6810189. 两个节点的RAC 安装,参考Blog: Redhat 5.4 + ASM + RAW+ Oracle 10g RAC 安装文档 http://blog.csdn

hadoop1.0安装部署

一.需求 公司线上运行有hadoop1.0和hadoop2.0,由于hadoop1.0没有处理jobtracker失败机制,它是一个单点故障,但业务还是以1.0为主,会慢慢过渡到2.0.以下我将以公司目前环境把写1.0部署步聚写出来 二.知识点储备 1.hadoop中NameNode.DataNode.Secondary.NameNode.JobTracker TaskTracker介绍 http://zouqingyun.blog.51cto.com/782246/1656353 2.Hado

编译hadoop eclipse的插件(hadoop1.0)

原创文章,转载请注明: 转载自工学1号馆 欢迎关注我的个人博客:www.wuyudong.com, 更多云计算与大数据的精彩文章 在hadoop-1.0中,不像0.20.2版本,有现成的eclipse-plugin源码包,而是在HADOOP_HOME/src/contrib/eclipse-plugin目录下放置了eclipse插件的源码,这篇文章 ,我想详细记录一下自己是如何编译此源码生成适用于Hadoop1.0的eclipse插件 1.安装环境 操作系统:Ubuntu14.4软件:eclip

Hadoop-1.0.4集群搭建笔记

这篇文章介绍的是简单的配置Hadoop集群的方法,适合实验和小型项目用,正式运行的集群需要用更正规的方法和更详细的参数配置,不适合使用这篇文章. 安装 JDK 在终端输入 $ java -version 如果有反应,说明已安装过jdk.如果显示的信息里出现了类似OpenJDK的字样,如 java version "1.6.0_20" OpenJDK Runtime Environment (IcedTea6 1.9.2) (6b20-1.9.2-0ubuntu1~10.04.1) Op

Hadoop-1.0.4 安装配置

Hadoop-1.0.4 安装配置 一.           安装VMware 本人使用的是11.1.2 build-2780323版本 不详细讲述. 二.           在VMware上安装ubuntu 本人使用的是ubuntu 14.10 (为了后续步骤的说明,本人在安装时的用户名.密码均定为hadoop) 开启虚拟机后,调整时间区域,调整系统语言(可选) 三.           克隆虚拟机 关掉虚拟机,在VMware中将安装好的ubuntu克隆出来,这里克隆出了两个当做slave.

redis3.0.2 分布式集群安装详细步骤

redis3.0.2 分布式集群安装详细步骤 --(centos5.8 X64系统) 版本历史 时间 版本 说明 编写者 2015-06-5 1.0 redis3.0.2 分布式集群安装详细步骤 csc 一: redis cluster介绍篇 1:redis cluster的现状 目前redis支持的cluster特性(已亲测): 1):节点自动发现 2):slave->master 选举,集群容错 3):Hot resharding:在线分片 4):进群管理:cluster xxx 5):基于