网上找了好多phoenix连接hbase的教程, 但是尝试了一下都失败了. 本文记录一我亲测成功的步骤

安装HBase

可以参考我之前的文章, 这里就不再展开. Linux安装HBase

下载Phoenix

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多平台发布


9 声望7 粉丝