1.部署
- 上传并解压:
tar -zxvf phoenix-hbase-2.4-5.1.2-bin.tar.gz
- 复制jar包到hbase,并分发到其他机器
cp phoenix-pherf-5.1.2.jar /data/services/hbase-2.4.13/lib/
cp phoenix-server-hbase-2.4-5.1.2.jar /data/services/hbase-2.4.13/lib/
scp /data/services/hbase-2.4.13/lib/phoenix-pherf-5.1.2.jar node01:$PWD
scp /data/services/hbase-2.4.13/lib/phoenix-server-hbase-2.4-5.1.2.jar node01:$PWD
- 修改环境变量
export PHOENIX_HOME=/data/services/phoenix-hbase-2.4-5.1.2-bin
export PATH=$PATH:$PHOENIX_HOME/bin
- 复制hdfs配置文件到bin目录下,并分发
cp /data/services/hadoop-3.2.2/etc/hadoop/core-site.xml phoenix-hbase-2.4-5.1.2-bin/bin
cp /data/services/hadoop-3.2.2/etc/hadoop/hdfs-site.xml phoenix-hbase-2.4-5.1.2-bin/bin
- 配置 HBase 支持 Phoenix 创建二级索引,添加如下配置到 HBase 的 Hregionerver 节点的 hbase-site.xml
<!-- phoenix regionserver 配置参数 -->
<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>
<description>Factory to create the Phoenix RPC Scheduler that uses separate queues for index and metadata updates</description>
</property>
<property>
<name>hbase.rpc.controllerfactory.class</name>
<value>org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory</value>
<description>Factory to create the Phoenix RPC Scheduler that uses separate queues for index and metadata updates</description>
</property>
<property>
<name>phoenix.schema.isNamespaceMappingEnabled</name>
<value>true</value>
</property>
<property>
<name>phoenix.schema.mapSystemTablesToNamespace</name>
<value>true</value>
</property>
- 重启hbase,phoenix服务
bin/sqlline.py xx,yy,zz:2181
# 退出
!quit
- jdbc连接phoenix
jdbc:phoenix:xxx,yyy,zzz:2181
2. dbeaver连接
通过dbeaver来连接phoenix需要两个文件,
第一个文件是phoenix-client-hbase-2.4-5.1.2.jar(phoenix解压包里),
第二个文件是hbase-site.xml
我们需要将 hbase-site.xml放入phoenix-client-hbase-2.4-5.1.2.jar中,
mac的操作如下:
tar zxvf phoenix-client-hbase-2.4-5.1.2.jar
cd phoenix-client-hbase-2.4-5.1.2
mv ../hbase-site.xml .
jar cvf phoenix-client-hbase.jar *
dbeaver修改驱动
测试连接,如果连接失败,则退出软件,直接重连:
3. 测试phoenix
CREATE TABLE IF NOT EXISTS US_POPULATION (
state CHAR(2) NOT NULL,
city VARCHAR NOT NULL,
population BIGINT
CONSTRAINT my_pk PRIMARY KEY (state, city));
UPSERT INTO US_POPULATION (state, city, population) values ('NY','New York',8143197);
UPSERT INTO US_POPULATION (state, city, population) values ('CA','Los Angeles',3844829);
SELECT * FROM US_POPULATION WHERE population > 8000000;