因业务需求,有租户需要使用phoenix工具
1. phoenix下载地址: http://phoenix.apache.org/download.html
3. 安装包: apache-phoenix-4.14.0-cdh5.14.2-bin.tar.gz
4. 安装操作
a. tar -zxvf apache-phoenix-4.14.0-cdh5.14.2-bin.tar.gz -C /opt/beh/core
mv apache-phoenix-4.14.0-cdh5.14.2-bin phoenix
cd /opt/beh/core/phoenix
b. 将phoenix的jar包拷贝到所有的每个节点下的 hbase/lib 的目录中 ,这里我们因为hbase服务端仅1节点,且为cm安装
cp phoenix* /opt/cloudera/parcels/CDH/lib/hbase/lib/
cd /opt/cloudera/parcels/CDH/lib/hbase/lib/
chmod 777 phoenix*
c. 进入 cm页面操作,添加配置信息
1. 搜索 hbase-site.xml,下面两者都添加相同配置信息
hbase-site.xml 的 HBase 服务高级配置 代码段(会把Master和regionServer都改了, 需要重启才能生效)
hbase-site.xml 的 HBase 客户端高级配置 代码段(需要部署客户端配置才能生效)
2. hbase-site.xml 配置信息如下:(HBase 服务高级配置 和 HBase 客户端高级配置 都需要添加如下配置)
1.这个是二级索引支持
<property>
<name>hbase.regionserver.wal.codec</name>
<value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
</property>
2.这个是 命名空间开启
<property>
<name>phoenix.schema.isNamespaceMappingEnabled</name>
<value>true</value>
</property>
<property>
<name>phoenix.schema.mapSystemTablesToNamespace</name>
<value>true</value>
</property>
3.下载hbase的配置文件,点击下载客户端配置“”
把解压后的hbase-conf目录中的文件(重要如core-site.xml、hbase-site.xml、hdfs-site.xml) 拷贝并替换到 /root/phoenix/bin 目录中。
d. 具体页面操作如下
1. cm 中hbase服务端高级代码段:
2. cm中hbase客户端高级代码段:
3. 重启hbase服务,并下载客户端配置:
5. 配置租户的接口机客户端
1. 首选在解压hbase客户端配置安装包,并修改hbase-site.xml中的 hbase.zookeeper.quorum 配置项:
复制并替换 cp hbase-site.xml core-site.xml hdfs-site.xml /opt/beh/core/hbase/conf
cp hbase-site.xml core-site.xml hdfs-site.xml /opt/beh/core/phoenix/bin
chmod 755 /opt/beh/core/hbase/conf/*
chmod 755 /opt/beh/core/phoenix/bin/*
2. 拷贝phoenix的jar包到hbase 的lib路径
cp /opt/beh/core/phoenix/phoenix* /opt/beh/core/hbase/lib
3. 测试连接:
sqlline.py node1:2181(2181端口可以省略)
命令操作:(命令开头需要一个感叹号,使用help可以打印出所有命令)
查看所有表:执行 !tables
如果没有开启namespace,即如果没有设置phoenix.schema.isNamespaceMappingEnabled为true的话,那么“SYSTEM:CATALOG”表名的中间不是冒号,而是点符号
实际是在hbase中创建出SYSTEM:CATALOG、SYSTEM:FUNCTION、SYSTEM:LOG、SYSTEM:MUTEX、SYSTEM:SEQUENCE、SYSTEM:STATS 表