hadoop1.0.4升级到hadoop2.2 具体流程步骤
本文參考了博客:http://blog.csdn.net/ajax_jquery/article/details/27311671,对一些地方做了改动。并具体做了说明
首先声明: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
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上运行) 终于提交升级
hadoop1.0.4升级到hadoop2.2 具体流程步骤的更多相关文章
- Hadoop-1.2.1 升级到Hadoop-2.6.0 HA
Hadoop-1.2.1到Hadoop-2.6.0升级指南 作者 陈雪冰 修改日期 2015-04-24 版本 1.0 本文以hadoop-1.2.1升级到hadoop-2.6.0 Z ...
- Hadoop1.0 与Hadoop2.0
Hadoop1.0的局限-MapReduce •扩展性 –集群最大节点数–4000 –最大并发任务数–40000 (当 map-reduce job 非常多的时候,会造成很大的内存开销,潜在来说,也增 ...
- Hadoop1.0 和 Hadoop2.0
date: 2018-11-16 18:54:37 updated: 2018-11-16 18:54:37 1.从Hadoop整体框架来说 1.1 Hadoop1.0即第一代Hadoop,由分布式存 ...
- hadoop1.0 和 Hadoop 2.0 的区别
1.Hadoop概述 在Google三篇大数据论文发表之后,Cloudera公司在这几篇论文的基础上,开发出了现在的Hadoop.但Hadoop开发出来也并非一帆风顺的,Hadoop1.0版本有诸多局 ...
- Hadoop1.0.3环境搭建流程
0x00 大数据平台相关链接 官网:http://hadoop.apache.org/ 主要参考教程:http://www.cnblogs.com/xia520pi/archive/2012/05/1 ...
- Hadoop1.0.3安装部署
0x00 大数据平台相关链接 官网:http://hadoop.apache.org/ 主要参考教程:http://www.cnblogs.com/xia520pi/archive/2012/05/1 ...
- Linux下Oracle 10.2.0.1升级到10.2.0.4总结
最近部署测试环境时,将测试环境ORACLE数据库从10.2.0.1升级到了10.2.0.4,顺便整理记录一下升级过程. 实验环境: 操作系统:Oracle Linux Server release 5 ...
- Asp.net Core 1.0.1升级到Asp.net Core 1.1.0 Preview版本发布到Windows Server2008 R2 IIS中的各种坑
Asp.net Core 1.0.1升级到Asp.net Core 1.1.0后,程序无法运行了 解决方案:在project.json中加入runtime节点 "runtimes" ...
- 编译hadoop eclipse的插件(hadoop1.0)
原创文章,转载请注明: 转载自工学1号馆 欢迎关注我的个人博客:www.wuyudong.com, 更多云计算与大数据的精彩文章 在hadoop-1.0中,不像0.20.2版本,有现成的eclipse ...
随机推荐
- express4里要单独安装cookie-parser和express-session
express4里要单独安装cookie-parser和express-session express4里要单独安装cookie-parser和express-session: 1 2 npm ins ...
- PCB Genesis加邮票孔(线与弧)实现算法
一.Genesis加邮票孔(线与弧)实现算法 1.鼠标点击位置P点(可以确认搜索区域位置,确认点击位置周边元素分区,此所讲算法未应用到P点坐标) 2.求出:P1C与P2C (线与弧最近点距离的2个点) ...
- Spring-Boot配置文件数据源配置项
Spring-Boot配置文件数据源配置项(常用配置项为红色) 参数 介绍 spring.datasource.continue-on-error = false 初始化数据库时发生错误时,请勿停止 ...
- [Luogu 1850] noip16 换教室
[Luogu 1850] noip16 换教室 好久没有更博客了,先唠嗑一会,花了两天的空闲时间大致做完了昨年的noip真题 虽然在经过思考大部分题目都可出解(天天爱跑步除外),但是并不知道考试时候造 ...
- Jmeter - 服务器性能检测
在对系统做压力测试时,往往需要对服务的性能进行监控,包括CPU,Memory,IO,还有网络情况进行监控. Jemter有个一插件,能很好的支持这些性能监控.原理是服务器启动服务之后,测试机发起请求, ...
- div自动适应浏览器窗口水平和垂直居中
html <body> <div id="centerDiv">自动适应水平和垂直居中</div> </body> css ;;} ...
- 【JAVA练习】- 一个逻辑题
打印 1 3 4 5 8 12 7 12 20 32 9 16 28 48 80 ..... 输入任意一个奇数,输出那一行的数据 第一种方法找到规律进行 ...
- CentOS7.5 AndroidStudio Debug报错:insufficient permissions for device
/ ::: Launching instantapp $ adb push /home/vevi/AndroidStudioProjects/WeChatGod/app/build/outputs/a ...
- (1)dotnet开源电商系统-brnshop&brnMall 和老外开发的nopCommerce(dotnet两套电商来PK--第一篇)
一直想做电商软件,但是实在不想学PHP了,所以前后关注了这两个开源电商系统.一个是国人出品的,一个据说是俄罗斯人写得(不知道对不对).目前两个开源软件都在学习了解中,以下的博文可能会涉及到这两套系统, ...
- 【sqli-labs】 less13 POST - Double Injection - Single quotes- String -twist (POST型单引号变形双注入)
报错 闭合掉括号 这关登录成功之后不显示登录的用户名密码了