phoenix的安装与使用(Hbase的客户端)

零:复习

1. hbase的协处理器问题
	(1) 协处理器的代码逻辑有异常,可能会造成hbase的regionserver瘫痪。   
			解决办法:关掉hbase的所有守护进程,进入zookeeper里删除相应的表元数据,再启动hbase,删除对应的表。修改完代码逻辑后,重新维护。
	(2)	代码没问题,hbase的集群缺少设置。如:....DoNotReTRYException:could not......Set hbase.table.sanity.checks to false......
	      解决办法:在hbase-site.xml里设置hbase.table.sanity.checks属性的值为false  

一、phoenix的简介与特点

1.1 简介

1. phoenix是apache组织旗下的一款产品。相当于java中间件,可以类似jdbc访问RDBMS一样,来访问HBase
2. phoenix是可以运行在hbase上的一个sql层。可以对hbase进行增删改查和管理数据的。
3. phoenix的sql语句,在底层会被翻译成hbase的api,比如scan/get操作
4. phoenix适合做离线批处理(OLAP)操作,不适合做实时分析操作(OLTP)

2.1 特点

phoenix虽然是构建在hbase层之上,但是由于以下特点,不会影响查询性能,反而会提高性能

- 编译SQL查询为原生HBase的scan语句
- 检测scan语句最佳的开始和结束的key
- 精心编排你的scan语句让他们并行执行
- 让计算去接近数据
- 推送你的WHERE子句的谓词到服务端过滤器处理
- 执行聚合查询通过服务端钩子(称为协同处理器)

phoenix还提供了一些增强优化性能

- 实现了二级索引来提升非主键字段查询的性能
- 统计相关数据来提高并行化水平,并帮助选择最佳优化方案
- 跳过扫描过滤器来优化IN,LIKE,OR查询
- 优化主键来均匀分布写压力

phoenix不能做的事情

- 不支持事务处理
- 不支持复杂的条件

二、phoenix安装

2.1 环境需求:

1. jdk1.8.0以上
2. hadoop2.7.6
3. zookeeper-3.4.10
4. hbase-1.2.1

2.2 搭建步骤

安装phoenix,就相当于在一台机器上安装navicat工具。

1)上传,解压,更名,配置环境变量,生效,验证

[root@qianfeng01 ~]# tar -zxvf apache-phoenix-4.13.1-HBase-1.2-bin.tar.gz -C /usr/local/
[root@qianfeng01 ~]# cd /usr/local/
[root@qianfeng01 local]# mv apache-phoenix-4.13.1-HBase-1.2-bin/ phoenix
[root@qianfeng01 local]# vim /etc/profile
[root@qianfeng01 local]# source /etc/profile
验证是否能补全相关指令,    输入psq然后按tab键

2)拷贝phoenix的两个jar包(core和client)到hbase的所有服务端的相关目录下(hbase的lib目录)

[root@qianfeng01 phoenix]# cp phoenix-4.13.1-HBase-1.2-client.jar phoenix-core-4.13.1-HBase-1.2.jar /usr/local/hbase/lib/
[root@qianfeng01 phoenix]# scp phoenix-4.13.1-HBase-1.2-client.jar phoenix-core-4.13.1-HBase-1.2.jar qianfeng02:/usr/local/hbase/lib/
[root@qianfeng01 phoenix]# scp phoenix-4.13.1-HBase-1.2-client.jar phoenix-core-4.13.1-HBase-1.2.jar qianfeng03:/usr/local/hbase/lib/

3)配置三台hbase的hbase-site.xml文件

<property> 
    <name>phoenix.schema.isNamespaceMappingEnabled</name> 
    <value>true</value> 
</property> 
<property> 
    <name>phoenix.schema.mapSystemTablesToNamespace</name> 
    <value>true</value> 
</property>
<property>
    <name>hbase.table.sanity.checks</name>
    <value>false</value>
</property>

4)拷贝hbase的hbase-site.xml到phoenix的bin目录下,覆盖自带的文件

[root@qianfeng01 phoenix]# cp /usr/local/hbase/conf/hbase-site.xml ./bin

2.3 启动操作

1. 先启动hdfs和zookeeper  (phoenix是通过zookeeper连接hbase)
2. 再启动hbase(注意:如果在配置phoenix前已经启动了hbase,需要重启)(hbase里的新配置会跟着生效)
3. 启动phoenix客户端
	[root@qianfeng01 phoenix]# sqlline.py
	

可以使用help查看常用指令,也可以使用!table查看是否有四张系统表。

注意:在启动时可能报以下错误

Traceback (most recent call last):
File "./sqlline.py", line 27
  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值