前言:

为了满足业务需求,有时候我们需要单独调整部分组件的版本。目前无法通过ambari界面来进行操作,我们只能通过后台进行相应的升级操作。

本次升级目标:
image.jpeg

一、升级hbase操作

注:hbase集群所有节点需要执行下面升级操作,生产使用前请进行测试。
下载apache hbase安装包
http://archive.apache.org/dist/
image.jpeg

1. 通过ambari停止hbase服务

image.jpeg

2. 备份并启用新hbase安装包

cd /usr/hdp/2.6.0.3-8
mv hbase hbase_bk
tar zxvf hbase-1.2.5-bin.tar.gz
mv hbase-1.2.5 hbase

替换配置
cd /usr/hdp/2.6.0.3-8/hbase
rm -rf conf/
ln -s /etc/hbase/2.6.0.3-8/0 conf

替换bin目录
cd /usr/hdp/2.6.0.3-8/hbase
rm -rf bin/
cp -r ../hbase_bk/bin/ .

创建连接
cd /usr/hdp/2.6.0.3-8/hbase/lib/
ln -s hbase-annotations-1.2.5.jar hbase-annotations.jar
ln -s hbase-client-1.2.5.jar hbase-client.jar
ln -s hbase-common-1.2.5.jar hbase-common.jar
ln -s hbase-examples-1.2.5.jar hbase-examples.jar
ln -s hbase-hadoop2-compat-1.2.5.jar hbase-hadoop2-compat.jar
ln -s hbase-hadoop-compat-1.2.5.jar hbase-hadoop-compat.jar
ln -s hbase-it-1.2.5.jar hbase-it.jar
ln -s hbase-prefix-tree-1.2.5.jar hbase-prefix-tree.jar
ln -s hbase-procedure-1.2.5.jar hbase-procedure.jar
ln -s hbase-protocol-1.2.5.jar hbase-protocol.jar
ln -s hbase-resource-bundle-1.2.5.jar hbase-resource-bundle.jar
ln -s hbase-rest-1.2.5.jar hbase-rest.jar
ln -s hbase-server-1.2.5.jar hbase-server.jar
ln -s hbase-shell-1.2.5.jar hbase-shell.jar
ln -s hbase-thrift-1.2.5.jar hbase-thrift.jar
ln -s /usr/hdp/2.6.0.3-8//phoenix/phoenix-server.jar phoenix-server.jar

将新安装包同步到其它hbase节点。

3.通过ambari启动hbase服务

image.jpeg

4.进入hbase shell检查。

升级前:
image.jpeg
升级后:
image.jpeg

5. 异常问题恢复还原操作

通过ambari停止hbase服务
cd /usr/hdp/2.6.0.3-8
mv hbase hbase_bk2
mv hbase_bk/ hbase

hadoop fs -rm /apps/hbase/data/MasterProcWALs/*

通过ambari启动hbase服务即可。

二、升级phoenix操作

1. 通过ambari停止phoenix server

image.jpeg

2. 备份并启用新phoenix安装包

cd /usr/hdp/2.6.0.3-8
mv phoenix phoenix_bk
tar zxvf apache-phoenix-4.10.0-HBase-1.2-bin.tar.gz
mv apache-phoenix-4.10.0-HBase-1.2-bin phoenix
cd /usr/hdp/2.6.0.3-8/phoenix

cp -r ../phoenix_bk/lib/ .
cd lib
rm -rf phoenix-
cd ..
mv phoenix-
lib/
cd lib
mv phoenix-4.10.0-HBase-1.2- ..

cd /usr/lib/ams-hbase/lib
rm -rf phoenix-

cp /usr/hdp/2.6.0.3-8/phoenix/phoenix-4.10.0-HBase-1.2-server.jar .
cp /usr/hdp/2.6.0.3-8/phoenix/lib/phoenix-core-4.10.0-HBase-1.2.jar .

cd /usr/lib/ambari-metrics-collector
rm -rf phoenix-core-4.7.0.2.6.0.3-8.jar
cp /usr/hdp/2.6.0.3-8/phoenix/lib/phoenix-core-4.10.0-HBase-1.2.jar .
cp /usr/hdp/2.6.0.3-8/phoenix/phoenix-4.10.0-HBase-1.2-server.jar .


cd /usr/hdp/2.6.0.3-8/phoenix
ln -s phoenix-4.10.0-HBase-1.2-client.jar phoenix-client.jar
ln -s phoenix-4.10.0-HBase-1.2-hive.jar phoenix-hive.jar
ln -s phoenix-4.10.0-HBase-1.2-pig.jar phoenix-pig.jar
ln -s phoenix-4.10.0-HBase-1.2-server.jar phoenix-server.jar
ln -s phoenix-4.10.0-HBase-1.2-thin-client.jar phoenix-thin-client.jar

cd /usr/hdp/2.6.0.3-8/phoenix
mkdir doc
mv examples/ doc/
mkdir phoenix-pherf
mv bin/config/ phoenix-pherf
cd /usr/hdp/2.6.0.3-8/phoenix/bin/
vi queryserver.py
将%s-queryserver 改为phoenix-%s-server
# TODO: add windows support
phoenix_file_basename = ‘phoenix-%s-server’ % getpass.getuser()

将新安装包同步到其它部署Phoenix节点。

3. 通过ambari启动phoenix server

image.jpeg

4. 检查phoenix服务

升级前
cd /usr/hdp/2.6.0.3-8/phoenix/bin
./sqlline.py 10.1.236.51:2181:/hbase-unsecure

select sex ,count(sex) as num from test.person where age >20 group by sex;
image.jpeg


升级后:
cd /usr/hdp/2.6.0.3-8/phoenix/bin
./sqlline.py 10.1.236.51:2181:/hbase-unsecure

select sex ,count(sex) as num from test.person where age >20 group by sex;
image.jpeg

5. 异常问题恢复还原

通过ambari停止Phoenix服务
cd /usr/hdp/2.6.0.3-8
mv phoenix phoenix_bk2
mv phoenix_bk phoenix
通过ambari启动Phoenix服务即可。