HBase整合Phoenix
创建软件目录
mkdir -p /opt/soft
cd /opt/soft
下载软件
wget https://dlcdn.apache.org/phoenix/phoenix-5.1.3/phoenix-hbase-2.5-5.1.3-bin.tar.gz
解压 hbase
tar -zxvf phoenix-hbase-2.5-5.1.3-bin.tar.gz
修改 hbase 目录名称
mv phoenix-hbase-2.5-5.1.3-bin phoenix
配置环境变量
vim /etc/profile
export PHOENIX_HOME=/opt/soft/phoenix
export PATH=$PATH:$PHOENIX_HOME/bin
使环境变量生效
source /etc/profile
复制jar文件到hbase/lib目录
scp /opt/soft/phoenix/phoenix-server-hbase-2.5-5.1.3.jar root@spark01:/opt/soft/hbase2/lib
scp /opt/soft/phoenix/phoenix-server-hbase-2.5-5.1.3.jar root@spark02:/opt/soft/hbase2/lib
scp /opt/soft/phoenix/phoenix-server-hbase-2.5-5.1.3.jar root@spark03:/opt/soft/hbase2/lib
重启HBase
stop-hbase.sh
start-hbase.sh
连接Phoenix
sqlline.py spark01,spark02,spark03
注意:会出现如下报错信息
/usr/bin/env: ‘python’: No such file or directory
whereis python3
# 这里是 whereis python3 的 提示信息
python3: /usr/bin/python3
ln /usr/bin/python3 /usr/bin/python
# 再次连接
sqlline.py spark01,spark02,spark03
显示所有表
使用 !table 或者 !tables
创建数据库
phoenix中没有database,有的是schema,相当于mysql中的数据库
create schema lihaozhe
会出现以下错误:
原因是需要在hbase的conf目录中的hbase-site.xml配置一个参数:
此参数是phoenix的schema和hbase的nameSpace命名空间做映射。
phoenix.schema.isNamespaceMappingEnabled将它设置成true
<property>
<name>phoenix.schema.isNamespaceMappingEnabled</name>
<value>true</value>
</property>
<property>
<name>phoenix.schema.mapSystemTablesToNamespace</name>
<value>true</value>
</property>
再次创建schema:
注意:schema “lihaozhe” 加双引号映射到hbase会是小写的,不加双引号默认都是大写的
create schema "lihaozhe";
退出
!quit