基于hdp2.5升级phoenix版本为4.8
hdp2.5自带的phoenix是4.7的,而客户的驾驶舱项目跑在4.7的phoenix上是有问题的,如:如果表中没有数据,执行select count(*) from 表,返回的是空,这时导致驾驶舱项目报错误。所以决定升级phoenix版本为4.8,过程如下
1、在ambari中关闭Hbase、Ambari Metrics
2、备份原来的phoenix
mv phoenix phoenixbak
3、上传phoenix安装包apache-phoenix-4.8.2-HBase-1.2-bin.tar
4、解压tar -zxvf apache-phoenix-4.8.2-HBase-1.2-bin.tar.gz
5、删除apache-phoenix-4.8.2-HBase-1.2-bin.tar.gz
rm -rf apache-phoenix-4.8.2-HBase-1.2-bin.tar.gz
6、修改apache-phoenix-4.8.2-HBase-1.2-bin目录名为phoenix
mv apache-phoenix-4.8.2-HBase-1.2-bin/ phoenix
7、修改phoenix目录的所有人、所有组为root:root
chown -R root:root phoenix
8、进入phoenix目录,创建doc目录,并将example目录移动到doc目录下
cd phoenix
mkdir doc
mv examples/ doc/
9、创建phoenix-pherf目录,并将bin/config目录移动到phoenix-pherf目录下
mkdir phoenix-pherf
mv bin/config/ phoenix-pherf
10、复制phoenixbak/lib目录到当前目录
cp -r ../phoenixbak/lib/ .
11、进到lib目录下,删除以phoenix开头的jar包
cd lib/
rm -rf phoenix-*.jar
12、将上级目录的以phoenix-core开头的jar包拷贝到当前目录
cp ../phoenix-core-4.8.2-HBase-1.2*.jar .
13、将上级目录的以phoenix-flume开头的jar包拷贝到当前目录
cp ../phoenix-flume-4.8.2-HBase-1.2*.jar .
14、将上级目录以phoenix-hive开头的jar包拷贝到当前目录
cp ../phoenix-hive-4.8.2-HBase-1.2*.jar .
15、将上级目录以phoenix-pherf-4.8.2-HBase-1.1开头的jar包拷贝到当前目录
cp ../phoenix-pherf-4.8.2-HBase-1.2*.jar .
16、将上级目录以phoenix-pig开头的jar包拷贝到当前目录
cp ../phoenix-pig-4.8.2-HBase-1.2*.jar .
17、将上级目录以phoenix-queryserver-开头的jar包拷贝到当前目录
cp ../phoenix-queryserver-*.jar .
18、将上级目录以phoenix-spark开头的jar包拷贝到当前目录
cp ../phoenix-spark-4.8.2-HBase-1.2*.jar .
19、为phoenix/bin目录下所有py文件增加执行权限
chmod +x *.py
20、修改queryserver.py文件内容
将%s-queryserver 改为phoenix-%s-server,如下
21、返回上级,执行如下代码
rm -rf phoenix-core-4.8.2-HBase-1.2*.jar
rm -rf phoenix-flume-4.8.2-HBase-1.2*.jar
rm -rf phoenix-hive-4.8.2-HBase-1.2*.jar
rm -rf phoenix-pherf-4.8.2-HBase-1.2*.jar
rm -rf phoenix-pig-4.8.2-HBase-1.2*.jar
rm -rf phoenix-queryserver-*.jar
rm -rf phoenix-spark-4.8.2-HBase-1.2*.jar
执行后,效果如下
22、备份所有节点上的phoenix
23、将修改后的/usr/hdp/2.5.0.0-1245/phoenix拷贝到其他所有节点中/usr/hdp/2.5.0.0-1245目录下
24、在安装Metrics Collector节点上替换/usr/lib/ams-hbase/lib下的phoenix包
cd /usr/lib/ams-hbase/lib
rm -rf phoenix-*.jar
拷贝
cp /usr/hdp/2.5.0.0-1245/phoenix/lib/phoenix-core-4.8.2-HBase-1.2.jar .
cp /usr/hdp/2.5.0.0-1245/phoenix/phoenix-4.8.2-HBase-1.2-server.jar .
25、在安装Metrics Collector节点上替换/usr/lib/ambari-metrics-collector下的phoenix包
cd /usr/lib/ambari-metrics-collector
rm -rf phoenix-*.jar
拷贝
cp /usr/hdp/2.5.0.0-1245/phoenix/lib/phoenix-core-4.8.2-HBase-1.2.jar .
cp /usr/hdp/2.5.0.0-1245/phoenix/phoenix-4.8.2-HBase-1.2-server.jar .
26、在替换phoenix的每个节点的/usr/hdp/2.5.0.0-1245/phoenix中,创建软件连接
cd /usr/hdp/2.5.0.0-1245/phoenix
ln -s phoenix-4.8.2-HBase-1.2-client.jar phoenix-client.jar
ln -s phoenix-4.8.2-HBase-1.2-hive.jar phoenix-hive.jar
ln -s phoenix-4.8.2-HBase-1.2-pig.jar phoenix-pig.jar
ln -s phoenix-4.8.2-HBase-1.2-server.jar phoenix-server.jar
ln -s phoenix-4.8.2-HBase-1.2-thin-client.jar phoenix-thin-client.jar
27、启动Hbase、Ambari Metrics
28、通过shell访问(phoenix-sqlline localhost:2181:/hbase-unsecure)
如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】。
如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】。
如果,您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客,我是【刘超★ljc】。
本文版权归作者,禁止转载,否则保留追究法律责任的权利。