基于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】。

本文版权归作者,禁止转载,否则保留追究法律责任的权利。