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 mavenvim 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_ip5.2 查看所有表
!tables5.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