HBase 安装 phoenix 遇到的问题

一、准备:

本人安装的是hbase 的cdh 版本
HBase1.2 -cdh5.9.0

由于安装的是 cdh 版本的Hbase 如果使用原生的 apache phoenix 会由于改动过多无法使用

在官网上http://apache.fayea.com/phoenix/ 下载,如果自己电脑上的安装的hbase版本是cdh的话,则这两者会冲突,使用sqlline.py连接hbase时候会报类似以下错误:

这里写图片描述

出错原因:phoenix官方版本pom文件里的hbase依赖并不是使用cdh版本的。 

解决的方法一

为了能够使得phoenix与cdh对应,我们需要从phoenix官网下载对应版本(4.6.0)的phoenix源码,修改pom文件依赖以及部分源码,并重新编译,得到适配于cdh5.4 hbase1.0.0 的phoenix

解决方法二

在git hub上下载一个 phoenix for hbase-cdh版本的
下载地址 https://github.com/chiastic-security/phoenix-for-cloudera/

 HBase 安装 phoenix 遇到的问题_第1张图片

选择自己合适的版本(分支),在这里我选择的是 4.9-HBase-1.2-cdh5.9

因为我安装的是 HBase-1.2-cdh5.9.0与我的版本最接近

下载分支的代码,两种方式  git clone(如果会)或者 直接下载 zip(操作最简单)

 

在 http://archive.apache.org/dist/phoenix/ 中下载 对应的 phoenix  hbase 版本

HBase 安装 phoenix 遇到的问题_第2张图片

 

二、编译

编译下载的 phoenix-for-cloudera-4.9-HBase-1.2-cdh5.9 项目

进入到文件,右键 -> 在此处打开命令窗口

执行 mvn clean package -DskipTests

HBase 安装 phoenix 遇到的问题_第3张图片

HBase 安装 phoenix 遇到的问题_第4张图片

三、拷贝

将 phoenix-4.9.0-cdh5.9.1-server.jar 和 phoenix-core-4.9.0-cdh5.9.1.jar 拷贝到 hbase/lib下(每一台安装了hbase集群的机器都需要)

cp phoenix-core-4.12.0-HBase-1.2.jar /home/hadoop/cdh590/hbase120/lib/
scp phoenix-core-4.12.0-HBase-1.2.jar root@hadoop02:/home/hadoop/cdh590/hbase120/lib/
scp phoenix-core-4.12.0-HBase-1.2.jar root@hadoop03:/home/hadoop/cdh590/hbase120/lib/

cp phoenix-4.12.0-HBase-1.2-server.jar /home/hadoop/cdh590/hbase120/lib/
scp phoenix-4.12.0-HBase-1.2-server.jar root@hadoop03:/home/hadoop/cdh590/hbase120/lib/
scp phoenix-4.12.0-HBase-1.2-server.jar root@hadoop02:/home/hadoop/cdh590/hbase120/lib/

解压下载 的 apache-phoenix-4.12.0-HBase-1.2-bin.tar.gz 包

tar zxf apache-phoenix-4.12.0-HBase-1.2-bin.tar.gz -C /home/hadoop/cdh590/

重启 hbase

stop-hbase.sh
start-hbase.sh

切换到 下载phoenix 解压包的bin目录下

cd /home/hadoop/cdh590/cdh-phoenix/apache-phoenix-4.9.0-HBase-1.2-bin/bin

执行 sqlline.py 就能使用了。

HBase 安装 phoenix 遇到的问题_第5张图片

你可能感兴趣的:(大数据)