设为首页 收藏本站
查看: 1036|回复: 0

Phoenix 4.3.0 与 Hbase0.98.10-hadoop2的整合

[复制链接]

尚未签到

发表于 2015-11-11 13:24:47 | 显示全部楼层 |阅读模式
介绍:Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排执行以生成标准的JDBC结果集。直接使用HBase API、协同处理器与自定义过滤器,对于简单查询来说,其性能量级是毫秒,对于百万级别的行数来说,其性能量级是秒。更多参考官网:http://phoenix.apache.org/



本文主要详细介绍Phoenix 4.3.0 与 Hbase0.98.10-hadoop2的整合过程





下载最新的Phoenix包

http://apache.mesi.com.ar/phoenix/phoenix-4.3.0/bin/phoenix-4.3.0-bin.tar.gz
拷贝到需要做测试的服务器上,并对其解压缩
tar -xvf phoenix-4.3.0-bin.tar.gz
替换phoenix-4.3.0-server.jar



替换RegionServer以及hmaster中的Phoenix依赖包,替换为新的版本
RegisonServer部署在hadoop104,hadoop108上,Hmaster部署在hadoop107上
[iyunv@hadoop105 hadoop]# scp phoenix-4.3.0-bin/phoenix-4.3.0-server.jar root@hadoop104:/root/hadoop/hbase-0.98.10-hadoop2/lib
[iyunv@hadoop105 hadoop]# scp phoenix-4.3.0-bin/phoenix-4.3.0-server.jar root@hadoop108:/root/hadoop/hbase-0.98.10-hadoop2/lib[iyunv@hadoop105 hadoop]# scp phoenix-4.3.0-bin/phoenix-4.3.0-server.jar root@hadoop107:/root/hadoop/hbase-0.98.10-hadoop2/lib


重启RegionServer

登录到Hmaster节点(hadoop107),重启Hbase服务
[iyunv@hadoop107 hbase-0.98.10-hadoop2]# cd bin/
[iyunv@hadoop107 bin]# ./stop-hbase.sh
stopping hbase...............
hadoop107: stopping zookeeper.
hadoop104: stopping zookeeper.
hadoop108: stopping zookeeper.
[iyunv@hadoop107 bin]# ./start-hbase.sh
hadoop107: starting zookeeper, logging to /root/hadoop/hbase-0.98.10-hadoop2/logs/hbase-root-zookeeper-hadoop107.out
hadoop108: starting zookeeper, logging to /root/hadoop/hbase-0.98.10-hadoop2/logs/hbase-root-zookeeper-hadoop108.out
hadoop104: starting zookeeper, logging to /root/hadoop/hbase-0.98.10-hadoop2/logs/hbase-root-zookeeper-hadoop104.out
starting master, logging to /root/hadoop/hbase-0.98.10-hadoop2/logs/hbase-root-master-hadoop107.out
hadoop104: starting regionserver, logging to /root/hadoop/hbase-0.98.10-hadoop2/logs/hbase-root-regionserver-hadoop104.out
hadoop108: starting regionserver, logging to /root/hadoop/hbase-0.98.10-hadoop2/logs/hbase-root-regionserver-hadoop108.out
配置Client的CLASSPATH



登录安装phoenix的机器(hadoop105).配置客户机的CLASSPATH,包含phoenix-4.3.0-client.jar,配置/etc/profile文件
export PHOENIX_HOME=/root/hadoop/phoenix-4.3.0-bin
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:/PHOENIX_HOME/phoenix-4.3.0-client.jar


执行sqlline



进入phoenix 的bin目录,执行./sqlline.py hadoop107,hadoop108,hadoop104命令
出现以下异常:

15/03/10 10:14:08 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
15/03/10 10:14:10 WARN ipc.CoprocessorRpcChannel: Call failed on IOException
org.apache.hadoop.hbase.DoNotRetryIOException: org.apache.hadoop.hbase.DoNotRetryIOException: SYSTEM.CATALOG: org.apache.hadoop.hbase.regionserver.HRegion.mutateRowsWithLocks(Ljava/util/Collection;Ljava/util/Collection;)V
at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:84)
at org.apache.phoenix.coprocessor.MetaDataEndpointImpl.createTable(MetaDataEndpointImpl.java:820)
at org.apache.phoenix.coprocessor.generated.MetaDataProtos$MetaDataService.callMethod(MetaDataProtos.java:7763)
at org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:5890)
at org.apache.hadoop.hbase.regionserver.HRegionServer.execServiceOnRegion(HRegionServer.java:3433)
at org.apache.hadoop.hbase.regionserver.HRegionServer.execService(HRegionServer.java:3415)
at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:30812)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2029)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107)
at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130)
at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.NoSuchMethodError: org.apache.hadoop.hbase.regionserver.HRegion.mutateRowsWithLocks(Ljava/util/Collection;Ljava/util/Collection;)V
at org.apache.phoenix.coprocessor.MetaDataEndpointImpl.createTable(MetaDataEndpointImpl.java:800)
... 10 more

原因是该版本与Hbase0.98.10-hadoop2不兼容,网上给出的解决方案是:
" You will need to upgrade to HBase 0.98.10.1 to resolve this issue. Or,you can recompile Phoenix from source with -Dhbase.version=0.98.10 (or
0.98.10.1) "
考虑到集群环境的复杂,打算通过重新编译Phoenix


重新编译Phoenix


1 首先下载Phoenix 4.3.0 的源码:http://apache.spinellicreations.com/phoenix/phoenix-4.3.0/src/

2 解压后修改pom.xml文件中的hbase版本为0.98.10,hadoop-two.version的版本为2.5.2
  <hbase.version>0.98.10-hadoop2</hbase.version>
  <hadoop-two.version>2.5.2</hadoop-two.version>
3 执行mvn进行编译
$ mvn install -DskipTests
$ mvn process-sources
$ mvn package -DskipTests
4 编译完成后,将phoenix-4.3.0-src\phoenix-assembly\target 目录下的phoenix-4.3.0-server.jar替换掉HMaster,HRegionServer中的phoenix-4.3.0-server.jarphoenix-4.3.0-client.jar替换掉Hadoop105中的phoenix-4.3.0-client.jar替换完后重启Hbase

验证安装



此时执行sqlline.py命令,并查询所有表: DSC0000.jpg

测试安装

默认包含一些测试脚本,可以通过执行这些测试脚本来观察数据的变化
./psql.py hadoop107,hadoop108,hadoop104 ../examples/WEB_STAT.sql ../examples/WEB_STAT.csv ../examples/WEB_STAT_QUERIES.sql
查询WEB_STAT的数据
0: jdbc:phoenix:hadoop107,hadoop108,hadoop104> select * from WEB_STAT;
+------+------------------------------------------+------------------------------------------+-------------------------+------------------------------------------+------------------------------------------+---+
| HOST |                  DOMAIN                  |                 FEATURE                  |          DATE           |                   CORE                   |                    DB                    |   |
+------+------------------------------------------+------------------------------------------+-------------------------+------------------------------------------+------------------------------------------+---+
| EU   | Apple.com                                | Mac                                      | 2013-01-01 01:01:01.000 | 35                                       | 22                                       | 3 |
| EU   | Apple.com                                | Store                                    | 2013-01-03 01:01:01.000 | 345                                      | 722                                      | 1 |
| EU   | Google.com                               | Analytics                                | 2013-01-13 08:06:01.000 | 25                                       | 2                                        | 6 |
| EU   | Google.com                               | Search                                   | 2013-01-09 01:01:01.000 | 395                                      | 922                                      | 1 |
| EU   | Salesforce.com                           | Dashboard                                | 2013-01-06 05:04:05.000 | 12                                       | 22                                       | 4 |
| EU   | Salesforce.com                           | Login                                    | 2013-01-12 01:01:01.000 | 5                                        | 62                                       | 1 |
| EU   | Salesforce.com                           | Reports                                  | 2013-01-02 12:02:01.000 | 25                                       | 11                                    



版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-137925-1-1.html 上篇帖子: 使用Apache Ambari管理Hadoop 下篇帖子: windows上用cygwin运行Hadoop
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表