hbase1.0集成phoenix

1.首先根据自己安装的hbase的版本号下载相应版本的phoenix安装包;


下载地址: 下载地址:http://mirror.bit.edu.cn/apache/phoenix/

我下载的是apache-phoenix-4.8.0-Hbase-1.0

2.移动到相应的目录,进行解压操作

sudo mv  apache-phoenix-4.8.0-Hbase-1.0.tar.gz  /usr/local/

sudo tar -zxvf  apache-phoenix-4.8.0-Hbase-1.0.tar.gz    phoenix

3.配置

把配置好的habse-site.xml/hdfs-sit.xml复制到phoenix/bin的目录下,把phoenix/目录下的phoenix-core-4.8.0-HBase-1.0.jar, phoenix-4.8.0-HBase-1.0-server.jar复制到hbase

/lib目录下

重启hbase

然后在phoenix的bin目录下,用命令./sqlline.py  maste:2181或者./sqlline.py localhost 或者./sqlline.py IP:2181启动phoenix

我的第一次启动时报错:

Caused by: java.net.SocketTimeoutException: callTimeout=60000, callDuration=68358: row 'SYSTEM:CATAL

网上找了很久,都是只有问题没有解决方案,不仅感叹一个人学习前言的东西太难,选导师的时候绝对不能只看导师的研究方向

新不新前沿不前沿,一定还要看他带的学生的研究成果怎么样,因为好多老师的课题方向就是一个幌子,把你坑进去根本就不交给你什么东西

,实际上他(她)自己都不会,也从不做相关的课题。有没有人带你,最后要死的还是你自己。

回归正题:后面发现要只要更改hbase中hbase-site.xml中的hbase.rpc.timeout的值即可,改成了36000 0000,我的里面没有这个项,然后就是自己添加的

具体原因说是:超过了HBase的客户端应用程序可以远程调用的时间60秒。可以hbase.rpc.timeout中增加这个值的设定值。

 然后重启hbase,启动phoenix,结果如下:



调用help命令:


查看数据库中的所有数据表!tables


创建新表:


查询,图中HQU是上面新建的表,其他四个表是phoenix自带的表



http://blog.csdn.net/silentwolfyh/article/details/51992538

http://xn--jlq582ax31c.xn--fiqs8s/post/27(java代码调用phoenix)

插入数据,用的insert into table....直接报错,找了很多没找到解决方案,但是发现有人直接用upsert into table命令,试了一下,成功!


查询HQU表:select * from HQU ;


注意插入的时候,注意主键,主键一样插入时前面的一条信息会被后面的一条信息所覆盖,查询结果如上面的所示。

并没有像hbase那样自动保留信息的两个副本。

再次插入

upsert into HQU values(1,'Hello');

upsert into HQU values(2,'World');

查询结果如下:


参考网页:https://phoenix.apache.org/faq.html#I_want_to_get_started_Is_there_a_Phoenix_Hello_World

此时查询hbase数据库,情况如下,多了一个HQU表,表中存在刚刚插入的数据:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值