一、Phoenix简介
Apache Phoenix是HBase的SQL驱动,是构建在Apache HBase之上的一个SQL中间层。Phoenix完全使用Java编写,代码位于GitHub上,并且提供了一个客户端可嵌入JDBC驱动。Phoenix使得HBase支持通过JDBC的方式进行访问,并将你的SQL查询转成HBase的扫描和相应的动作。Phoenix并不是想HBase那样用于map-reduce job的,而是通过标准化的语言来访问HBase数据的。
二、Phoenix和HBase版本的对应关系
Phoenix 2.x —— HBase 0.94.x
Phoenix 3.x —— HBase 0.94.x
Phoenix 4.x —— HBase 0.98.1+
本案例中的HBase使用的版本是0.98.17,因此选用的Phoenix版本是4.8.1
三、Phoenix的安装
- 将压缩包上传到/home/software目录下,进行解压
[root@hadoop01 software]# pwd /home/software [root@hadoop01 software]# ll 总用量 198304 -rw-r--r-- 1 root root 203045474 12月 7 14:16 apache-phoenix-4.8.1-HBase-0.98-bin.tar.gz drwxr-xr-x 12 10021 10021 4096 12月 3 16:51 hadoop-2.7.1 drwxr-xr-x 8 root root 4096 12月 4 10:59 hbase drwxr-xr-x 8 uucp 143 4096 3月 15 2017 jdk1.8 drwxr-xr-x 12 1000 1000 4096 12月 3 14:16 zookeeper [root@hadoop01 software]# tar -xf apache-phoenix-4.8.1-HBase-0.98-bin.tar.gz [root@hadoop01 software]# ll 总用量 198308 drwxrwxr-x 4 1000 1000 4096 9月 23 2016 apache-phoenix-4.8.1-HBase-0.98-bin -rw-r--r-- 1 root root 203045474 12月 7 14:16 apache-phoenix-4.8.1-HBase-0.98-bin.tar.gz drwxr-xr-x 12 10021 10021 4096 12月 3 16:51 hadoop-2.7.1 drwxr-xr-x 8 root root 4096 12月 4 10:59 hbase drwxr-xr-x 8 uucp 143 4096 3月 15 2017 jdk1.8 drwxr-xr-x 12 1000 1000 4096 12月 3 14:16 zookeeper [root@hadoop01 software]# rm apache-phoenix-4.8.1-HBase-0.98-bin.tar.gz rm:是否删除普通文件 "apache-phoenix-4.8.1-HBase-0.98-bin.tar.gz"?yes [root@hadoop01 software]# ll 总用量 20 drwxrwxr-x 4 1000 1000 4096 9月 23 2016 apache-phoenix-4.8.1-HBase-0.98-bin drwxr-xr-x 12 10021 10021 4096 12月 3 16:51 hadoop-2.7.1 drwxr-xr-x 8 root root 4096 12月 4 10:59 hbase drwxr-xr-x 8 uucp 143 4096 3月 15 2017 jdk1.8 drwxr-xr-x 12 1000 1000 4096 12月 3 14:16 zookeeper [root@hadoop01 software]# mv apache-phoenix-4.8.1-HBase-0.98-bin/ phoenix-4.8.1-HBase-0.98-bin/ [root@hadoop01 software]# ll 总用量 20 drwxr-xr-x 12 10021 10021 4096 12月 3 16:51 hadoop-2.7.1 drwxr-xr-x 8 root root 4096 12月 4 10:59 hbase drwxr-xr-x 8 uucp 143 4096 3月 15 2017 jdk1.8 drwxrwxr-x 4 1000 1000 4096 9月 23 2016 phoenix-4.8.1-HBase-0.98-bin drwxr-xr-x 12 1000 1000 4096 12月 3 14:16 zookeeper [root@hadoop01 software]# |
- 将Phoenix安装目录下对应的jar包拷贝到HBase的lib目录下
[root@hadoop01 phoenix-4.8.1-HBase-0.98-bin]# pwd /home/software/phoenix-4.8.1-HBase-0.98-bin [root@hadoop01 phoenix-4.8.1-HBase-0.98-bin]# ll 总用量 222240 drwxrwxr-x 3 1000 1000 4096 9月 23 2016 bin drwxrwxr-x 3 1000 1000 4096 9月 23 2016 examples -rw-rw-r-- 1 1000 1000 144042 9月 23 2016 LICENSE -rw-rw-r-- 1 1000 1000 10176 9月 23 2016 NOTICE -rw-rw-r-- 1 1000 1000 92615360 9月 23 2016 phoenix-4.8.1-HBase-0.98-client.jar -rw-rw-r-- 1 1000 1000 61409126 9月 23 2016 phoenix-4.8.1-HBase-0.98-hive.jar -rw-rw-r-- 1 1000 1000 6620831 9月 23 2016 phoenix-4.8.1-HBase-0.98-queryserver.jar -rw-rw-r-- 1 1000 1000 24744193 9月 23 2016 phoenix-4.8.1-HBase-0.98-server.jar -rw-rw-r-- 1 1000 1000 27996147 9月 23 2016 phoenix-4.8.1-HBase-0.98-thin-client.jar -rw-rw-r-- 1 1000 1000 3853630 9月 23 2016 phoenix-core-4.8.1-HBase-0.98.jar -rw-rw-r-- 1 1000 1000 2204415 9月 23 2016 phoenix-core-4.8.1-HBase-0.98-sources.jar -rw-rw-r-- 1 1000 1000 1831557 9月 23 2016 phoenix-core-4.8.1-HBase-0.98-tests.jar -rw-rw-r-- 1 1000 1000 34775 9月 23 2016 phoenix-flume-4.8.1-HBase-0.98.jar -rw-rw-r-- 1 1000 1000 23162 9月 23 2016 phoenix-flume-4.8.1-HBase-0.98-sources.jar -rw-rw-r-- 1 1000 1000 23295 9月 23 2016 phoenix-flume-4.8.1-HBase-0.98-tests.jar -rw-rw-r-- 1 1000 1000 118890 9月 23 2016 phoenix-hive-4.8.1-HBase-0.98.jar -rw-rw-r-- 1 1000 1000 79884 9月 23 2016 phoenix-hive-4.8.1-HBase-0.98-sources.jar -rw-rw-r-- 1 1000 1000 40072 9月 23 2016 phoenix-hive-4.8.1-HBase-0.98-tests.jar -rw-rw-r-- 1 1000 1000 156914 9月 23 2016 phoenix-pherf-4.8.1-HBase-0.98.jar -rw-rw-r-- 1 1000 1000 2682120 9月 23 2016 phoenix-pherf-4.8.1-HBase-0.98-minimal.jar -rw-rw-r-- 1 1000 1000 111744 9月 23 2016 phoenix-pherf-4.8.1-HBase-0.98-sources.jar -rw-rw-r-- 1 1000 1000 58648 9月 23 2016 phoenix-pherf-4.8.1-HBase-0.98-tests.jar -rw-rw-r-- 1 1000 1000 41471 9月 23 2016 phoenix-pig-4.8.1-HBase-0.98.jar -rw-rw-r-- 1 1000 1000 27848 9月 23 2016 phoenix-pig-4.8.1-HBase-0.98-sources.jar -rw-rw-r-- 1 1000 1000 43362 9月 23 2016 phoenix-pig-4.8.1-HBase-0.98-tests.jar -rw-rw-r-- 1 1000 1000 22776 9月 23 2016 phoenix-queryserver-4.8.1-HBase-0.98.jar -rw-rw-r-- 1 1000 1000 16532 9月 23 2016 phoenix-queryserver-4.8.1-HBase-0.98-sources.jar -rw-rw-r-- 1 1000 1000 24969 9月 23 2016 phoenix-queryserver-4.8.1-HBase-0.98-tests.jar -rw-rw-r-- 1 1000 1000 16021 9月 23 2016 phoenix-queryserver-client-4.8.1-HBase-0.98.jar -rw-rw-r-- 1 1000 1000 12770 9月 23 2016 phoenix-queryserver-client-4.8.1-HBase-0.98-sources.jar -rw-rw-r-- 1 1000 1000 10333 9月 23 2016 phoenix-queryserver-client-4.8.1-HBase-0.98-tests.jar -rw-rw-r-- 1 1000 1000 80504 9月 23 2016 phoenix-spark-4.8.1-HBase-0.98.jar -rw-rw-r-- 1 1000 1000 23706 9月 23 2016 phoenix-spark-4.8.1-HBase-0.98-sources.jar -rw-rw-r-- 1 1000 1000 96504 9月 23 2016 phoenix-spark-4.8.1-HBase-0.98-tests.jar -rw-rw-r-- 1 1000 1000 16355 9月 23 2016 phoenix-tracing-webapp-4.8.1-HBase-0.98.jar -rw-rw-r-- 1 1000 1000 2275587 9月 23 2016 phoenix-tracing-webapp-4.8.1-HBase-0.98-runnable.jar -rw-rw-r-- 1 1000 1000 11720 9月 23 2016 phoenix-tracing-webapp-4.8.1-HBase-0.98-sources.jar -rw-rw-r-- 1 1000 1000 8068 9月 23 2016 phoenix-tracing-webapp-4.8.1-HBase-0.98-tests.jar -rw-rw-r-- 1 1000 1000 794 9月 23 2016 README [root@hadoop01 phoenix-4.8.1-HBase-0.98-bin]# cp phoenix-4.8.1-HBase-0.98-client.jar phoenix-4.8.1-HBase-0.98-server.jar /home/software/hbase/lib/ |
- 配置环境变量,并使环境变量生效
[root@hadoop01 phoenix-4.8.1-HBase-0.98-bin]# vim /etc/profile |
[root@hadoop01 phoenix-4.8.1-HBase-0.98-bin]# source /etc/profile |
四、启动
- 启动Zookeeper(Hadoop01、Hadoop02、Hadoop03)
[root@hadoop01 bin]# pwd /home/software/zookeeper/bin [root@hadoop01 bin]# cd /home/software/zookeeper/bin/ [root@hadoop01 bin]# pwd /home/software/zookeeper/bin [root@hadoop01 bin]# ./zkServer.sh start ZooKeeper JMX enabled by default Using config: /home/software/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [root@hadoop01 bin]# |
- 启动Hadoop(Hadoop01)
[root@hadoop01 bin]# start-all.sh This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh 18/12/07 15:02:04 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Starting namenodes on [hadoop01 hadoop02] hadoop02: starting namenode, logging to /home/software/hadoop-2.7.1/logs/hadoop-root-namenode-hadoop02.out hadoop01: starting namenode, logging to /home/software/hadoop-2.7.1/logs/hadoop-root-namenode-hadoop01.out hadoop01: starting datanode, logging to /home/software/hadoop-2.7.1/logs/hadoop-root-datanode-hadoop01.out hadoop02: starting datanode, logging to /home/software/hadoop-2.7.1/logs/hadoop-root-datanode-hadoop02.out hadoop03: starting datanode, logging to /home/software/hadoop-2.7.1/logs/hadoop-root-datanode-hadoop03.out Starting journal nodes [hadoop01 hadoop02 hadoop03] hadoop03: starting journalnode, logging to /home/software/hadoop-2.7.1/logs/hadoop-root-journalnode-hadoop03.out hadoop02: starting journalnode, logging to /home/software/hadoop-2.7.1/logs/hadoop-root-journalnode-hadoop02.out hadoop01: starting journalnode, logging to /home/software/hadoop-2.7.1/logs/hadoop-root-journalnode-hadoop01.out 18/12/07 15:02:33 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Starting ZK Failover Controllers on NN hosts [hadoop01 hadoop02] hadoop01: starting zkfc, logging to /home/software/hadoop-2.7.1/logs/hadoop-root-zkfc-hadoop01.out hadoop02: starting zkfc, logging to /home/software/hadoop-2.7.1/logs/hadoop-root-zkfc-hadoop02.out starting yarn daemons starting resourcemanager, logging to /home/software/hadoop-2.7.1/logs/yarn-root-resourcemanager-hadoop01.out hadoop03: starting nodemanager, logging to /home/software/hadoop-2.7.1/logs/yarn-root-nodemanager-hadoop03.out hadoop02: starting nodemanager, logging to /home/software/hadoop-2.7.1/logs/yarn-root-nodemanager-hadoop02.out hadoop01: starting nodemanager, logging to /home/software/hadoop-2.7.1/logs/yarn-root-nodemanager-hadoop01.out [root@hadoop01 bin]# |
- 启动HBase(Hadoop01)
[root@hadoop01 bin]# pwd /home/software/hbase/bin [root@hadoop01 bin]# ./start-hbase.sh starting master, logging to /home/software/hbase/logs/hbase-root-master-hadoop01.out hadoop01: starting regionserver, logging to /home/software/hbase/bin/../logs/hbase-root-regionserver-hadoop01.out hadoop03: starting regionserver, logging to /home/software/hbase/bin/../logs/hbase-root-regionserver-hadoop03.out hadoop02: starting regionserver, logging to /home/software/hbase/bin/../logs/hbase-root-regionserver-hadoop02.out [root@hadoop01 bin]# |
- 启动Phoenix(Hadoop01)
[root@hadoop01 bin]# pwd
扫描二维码关注公众号,回复:
4639002 查看本文章
[root@hadoop01 bin]# ./sqlline.py hadoop01,hadoop02,hadoop03:2181 |
至此,Phoenix启动完成!