CDH6.1安装phoenix(源码编译安装)

1,801 阅读2分钟

1.  前言

       因CDH6.1 官方没人将phoenix集成进来,需要手动安装.。不过CDH6.2开始支持phoenix Parcel。因为笔者使用的CDH6.1,所以这里记录下手动安装过程

CDH6.2.X支持参考:

docs.cloudera.com/documentati…

2. 安装maven

cd /opt
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz
tar xf apache-maven-3.6.2-bin.tar.gz
mv apache-maven-3.6.2 maven

vim maven/conf/settings.xml  #配置阿里云maven源

     在<mirrors> </mirrors> 中间加入既可

<mirror> 
    <id>aliyun-maven</id> 
    <mirrorOf>*</mirrorOf> 
    <name>aliyun maven</name> 
    <url>http://maven.aliyun.com/nexus/content/groups/public</url> 
</mirror>

3. 打包phoenix

3.1 下载phoenix源代码并执行mvn打包命令

git clone https://github.com/apache/phoenix.git
cd phoenix
git branch -a                       #查看分支
git tag                             #查看tag
git checkout tags/v5.0.0-HBase-2.0  #切换tag
/opt/maven/bin/mvn -T2C install -DskipTests          #执行打包命令,skipTests为跳过自测


4. 配置phoenix集成到hbase中

  将打包好的phoenix压缩包移动到指定位置,并声明全局环境,以便后续使用

phoenix-assembly/target/phoenix-5.0.0-HBase-2.0.tar.gz /opt/
cd /opt && tar -zxf phoenix-5.0.0-HBase-2.0.tar.gz 
mv apache-phoenix-5.0.0-HBase-2.0-bin/ phoenix5 && chown -R root:root phoenix5/

  声明全局环境(这里也把maven配置了,后续使用maven直接执行mvn既可)

echo "export MAVEN_HOME=/opt/maven"         >> /etc/profile 
echo "export PHOENIX_HOME=/opt/phoenix5"    >> /etc/profile
echo "export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$PHOENIX_HOME/bin"  >> /etc/profile
source /etc/profile

 集成到hbase中, 将phoenix-5.0.0-HBase*相关包复制到RegionServer所在的服务

scp phoenix-5.0.0-HBase-2.0-*.jar  /opt/cloudera/parcels/CDH-6.1.1-1.cdh6.1.1.p0.875250/lib/hbase/lib/

修改HBase配置后,并重启hbase使之生效,

搜索hbase-site.xml 的 HBase 服务高级配置代码段

名称:  hbase.table.sanity.checks  值: false

保存 -> 重启hbase生效

5. 测试phoenix是否生效

  5.1 执行以下命令进入phoenix交互界面

sqlline.py    #如果phoenix没有和zk安装在同一台机器,哪需要执行: sqlline.py  zk_ip

  5.2 查看所有表

!tables

  5.2 创建表并插入数据

CREATE TABLE "user_info" (
"ROW" varchar primary key,
"cf1"."gc" double ,
"cf1"."id" bigint ,
"cf1"."jd" double ,
"cf1"."name" varchar ,
"cf1"."wd" double
)column_encoded_bytes=0;

UPSERT INTO "user_info"("ROW", "gc", "id", "jd", "name", "wd") VALUES('2', 1.1, 2, 3.33, '名字1', 5.1234);

 

 5.3 去hbase验证

hbase shell        #进入hbase 交互界面
list               #查看所有表
scat "user_info"   #查看表数据


数据显示正常。ok

参考:

blog.csdn.net/github_3957…