文章目录
一、Hbase 集成 Phoneix
1.1、下载
https://mirrors.tuna.tsinghua.edu.cn/apache/phoenix/
选择 HBase 对应的版本下载。
1.2、解压
tar -zxv -f apache-phoenix-4.14.3-HBase-1.4-bin.tar.gz
mv apache-phoenix-4.14.3-HBase-1.4-bin/ phoenix
1.3、拷贝 jar 包至所有节点
将 phoenix-4.14.3-HBase-1.4-server.jar、phoenix-core-4.14.3-HBase-1.4.jar 发送到 hregionserver 所在的 hbase 的 lib 目录下
cp phoenix-4.14.3-HBase-1.4-server.jar phoenix-core-4.14.3-HBase-1.4.jar $HBASE_HOME/lib
scp phoenix-4.14.3-HBase-1.4-server.jar phoenix-core-4.14.3-HBase-1.4.jar ds074:/xx/xx
1.4、开启 schema 与 namespace 的对应关系
如果使用了 hbase 中的自定义 namespace,不仅仅使用 default,那么在 phoenix 中与之对应的是 schema 的概念,但是默认并没有开启,需要在 hbase-site.xml ( hbase/conf/hbase-site.xml
、phoenix/bin/hbase-site.xml
)中增加以下配置项:
<property>
<name>phoenix.schema.isNamespaceMappingEnabled</name>
<value>true</value>
</property>
<property>
<name>phoenix.schema.mapSystemTablesToNamespace</name>
<value>true</value>
</property>
1.5、重启 HBase
$HBASE_HOME/bin/stop-hbase.sh && $HBASE_HOME/bin/start-hbase.sh
1.6、启动 phoneix
添加 Phoenix 到 PATH 中:
echo -e 'export PHOENIX_HOME=/home/hadoop/phoenix\nexport PATH=$PHOENIX_HOME/bin:$PATH' >> ~/.bashrc
使配置生效:
source ~/.bashrc
启动:
sqlline.py master #其中的master为Zookeeper所在节点的主机名
查看所有表:
!tables
帮助命令:
help
退出:
!quit
二、Phoneix 集成 Hbase 创建二级索引
2.1、配置
如果使用的 phoneix 版本在 4.8 之后则不需要如下配置。
在每一个 RegionServer 的 hbase-site.xml 中加入如下的属性:
<property>
<name>hbase.regionserver.wal.codec</name>
<value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>
</property>
<property>
<name>hbase.region.server.rpc.scheduler.factory.class</name>
<value>org.apache.hadoop.hbase.ipc.PhoenixRpcSchedulerFactory</value>
</property>