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

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

基于hdp2.5升级phoenix版本为4.8的更多相关文章

  1. CentOS 5升级Python版本(2.4>2.7)

    安装SALT时,需要这样作,公司有一批REDHAT5的,弄起来... 然后却是: Missing Dependency: python(abi) = 2.6 is needed by package ...

  2. SpringBoot之整合Redis分析和实现-基于Spring Boot2.0.2版本

    背景介绍 公司最近的新项目在进行技术框架升级,基于的Spring Boot的版本是2.0.2,整合Redis数据库.网上基于2.X版本的整个Redis少之又少,中间踩了不少坑,特此把整合过程记录,以供 ...

  3. CENTOS 7 升级内核版本(附带升级脚本)

    写在前面的话 对于系统而言,除非是那种安全性要求非常高的公司或者经常会有第三方安全机构对其漏洞扫描的才容易涉及到系统的内核升级,比如之前呆过一个公司,因为需要做三级等保的原因,就会涉及到系统扫描,这时 ...

  4. [linux]centos7.4上升级python2版本到python3.6.5 【安装双版本,默认python3】

    版本声明 centos7.4 前言:linux上的python默认是版本2的,之前学django项目用的是3的版本 所以得升级下版本~ 1.下载python3.6.5 cd /usr/local/ w ...

  5. 非关系型数据库来了,CRL快速开发框架升级到版本4

    轮子?,我很任性,我要造不一样的轮子,同时支持关系型和非关系型的框架有没有 新版数据查询作了些调整,抽象了LabmdaQueryy和DBExtend,升级到版本4,非关系数据库MongoDB被支持了! ...

  6. ubuntu下升级R版本

    ubuntu下升级R版本   在测试<机器学习 实用案例解析>一书的邮件分类代码时,windows系统下rstudio中无法读取特殊字符,在ubuntu下可以.在ubuntu虚拟机下安装t ...

  7. Mac中使用port升级gcc版本

    Mac OS中的gcc版本可能不会满足实际使用要求,需要对其升级. 这里介绍使用port方式来升级gcc版本.Macports是Mac OS中的软件包管理工具. 首先,安装Macports 这里提供O ...

  8. 如何升级Ceph版本及注意事项

    升级软件版本在日常运维中是一个常见操作. 本文分享一下Ceph版本升级的一些经验. 一般升级流程和注意如下: 1.  关注社区Release notes 和 ceph-user邮件订阅列表,获取社区发 ...

  9. Windows2000安装Winform Clickonce提示升级系统版本的解决方案

    Windows2000安装Winform Clickonce提示升级系统版本.只需要把所有应用的DLL的独立性设置为false就可以了.

随机推荐

  1. public/private/protected的具体区别

    在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,base class可以认为他们都是自己的子女,而对于和自己一个目录下的classes,认为都是自己的朋友 ...

  2. 文本三剑客---sed 基础

    sed编辑器被称作流编辑器(stream editor),和普通的交互式文本编辑器恰好相反.在交互式文本编辑器中(比如vim),你可以用键盘命令来交互式的插入.删除或者替换数据中的文本.流编辑器则会自 ...

  3. Groovy - 介绍

    Groovy 是 用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言.使用该种语言不必编写过多的代码,同时又具有闭包和动态语言中的 ...

  4. 基于jenkins搭建一个持续集成服务器

    1 引言 1.1 编写目的 指导质量管理部,业务测试组同事进行Jenkins环境部署,通过Jenkins解决测试环境不可控,开发测试环境不一致等问题. 1.2 使用对象 质量管理部.基础研发部,集成部 ...

  5. (转)HashMap深入原理解析

    [HashMap]深入原理解析 分类: 数据结构 自考 equals与“==”(可以参考自己的另一篇博文) 1,基本数据类型(byte,short,char,int,long,float,double ...

  6. 阿里聚安全移动安全专家分享:APP渠道推广作弊攻防那些事儿

    移动互联网高速发展,要保持APP持续并且高速增长所需的成本也越来越高.美团网CEO在今年的一次公开会议上讲到:"2017年对移动互联网公司来说是非常恐的.".主要表现在三个方面,手 ...

  7. Cocoapods最新安装教程

    一.CocoaPods简介 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs 的 npm.随着 iOS 开发者的增多,业界也出现了为 iOS 程序提 ...

  8. linux下删除文件及文件夹命令

    一.删除空文件与文件夹 rm或rmdir 文件/文件夹 二.删除非空文件与文件夹 rm -rf 文件/文件夹

  9. mybatis深入理解之 # 与 $ 区别以及 sql 预编译

    mybatis 中使用 sqlMap 进行 sql 查询时,经常需要动态传递参数,例如我们需要根据用户的姓名来筛选用户时,sql 如下: select * from user where name = ...

  10. python细碎语法点

    在系统入门python有的是没有遇到,有的是学过了缺乏使用没有记住,就开篇随笔记录这些基础的语法点,随时更新. with...as... 也就是说with是一个控制流语句,跟if/for/while/ ...