前言:
为了满足业务需求,有时候我们需要单独调整部分组件的版本。目前无法通过ambari界面来进行操作,我们只能通过后台进行相应的升级操作。
本次升级目标:
一、升级hbase操作
注:hbase集群所有节点需要执行下面升级操作,生产使用前请进行测试。
下载apache hbase安装包
http://archive.apache.org/dist/
1. 通过ambari停止hbase服务
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服务
4.进入hbase shell检查。
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
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
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;
升级后:
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;
5. 异常问题恢复还原
通过ambari停止Phoenix服务
cd /usr/hdp/2.6.0.3-8
mv phoenix phoenix_bk2
mv phoenix_bk phoenix
通过ambari启动Phoenix服务即可。