伪分布Hadoop2.7.6 hbase2.1.8升级到Hadoop3.1.3 hbase2.1.10

如果Hadoop集群配置了高可用,则可以进行不停服的滚动升级。但现在是伪分布的单节点集群,因此需要停止Hadoop及相关的应用,包括hbase、zookeeper等。

Hadoop升级

  1. 因为目前有跑flink作业,checkpoint是放在hdfs上的,因此先停掉对应的job(只需要停job,不用关flink集群)
  2. 停止hbase集群:stop-hbase.sh
  3. 停止Hadoop集群:stop-all.sh
  4. 备份hdfs元数据:包括namenode元数据、datanode元数据、临时数据,我都备份了。命令类似:

    tar -zcvf /opt/backup/backup_namenode.tar.gz *

  5. 上传新版本Hadoop安装包,解压、配置(包括Hadoop配置文件,以及/etc/profile环境变量指向新版本)
  6. 新版本sbin目录下执行升级操作:./start-dfs.sh -upgrade
  7. 启动Hadoop集群:start-all.sh

3.1.3版本的hdfs web端口由50070改为了9870: 

此时可以看到上面有一行说明,红框中的意思是正在升级。

等了10分钟左右还是这样,但我通过hdfs dfsadmin -report查看hdfs状态是正常的,且通过hdfs fsck -blocks查看块数据也没有丢失的,所以就直接输入如下命令来手动结束升级:

$ hdfs dfsadmin -finalizeUpgrade
Finalize upgrade successful

接下来进行hbase的升级

hbase升级

  1. 上传新版本hbase安装包,解压,修改配置(包括hbase的配置文件以及/etc/profile中的hbase路径)
  2. 将lib/client-facing-thirdparty下的两个htrace文件复制到lib下,不然启动hbase会报错org.apache.htrace.SamplerBuilder找不到
  3. 启动hbase,如果报错FanOutOneBlockAsyncDFSOutputHelper找不到,则需要在hbase-site.xml添加配置
<property>
      <name>hbase.wal.provider</name>
      <value>filesystem</value>
</property>

 再次启动即可。(可能需要过一段时间hbase shell才能用,我看了日志,大概5分钟之后可用)

至此,Hadoop和hbase的伪分布模式升级完成。接下来把旧版本文件删掉即可。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值