Hadoop集群(四) Hadoop升级
Hadoop前面安装的集群是2.6版本,现在升级到2.7版本。
注意,这个集群上有运行Hbase,所以,升级前后,需要启停Hbase。
更多安装步骤,请参考:
Hadoop集群(一) Zookeeper搭建
Hadoop集群(二) HDFS搭建
Hadoop集群(三) Hbase搭建
升级步骤如下:
集群IP列表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
Namenode:
192.168.143.46
192.168.143.103
Journalnode:
192.168.143.101
192.168.143.102
192.168.143.103
Datanode&Hbase regionserver:
192.168.143.196
192.168.143.231
192.168.143.182
192.168.143.235
192.168.143.41
192.168.143.127
Hbase master:
192.168.143.103
192.168.143.101
Zookeeper:
192.168.143.101
192.168.143.102
192.168.143.103
|
1. 首先确定hadoop运行的路径,将新版本的软件分发到每个节点的这个路径下,并解压。
1
2
3
4
5
6
7
8
|
# ll /usr/ local /hadoop/
total 493244
drwxrwxr-x 9 root root 4096 Mar 21 2017 hadoop-release ->hadoop-2.6.0-EDH-0u1-SNAPSHOT-HA-SECURITY
drwxr-xr-x 9 root root 4096 Oct 11 11:06 hadoop-2.7.1
-rw-r --r-- 1 root root 194690531 Oct 9 10:55 hadoop-2.7.1.tar.gz
drwxrwxr-x 7 root root 4096 May 21 2016 hbase-1.1.3
-rw-r --r-- 1 root root 128975247 Apr 10 2017 hbase-1.1.3.tar.gz
lrwxrwxrwx 1 root root 29 Apr 10 2017 hbase-release -> /usr/ local /hadoop/hbase-1.1.3
|
由于是升级,配置文件完全不变,将原hadoop-2.6.0下的etc/hadoop路径完全拷贝/替换到hadoop-2.7.1下。
至此,升级前的准备就已经完成了。
下面开始升级操作过程。全程都是在一个中转机上执行的命令,通过shell脚本执行,省去频繁ssh登陆的操作。
## 停止hbase,hbase用户执行
2. 停止Hbase master,hbase用户执行
状态检查,确认master,先停standby master
1
|
http://192.168.143.101:16010/master-status
|
1
2
3
4
5
|
master:
ssh -t -q 192.168.143.103 sudo su -l hbase -c "/usr/local/hadoop/hbase-release/bin/hbase-daemon.sh\ stop\ master"
ssh -t -q 192.168.143.103 sudo su -l hbase -c "jps"
ssh -t -q 192.168.143.101 sudo su -l hbase -c "/usr/local/hadoop/hbase-release/bin/hbase-daemon.sh\ stop\ master"
ssh -t -q 192.168.143.101 sudo su -l hbase -c "jps"
|
3. 停止Hbase regionserver,hbase用户执行
1
2
3
4
5
6
|
ssh -t -q 192.168.143.196 sudo su -l hbase -c "/usr/local/hadoop/hbase-release/bin/hbase-daemon.sh\ stop\ regionserver"
ssh -t -q 192.168.143.231 sudo su -l hbase -c "/usr/local/hadoop/hbase-release/bin/hbase-daemon.sh\ stop\ regionserver"
ssh -t -q 192.168.143.182 sudo su -l hbase -c "/usr/local/hadoop/hbase-release/bin/hbase-daemon.sh\ stop\ regionserver"
ssh -t -q 192.168.143.235 sudo su -l hbase -c "/usr/local/hadoop/hbase-release/bin/hbase-daemon.sh\ stop\ regionserver"
ssh -t -q 192.168.143.41 sudo su -l hbase -c "/usr/local/hadoop/hbase-release/bin/hbase-daemon.sh\ stop\ regionserver"
ssh -t -q 192.168.143.127 sudo su -l hbase -c "/usr/local/hadoop/hbase-release/bin/hbase-daemon.sh\ stop\ regionserver"
|
检查运行状态
1
2
3
4
5
6
|
ssh -t -q 192.168.143.196 sudo su -l hbase -c "jps"
ssh -t -q 192.168.143.231 sudo su -l hbase -c "jps"
ssh -t -q 192.168.143.182 sudo su -l hbase -c "jps"
ssh -t -q 192.168.143.235 sudo su -l hbase -c "jps"
ssh -t -q 192.168.143.41 sudo su -l hbase -c "jps"
ssh -t -q 192.168.143.127 sudo su -l hbase -c "jps"
|
## 停止服务--HDFS
4. 先确认,active的namenode,网页确认.后续要先启动这个namenode
1
|
https://192.168.143.46:50470/dfshealth.html#tab-overview
|
5. 停止NameNode,hdfs用户执行
NN: 先停standby namenode
1
2
3
4
5
|
ssh -t -q 192.168.143.103 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ stop\ namenode"
ssh -t -q 192.168.143.46 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ stop\ namenode"
检查状态
ssh -t -q 192.168.143.103 sudo su -l hdfs -c "jps"
ssh -t -q 192.168.143.46 sudo su -l hdfs -c "jps"
|
6. 停止DataNode,hdfs用户执行
1
2
3
4
5
6
|
ssh -t -q 192.168.143.196 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ stop\ datanode"
ssh -t -q 192.168.143.231 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ stop\ datanode"
ssh -t -q 192.168.143.182 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ stop\ datanode"
ssh -t -q 192.168.143.235 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ stop\ datanode"
ssh -t -q 192.168.143.41 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ stop\ datanode"
ssh -t -q 192.168.143.127 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ stop\ datanode"
|
7. 停止ZKFC,hdfs用户执行
1
2
|
ssh -t -q 192.168.143.46 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ stop\ zkfc"
ssh -t -q 192.168.143.103 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ stop\ zkfc"
|
8.停止JournalNode,hdfs用户执行
1
2
3
4
|
JN:
ssh -t -q 192.168.143.101 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ stop\ journalnode"
ssh -t -q 192.168.143.102 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ stop\ journalnode"
ssh -t -q 192.168.143.103 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ stop\ journalnode"
|
### 备份NameNode的数据,由于生产环境,原有的数据需要备份。以备升级失败回滚。
9. 备份namenode1
1
2
|
ssh -t -q 192.168.143.46 "cp -r /data1/dfs/name /data1/dfs/name.bak.20171011-2;ls -al /data1/dfs/;du -sm /data1/dfs/*"
ssh -t -q 192.168.143.46 "cp -r /data2/dfs/name /data2/dfs/name.bak.20171011-2;ls -al /data1/dfs/;du -sm /data1/dfs/*"
|
10. 备份namenode2
1
2
|
ssh -t -q 192.168.143.103 "cp -r /data1/dfs/name
/data1/dfs/name.bak.20171011-2;ls -al /data1/dfs/;du -sm /data1/dfs/*"
|
11. 备份journal
1
2
3
|
ssh -t -q 192.168.143.101 "cp -r /data1/journalnode /data1/journalnode.bak.20171011;ls -al /data1/dfs/;du -sm /data1/*"
ssh -t -q 192.168.143.102 "cp -r /data1/journalnode /data1/journalnode.bak.20171011;ls -al /data1/dfs/;du -sm /data1/*"
ssh -t -q 192.168.143.103 "cp -r /data1/journalnode /data1/journalnode.bak.20171011;ls -al /data1/dfs/;du -sm /data1/*"
|
journal路径,可以查看hdfs-site.xml文件
1
2
|
dfs.journalnode.edits.dir:
/data1/journalnode
|
### 升级相关
12. copy文件(已提前处理,参考第一步)
切换软连接到2.7.1版本
1
|
ssh -t -q $h "cd /usr/local/hadoop; rm hadoop-release; ln -s hadoop-2.7.1 hadoop-release"
|
13. 切换文件软链接,root用户执行
1
2
3
4
5
6
7
8
9
10
|
ssh -t -q 192.168.143.46 "cd /usr/local/hadoop; rm hadoop-release; ln -s hadoop-2.7.1 hadoop-release"
ssh -t -q 192.168.143.103 "cd /usr/local/hadoop; rm hadoop-release; ln -s hadoop-2.7.1 hadoop-release"
ssh -t -q 192.168.143.101 "cd /usr/local/hadoop; rm hadoop-release; ln -s hadoop-2.7.1 hadoop-release"
ssh -t -q 192.168.143.102 "cd /usr/local/hadoop; rm hadoop-release; ln -s hadoop-2.7.1 hadoop-release"
ssh -t -q 192.168.143.196 "cd /usr/local/hadoop; rm hadoop-release; ln -s hadoop-2.7.1 hadoop-release"
ssh -t -q 192.168.143.231 "cd /usr/local/hadoop; rm hadoop-release; ln -s hadoop-2.7.1 hadoop-release"
ssh -t -q 192.168.143.182 "cd /usr/local/hadoop; rm hadoop-release; ln -s hadoop-2.7.1 hadoop-release"
ssh -t -q 192.168.143.235 "cd /usr/local/hadoop; rm hadoop-release; ln -s hadoop-2.7.1 hadoop-release"
ssh -t -q 192.168.143.41 "cd /usr/local/hadoop; rm hadoop-release; ln -s hadoop-2.7.1 hadoop-release"
ssh -t -q 192.168.143.127 "cd /usr/local/hadoop; rm hadoop-release; ln -s hadoop-2.7.1 hadoop-release"
|
确认状态
1
2
3
4
5
6
7
8
9
10
|
ssh -t -q 192.168.143.46 "cd /usr/local/hadoop; ls -al"
ssh -t -q 192.168.143.103 "cd /usr/local/hadoop; ls -al"
ssh -t -q 192.168.143.101 "cd /usr/local/hadoop; ls -al"
ssh -t -q 192.168.143.102 "cd /usr/local/hadoop; ls -al"
ssh -t -q 192.168.143.196 "cd /usr/local/hadoop; ls -al"
ssh -t -q 192.168.143.231 "cd /usr/local/hadoop; ls -al"
ssh -t -q 192.168.143.182 "cd /usr/local/hadoop; ls -al"
ssh -t -q 192.168.143.235 "cd /usr/local/hadoop; ls -al"
ssh -t -q 192.168.143.41 "cd /usr/local/hadoop; ls -al"
ssh -t -q 192.168.143.127 "cd /usr/local/hadoop; ls -al"
|
### 启动HDFS,hdfs用户执行
14. 启动JournalNode
1
2
3
4
|
JN:
ssh -t -q 192.168.143.101 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ start\ journalnode"
ssh -t -q 192.168.143.102 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ start\ journalnode"
ssh -t -q 192.168.143.103 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ start\ journalnode"
|
1
2
3
|
ssh -t -q 192.168.143.101 sudo su -l hdfs -c "jps"
ssh -t -q 192.168.143.102 sudo su -l hdfs -c "jps"
ssh -t -q 192.168.143.103 sudo su -l hdfs -c "jps"
|
15. 启动第一个NameNode
1
2
3
|
ssh 192.168.143.46
su - hdfs
/usr/ local /hadoop/hadoop-release/sbin/hadoop-daemon.sh start namenode -upgrade
|
16. 确认状态,在状态完全OK之后,才可以启动另一个namenode
1
|
https://192.168.143.46:50470/dfshealth.html#tab-overview
|
17. 启动第一个ZKFC
1
2
3
|
su - hdfs
/usr/ local /hadoop/hadoop-release/sbin/hadoop-daemon.sh start zkfc
192.168.143.46
|
18. 启动第二个NameNode
1
2
3
4
|
ssh 192.168.143.103
su - hdfs
/usr/ local /hadoop/hadoop-release/bin/hdfs namenode -bootstrapStandby
/usr/ local /hadoop/hadoop-release/sbin/hadoop-daemon.sh start namenode
|
19. 启动第二个ZKFC
1
2
3
|
ssh 192.168.143.103
su - hdfs
/usr/ local /hadoop/hadoop-release/sbin/hadoop-daemon.sh start zkfc
|
20. 启动DataNode
1
2
3
4
5
6
|
ssh -t -q 192.168.143.196 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ start\ datanode"
ssh -t -q 192.168.143.231 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ start\ datanode"
ssh -t -q 192.168.143.182 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ start\ datanode"
ssh -t -q 192.168.143.235 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ start\ datanode"
ssh -t -q 192.168.143.41 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ start\ datanode"
ssh -t -q 192.168.143.127 sudo su -l hdfs -c "/usr/local/hadoop/hadoop-release/sbin/hadoop-daemon.sh\ start\ datanode"
|
确认状态
1
2
3
4
5
6
|
ssh -t -q 192.168.143.196 sudo su -l hdfs -c "jps"
ssh -t -q 192.168.143.231 sudo su -l hdfs -c "jps"
ssh -t -q 192.168.143.182 sudo su -l hdfs -c "jps"
ssh -t -q 192.168.143.235 sudo su -l hdfs -c "jps"
ssh -t -q 192.168.143.41 sudo su -l hdfs -c "jps"
ssh -t -q 192.168.143.127 sudo su -l hdfs -c "jps"
|
21. 一切正常之后,启动hbase, hbase用户执行
启动hbase master,最好先启动原来的active master。
1
2
|
ssh -t -q 192.168.143.101 sudo su -l hbase -c "/usr/local/hadoop/hbase-release/bin/hbase-daemon.sh\ start\ master"
ssh -t -q 192.168.143.103 sudo su -l hbase -c "/usr/local/hadoop/hbase-release/bin/hbase-daemon.sh\ start\ master"
|
启动Hbase regionserver
1
2
3
4
5
6
|
ssh -t -q 192.168.143.196 sudo su -l hbase -c "/usr/local/hadoop/hbase-release/bin/hbase-daemon.sh\ start\ regionserver"
ssh -t -q 192.168.143.231 sudo su -l hbase -c "/usr/local/hadoop/hbase-release/bin/hbase-daemon.sh\ start\ regionserver"
ssh -t -q 192.168.143.182 sudo su -l hbase -c "/usr/local/hadoop/hbase-release/bin/hbase-daemon.sh\ start\ regionserver"
ssh -t -q 192.168.143.235 sudo su -l hbase -c "/usr/local/hadoop/hbase-release/bin/hbase-daemon.sh\ start\ regionserver"
ssh -t -q 192.168.143.41 sudo su -l hbase -c "/usr/local/hadoop/hbase-release/bin/hbase-daemon.sh\ start\ regionserver"
ssh -t -q 192.168.143.127 sudo su -l hbase -c "/usr/local/hadoop/hbase-release/bin/hbase-daemon.sh\ start\ regionserver"
|
22. Hbase region需要手动Balance开启、关闭
需要登录HBase Shell运行如下命令
开启
balance_switch true
关闭
balance_switch false
23. 本次不执行,系统运行一周,确保系统运行稳定,再执行Final。
注意:这期间,磁盘空间可能会快速增长。在执行完final之后,会释放一部分空间。
Finallize upgrade: hdfs dfsadmin -finalizeUpgrade
http://blog.51cto.com/hsbxxl/1976472
转载于:https://www.cnblogs.com/chuancheng/p/8973311.html
Hadoop集群(四) Hadoop升级相关推荐
- Hadoop集群搭 Hadoop分布式文件系统架构和设计
Hadoop集群搭建 先决条件 确保在你集群中的每个节点上都安装了所有必需软件. 获取Hadoop软件包. 安装 安装Hadoop集群通常要将安装软件解压到集群内的所有机器上. 通常,集群里的一台机器 ...
- linux hadoop集群搭建,hadoop集群搭建
hadoop集群搭建步骤 实验介绍 下面将要在三台linux虚拟机上搭建hadoop集群. 知识点 linux基本命令 集群安装 完成实验需要以下相关知识 解压命令 tar -zxvf XX.tar. ...
- FreeBSD下安装配置Hadoop集群(四)
前面说过了NameNode,DataNode的配置方法,这次说Secondary的配置方法.hadoop为实现高可用,支持配置失效备份的Namenode,这样当主的Namenode挂掉了之后,可以从S ...
- 学习笔记Hadoop(七)—— Hadoop集群的安装与部署(4)—— 配置Hadoop集群
四.配置Hadoop集群 Hadoop集群总体规划 Hadoop集群安装采用下面步骤: 在Master节点:上传并解压Hadoop安装包 . 在Master节点:配置Hadoop所需configura ...
- Hadoop集群_Eclipse开发环境设置
1.Hadoop开发环境简介 1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0 ...
- Hadoop实战-中高级部分 之 Hadoop 集群安装
Hadoop RestFul Hadoop HDFS原理1 Hadoop HDFS原理2 Hadoop作业调优参数调整及原理 Hadoop HA Hadoop MapReduce高级编程 Hadoop ...
- Hadoop集群实验
目录 1.实验介绍 2.安装前准备 3.实验环境搭建 4.安装Hadoop 4.1下载Hadoop 4.2修改hadoop配置文件 5.启动Hadoop集群 6.Hadoop测试 1.实验介绍 Had ...
- 大数据平台,Hadoop集群架构,概述及原理
目录 一,大数据平台架构概述 1,大数据概念 2,大数据的特征 3,大数据的处理流程和相关技术 4,大数据平台架构的特点 5,大数据平台架构原理 二,Hadoop集群概述 1,HDFS 2,MapRe ...
- Hadoop详解(五)——ZooKeeper详解,ZooKeeper伪分布搭建和集群搭建,Hadoop集群搭建,sqoop工具的使用
ZooKeeper简介 什么是ZooKeeper? ZooKeeper是Google的Chubby一个开源的实现,是Hadoop分布式协调服务. 它包含了一个简单的原语集,分布式应用程序可以基于它实现 ...
最新文章
- 中getname_Spring IOC中的灵魂伴侣:BeanFactory ApplicationContext
- java 基本功 —— 内存相关
- python time模块和random 模块
- Python浅拷贝与深拷贝
- 100并发 - 千万并发,阿里淘宝的 14 次架构演进之路
- ubuntu16.04 使用 rc.local 自启动加载 python 脚本
- Windows端口扫描关闭工具
- 我对于华为悦盒(IPTV)盒子开机时卡广告图,进入IPTV桌面显示10071错误的解决经过
- php判断信用卡,php校验信用卡卡号代码
- 计算机NIC配置,在主计算机或 VM 上创建新的 NIC 团队
- python制作白底界面_python 多张图片黑底白字转白底黑字
- BZOJ 1189 HNOI2007 紧急疏散evacuate
- Pycharm十大常用快捷键
- 动态文件、2d、3d、Html设置电脑桌面背景【超实用】
- 在Blender中做一个小独角兽
- Win11宽带连接错误651如何解决?
- 开源项目也可以是你的良师益友
- rockchip研讨会_通过网络研讨会记录的数据提高医疗保健的负担能力
- 数学_有趣的有理数(绘制有理数)
- 条件风险价值CVaR