网上找了好多phoenix连接hbase的教程, 但是尝试了一下都失败了. 本文记录一我亲测成功的步骤
安装HBase
可以参考我之前的文章, 这里就不再展开. Linux安装HBase
下载Phoenix
- 由于我使用的Hbase版本是2.3.5, 所以这里下载
phoenix-hbase-2.3-5.1.3-bin.tar.gz
下载后上传至linux并解压
cd /opt/phoenix/ tar -zxvf phoenix-hbase-2.3-5.1.3-bin.tar.gz
配置Phoenix
将Phoenix lib目录下的phoenix-server-hbase-2.3-5.1.3.jar复制到HBase的lib目录
cd /opt/phoenix/phoenix-hbase-2.3-5.1.3-bin cp phoenix-server-hbase-2.3-5.1.3.jar /opt/hbase/hbase-2.3.5/lib/
配置phoenix可以访问hbase的系统表
修改HBase的hbase-site.xml配置文件, 假如下面的内容<property> <name>phoenix.schema.isNamespaceMappingEnabled</name> <value>true</value> </property> <property> <name>phoenix.schema.mapSystemTablesToNamespace</name> <value>true</value> </property>
将HBase的hbase-stie.xml配置拷贝到phoenix/bin目录下
cp hbase-site.xml /opt/phoenix/phoenix-hbase-2.3-5.1.3-bin/bin/ 注意输入y覆盖phoenix原有的配置
重启HBase
cd /opt/hbase/hbase-2.3.5/bin/ sh stop-hbase.sh sh start-hbase.sh
测试Phoenix连接HBase
cd /opt/phoenix/phoenix-hbase-2.3-5.1.3-bin/bin
./sqlline.py 192.168.0.106:2181
错误解决
执行上面的测试发现界面一直卡着不动,如下所示.那么我们需要将连接zk的IP更换成hostname. 具体做法如下:
修改hostname
vim /etc/hostname 写入hadoop01
修改hosts
vim /etc/hosts 新增一行: 192.168.0.106 hadoop01
- 刷新dns生效
sudo /etc/init.d/nscd restart - 修改HBase的hbase-site.xml, 将zk的ip修改成hostname
删除zk中的hbase目录
cd /opt/zookeeper/apache-zookeeper-3.6.3-bin/bin/ ./zkCli.sh deleteall /hbase
重启HBase
同上
再次测试Phoenix
./sqlline.py hadoop01:2181
出现下面的界面即表示成功,输入
!tables
查看表
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。