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升级相关推荐

  1. Hadoop集群搭 Hadoop分布式文件系统架构和设计

    Hadoop集群搭建 先决条件 确保在你集群中的每个节点上都安装了所有必需软件. 获取Hadoop软件包. 安装 安装Hadoop集群通常要将安装软件解压到集群内的所有机器上. 通常,集群里的一台机器 ...

  2. linux hadoop集群搭建,hadoop集群搭建

    hadoop集群搭建步骤 实验介绍 下面将要在三台linux虚拟机上搭建hadoop集群. 知识点 linux基本命令 集群安装 完成实验需要以下相关知识 解压命令 tar -zxvf XX.tar. ...

  3. FreeBSD下安装配置Hadoop集群(四)

    前面说过了NameNode,DataNode的配置方法,这次说Secondary的配置方法.hadoop为实现高可用,支持配置失效备份的Namenode,这样当主的Namenode挂掉了之后,可以从S ...

  4. 学习笔记Hadoop(七)—— Hadoop集群的安装与部署(4)—— 配置Hadoop集群

    四.配置Hadoop集群 Hadoop集群总体规划 Hadoop集群安装采用下面步骤: 在Master节点:上传并解压Hadoop安装包 . 在Master节点:配置Hadoop所需configura ...

  5. Hadoop集群_Eclipse开发环境设置

    1.Hadoop开发环境简介 1.1 Hadoop集群简介 Java版本:jdk-6u31-linux-i586.bin Linux系统:CentOS6.0 Hadoop版本:hadoop-1.0.0 ...

  6. Hadoop实战-中高级部分 之 Hadoop 集群安装

    Hadoop RestFul Hadoop HDFS原理1 Hadoop HDFS原理2 Hadoop作业调优参数调整及原理 Hadoop HA Hadoop MapReduce高级编程 Hadoop ...

  7. Hadoop集群实验

    目录 1.实验介绍 2.安装前准备 3.实验环境搭建 4.安装Hadoop 4.1下载Hadoop 4.2修改hadoop配置文件 5.启动Hadoop集群 6.Hadoop测试 1.实验介绍 Had ...

  8. 大数据平台,Hadoop集群架构,概述及原理

    目录 一,大数据平台架构概述 1,大数据概念 2,大数据的特征 3,大数据的处理流程和相关技术 4,大数据平台架构的特点 5,大数据平台架构原理 二,Hadoop集群概述 1,HDFS 2,MapRe ...

  9. Hadoop详解(五)——ZooKeeper详解,ZooKeeper伪分布搭建和集群搭建,Hadoop集群搭建,sqoop工具的使用

    ZooKeeper简介 什么是ZooKeeper? ZooKeeper是Google的Chubby一个开源的实现,是Hadoop分布式协调服务. 它包含了一个简单的原语集,分布式应用程序可以基于它实现 ...

最新文章

  1. 中getname_Spring IOC中的灵魂伴侣:BeanFactory ApplicationContext
  2. java 基本功 —— 内存相关
  3. python time模块和random 模块
  4. Python浅拷贝与深拷贝
  5. 100并发 - 千万并发,阿里淘宝的 14 次架构演进之路
  6. ubuntu16.04 使用 rc.local 自启动加载 python 脚本
  7. Windows端口扫描关闭工具
  8. 我对于华为悦盒(IPTV)盒子开机时卡广告图,进入IPTV桌面显示10071错误的解决经过
  9. php判断信用卡,php校验信用卡卡号代码
  10. 计算机NIC配置,在主计算机或 VM 上创建新的 NIC 团队
  11. python制作白底界面_python 多张图片黑底白字转白底黑字
  12. BZOJ 1189 HNOI2007 紧急疏散evacuate
  13. Pycharm十大常用快捷键
  14. 动态文件、2d、3d、Html设置电脑桌面背景【超实用】
  15. 在Blender中做一个小独角兽
  16. Win11宽带连接错误651如何解决?
  17. 开源项目也可以是你的良师益友
  18. rockchip研讨会_通过网络研讨会记录的数据提高医疗保健的负担能力
  19. 数学_有趣的有理数(绘制有理数)
  20. 条件风险价值CVaR

热门文章

  1. java技术难点_Java核心技术第四章----对象与类重难点总结
  2. leetcode270. 最接近的二叉搜索树值
  3. (五)深入浅出TCPIP之TCP流量控制
  4. 无限踩坑系列(5)-MySQLdb
  5. FM,FFM及其实现
  6. 大数据学习(1)-大数据概述
  7. python程序设计题怎么写_《Python语言程序设计基础》第1章程序练习题
  8. Java基础——Java IO详解
  9. 成功人士高效率的工作法
  10. linux 32位平台,文件大小受限于2G的解决方法