hbase phoneix安装_Apache版Phoenix的安装(图文详解)

写在前面的话

我这里,三个节点的bigdata集群。分别为master、slave1和slave2。

1、Phoenix的下载

我的HBase版本是hbase-0.98.19。

下载地址:

注意:(hbase的版本一定要与phoenix的版本保持一致,否则运行报错,hbase-0.99没有相关的版本下载)

前提是是我们的 Hadoop 集群,zookeeper,Hbase 都安装成功。

然后,自行去找自己相应的版本。

或者(我这里,选择这个版本)

或者,大家,也可以安装下面的这个版本

2、上传压缩包

将apache-phoenix-4.10.0-HBase-0.98-bin.tar.gz 上传hbase集群的其中一个服务器的一个目录下。(我建议放在master节点上)。

或者我们可以单独选择一台服务器作为 Client 客户端安装 Phoenix,然后将安装包 。

我这里选择在master上。

我上传的目录为/home/hadoop/app。

3、解压缩文件

[hadoop@master app]$ tar -zxvf apache-phoenix-4.10.0-HBase-0.98-bin.tar.gz

[hadoop@master app]$ rm apache-phoenix-4.10.0-HBase-0.98-bin.tar.gz

[hadoop@master app]$ ln-s apache-phoenix-4.10.0-HBase-0.98-bin/phoenix

... ...

[hadoop@master app]$ ll

lrwxrwxrwx1 hadoop hadoop 37 Jul 3 22:18 phoenix -> apache-phoenix-4.10.0-HBase-0.98-bin/

然后进入 Phoenix 目录可以看到所有目录结构

[hadoop@master apache-phoenix-4.10.0-HBase-0.98-bin]$ pwd/home/hadoop/app/apache-phoenix-4.10.0-HBase-0.98-bin

[hadoop@master apache-phoenix-4.10.0-HBase-0.98-bin]$ ls

bin phoenix-flume-4.10.0-HBase-0.98-tests.jar phoenix-queryserver-4.10.0-HBase-0.98.jar

examples phoenix-hive-4.10.0-HBase-0.98.jar phoenix-queryserver-4.10.0-HBase-0.98-sources.jar

LICENSE phoenix-hive-4.10.0-HBase-0.98-sources.jar phoenix-queryserver-4.10.0-HBase-0.98-tests.jar

NOTICE phoenix-hive-4.10.0-HBase-0.98-tests.jar phoenix-queryserver-client-4.10.0-HBase-0.98.jar

phoenix-4.10.0-HBase-0.98-client.jar phoenix-kafka-4.10.0-HBase-0.98.jar phoenix-queryserver-client-4.10.0-HBase-0.98-sources.jar

phoenix-4.10.0-HBase-0.98-hive.jar phoenix-kafka-4.10.0-HBase-0.98-minimal.jar phoenix-queryserver-client-4.10.0-HBase-0.98-tests.jar

phoenix-4.10.0-HBase-0.98-pig.jar phoenix-kafka-4.10.0-HBase-0.98-sources.jar phoenix-spark-4.10.0-HBase-0.98.jar

phoenix-4.10.0-HBase-0.98-queryserver.jar phoenix-kafka-4.10.0-HBase-0.98-tests.jar phoenix-spark-4.10.0-HBase-0.98-sources.jar

phoenix-4.10.0-HBase-0.98-server.jar phoenix-pherf-4.10.0-HBase-0.98.jar phoenix-spark-4.10.0-HBase-0.98-tests.jar

phoenix-4.10.0-HBase-0.98-thin-client.jar phoenix-pherf-4.10.0-HBase-0.98-minimal.jar phoenix-tracing-webapp-4.10.0-HBase-0.98.jar

phoenix-core-4.10.0-HBase-0.98.jar phoenix-pherf-4.10.0-HBase-0.98-sources.jar phoenix-tracing-webapp-4.10.0-HBase-0.98-runnable.jar

phoenix-core-4.10.0-HBase-0.98-sources.jar phoenix-pherf-4.10.0-HBase-0.98-tests.jar phoenix-tracing-webapp-4.10.0-HBase-0.98-sources.jar

phoenix-core-4.10.0-HBase-0.98-tests.jar phoenix-pig-4.10.0-HBase-0.98.jar phoenix-tracing-webapp-4.10.0-HBase-0.98-tests.jar

phoenix-flume-4.10.0-HBase-0.98.jar phoenix-pig-4.10.0-HBase-0.98-sources.jar README

phoenix-flume-4.10.0-HBase-0.98-sources.jar phoenix-pig-4.10.0-HBase-0.98-tests.jar

[hadoop@master apache-phoenix-4.10.0-HBase-0.98-bin]$

配置Phoenix1、将 Phoenix 目录下的 phoenix-core-4.10.0-HBase-0.98.jar、phoenix-4.10.0-HBase-0.98-client.jar 拷贝到 hbase 集群各个节点 hbase 安装目录 lib 中。

首先,大家明白为什么这么做。比如,你是有master、slave1和slave2以及client,你是把这个phoenix安装在client里,则此刻。你就需拷贝到master、slave1和slave2上。

而,我这里,是只有master、slave1和slave2,我现在是将phoenix安装在master上,所以,我需拷贝到master、slave1和slave2上即可。

以下是master、slave1和slave2下lib的默认情况

然后

得到

master、slave和slave2上都去做。这里不多赘述了

2、将 hbase 集群中的配置文件 hbase-site.xml 拷贝到 Phoenix 的 bin 目录下,覆盖原有的配置文件。

我这里是,master去做(因为我的phonenix是安装在master上)

以下是 Phoenix安装后bin的默认目录情况

3、将 hdfs 集群中的配置文件 core-site.xml、 hdfs-site.xml 拷贝到 Phoenix 的 bin 目录下。

我这里是,master去做(因为我的phonenix是安装在master上)

以下是 Phoenix的bin的目录情况

得到

为了规范起见,最好配置环境变量

#phoenix

export PHOENIX_HOME=/home/hadoop/app/phoenix

export PHOENIX_CLASSPATH=$PHOENIX_HOME

export PATH=$PATH:$PHOENIX_HOME/bin

因为,我这用的是软连接,所以才是/home/hadoop/app/phoenix

然后,再source下即可。

4、如果 hbase 之前已经在运行,安装完 Phoenix,需要重启 hbase 集群。

这里不多赘述。

同时,修改apache-phoenix-4.10.0-HBase-0.98-bin/bin/下的psql.py和sqlline.py两个文件的权限为777。

5、验证 Phoenix 是否安装成功

命令格式:./sqlline.sh

其中,hbase.zookeeper.quorum 是 HBase 集群的 Zookeeper 队列,对应 IP/Hostname 逗号分割的列表。在phoenix的安装目录下,输入命令启动

bin/sqlline.py master

[hadoop@master apache-phoenix-4.10.0-HBase-0.98-bin]$ pwd/home/hadoop/app/apache-phoenix-4.10.0-HBase-0.98-bin

[hadoop@master apache-phoenix-4.10.0-HBase-0.98-bin]$ ls

bin phoenix-flume-4.10.0-HBase-0.98-tests.jar phoenix-queryserver-4.10.0-HBase-0.98.jar

examples phoenix-hive-4.10.0-HBase-0.98.jar phoenix-queryserver-4.10.0-HBase-0.98-sources.jar

LICENSE phoenix-hive-4.10.0-HBase-0.98-sources.jar phoenix-queryserver-4.10.0-HBase-0.98-tests.jar

NOTICE phoenix-hive-4.10.0-HBase-0.98-tests.jar phoenix-queryserver-client-4.10.0-HBase-0.98.jar

phoenix-4.10.0-HBase-0.98-client.jar phoenix-kafka-4.10.0-HBase-0.98.jar phoenix-queryserver-client-4.10.0-HBase-0.98-sources.jar

phoenix-4.10.0-HBase-0.98-hive.jar phoenix-kafka-4.10.0-HBase-0.98-minimal.jar phoenix-queryserver-client-4.10.0-HBase-0.98-tests.jar

phoenix-4.10.0-HBase-0.98-pig.jar phoenix-kafka-4.10.0-HBase-0.98-sources.jar phoenix-spark-4.10.0-HBase-0.98.jar

phoenix-4.10.0-HBase-0.98-queryserver.jar phoenix-kafka-4.10.0-HBase-0.98-tests.jar phoenix-spark-4.10.0-HBase-0.98-sources.jar

phoenix-4.10.0-HBase-0.98-server.jar phoenix-pherf-4.10.0-HBase-0.98.jar phoenix-spark-4.10.0-HBase-0.98-tests.jar

phoenix-4.10.0-HBase-0.98-thin-client.jar phoenix-pherf-4.10.0-HBase-0.98-minimal.jar phoenix-tracing-webapp-4.10.0-HBase-0.98.jar

phoenix-core-4.10.0-HBase-0.98.jar phoenix-pherf-4.10.0-HBase-0.98-sources.jar phoenix-tracing-webapp-4.10.0-HBase-0.98-runnable.jar

phoenix-core-4.10.0-HBase-0.98-sources.jar phoenix-pherf-4.10.0-HBase-0.98-tests.jar phoenix-tracing-webapp-4.10.0-HBase-0.98-sources.jar

phoenix-core-4.10.0-HBase-0.98-tests.jar phoenix-pig-4.10.0-HBase-0.98.jar phoenix-tracing-webapp-4.10.0-HBase-0.98-tests.jar

phoenix-flume-4.10.0-HBase-0.98.jar phoenix-pig-4.10.0-HBase-0.98-sources.jar README

phoenix-flume-4.10.0-HBase-0.98-sources.jar phoenix-pig-4.10.0-HBase-0.98-tests.jar

[hadoop@master apache-phoenix-4.10.0-HBase-0.98-bin]$ bin/sqlline.py master

当然,大家也可以跟我这样,做个软连接。

如果大家这里,遇到这个问题

Traceback (most recent call last):

File"./sqlline.py", line 27, in import argparse

ImportError: No module named argparse

则,解决办法

这里,建议搭建,你若如跟我一样(master、slave1和slave2)集群的话,zookeeper也是都安装在master、slave1和slave2上,则

使用 sqlline.py 脚本来启动,参数是 zookeeper 集群中各个节点的 hostname ,多个使用逗号隔开,另外端口为 2181

[hadoop@master apache-phoenix-4.8.2-HBase-0.98-bin]$ pwd/home/hadoop/app/apache-phoenix-4.8.2-HBase-0.98-bin

[hadoop@master apache-phoenix-4.8.2-HBase-0.98-bin]$ bin/sqlline.py master,slave1,slave2:2181Setting property: [incremental,false]

Setting property: [isolation, TRANSACTION_READ_COMMITTED]

issuing:!connect jdbc:phoenix:master,slave1,slave2:2181none none org.apache.phoenix.jdbc.PhoenixDriver

Connecting to jdbc:phoenix:master,slave1,slave2:2181SLF4J: Class path contains multiple SLF4J bindings.

SLF4J: Found bindingin [jar:file:/home/hadoop/app/apache-phoenix-4.8.2-HBase-0.98-bin/phoenix-4.8.2-HBase-0.98-client.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: Found bindingin [jar:file:/home/hadoop/app/hadoop-2.6.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

17/08/22 09:07:40 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes whereapplicable

Connected to: Phoenix (version4.8)

Driver: PhoenixEmbeddedDriver (version4.8)

Autocommit status:trueTransaction isolation: TRANSACTION_READ_COMMITTED

Building list of tables and columnsfor tab-completion (set fastconnect to trueto skip)...86/86 (100%) Done

Done

sqlline version1.1.9

0: jdbc:phoenix:master,slave1,slave2:2181>

如果出现上面的结果,说明 Phoenix 安装成功。

6、 罗列所有表在客户端执行!tables 命令,罗列所有表到客户端界面

0: jdbc:phoenix:master,slave1,slave2:2181> !tables+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------------+-----------+

| TABLE_CAT | TABLE_SCHEM | TABLE_NAME | TABLE_TYPE | REMARKS | TYPE_NAME | SELF_REFERENCING_COL_NAME | REF_GENERATION | INDEX_STATE | IMMUTABLE_ROWS | SALT_BUCKETS | MULTI_TEN |

+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------------+-----------+

| | SYSTEM | CATALOG | SYSTEM TABLE | | | | | | false | null | false |

| | SYSTEM | FUNCTION | SYSTEM TABLE | | | | | | false | null | false |

| | SYSTEM | SEQUENCE | SYSTEM TABLE | | | | | | false | null | false |

| | SYSTEM | STATS | SYSTEM TABLE | | | | | | false | null | false |

+------------+--------------+-------------+---------------+----------+------------+----------------------------+-----------------+--------------+-----------------+---------------+-----------+

0: jdbc:phoenix:master,slave1,slave2:2181>

注意:通过该客户端展示出来的表都是通过Phoenix客户端创建的,通过其他方式创建的表在此处不显示。

若要退出,则

Phoenix早期版本如(2.11版本)需输入!quilt才可退出,目前高版本已改为!exit命令

0: jdbc:phoenix:master> !exit

Closing: org.apache.phoenix.jdbc.PhoenixConnection

[hadoop@master apache-phoenix-4.8.2-HBase-0.98-bin]$

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值