背景描述:

  phoenix基于hbase的SQL层,映射hbase的表,也可以映射视图(VIEW)

  部署安装比较简单

  映射表和视图的区别:

    映射表:

        在Phoenix建表错误不易更改;

        删除会连同hbase源数据一起删;

        表映射,可以查询和更改hbase数据

    视图映射:

        在Phoenix创建hbase表的视图;

        只提供查询功能;

        有问题随时可以删除视图重建;

  注:初次使用Phoenix,了解浅显,仅以部署安装为主,其余不多做描述。 

架构描述:

    zookeeper+hadoop+hbase 集群,部署在5个节点上。

    phoenix客户端 : 部署在5个节点的任意一节点上,映射hbase中表,便于执行SQL查询。

    squirrel sql client : 图形化工具,可以查看兼容JDBC的数据库,类似SQLyog,navicat工具

部署安装:

    下载地址:http://mirrors.hust.edu.cn/apache/phoenix/

    选择格式:phoenix-[version]-bin.tar  与hbase版本对应:apache-phoenix-4.11.0-HBase-1.2-bin.tar.gz

两个概念:

    phoenix server : HBase region server and maste  (hbase集群所有节点)
    phoenix client :部署phoenix 的机器节点(该节点可以部署在任何机器上)
 
涉及IP地址:
 
    phoinix server:
    hbase集群:
         Hmaster:172.21.10.1~2
         Hregion:172.21.10.3~5
 
    phoenix client:
         172.21.10.2 (任意机器)
 
    zookeeper集群:
         172.21.10.3~5
 
phoenix 连接hbase :
    是通过访问zookeeper地址:
    $ sqlline.py 172.21.10.3,172.21.10.4,172.21.10.5:2181     #phoenix部署在任意节点时
 
Linux 操作步骤:
  (1)解压
    cd /data
    tar -xf apache-phoenix-4.11.0-HBase-1.2-bin.tar.gz
    cd apache-phoenix-4.11.0-HBase-1.2-bin
    ls #可以看到很多jar包
 
  (2)有用jar包
    phoenix-4.11.0-HBase-1.2-server.jar    
    #复制到hbase所有节点的:/usr/local/hbase/lib 目录下
 
    phoenix-4.11.0-HBase-1.2-client.jar    
    #复制到phoenix client的CLASSPATH目录下面:(需要在/etc/profile中设置环境变量)
    #本节点的CLASSPATH:/data/data/apache-phoenix-4.11.0-HBase-1.2-bin
      #所有的jar包都在这个路径下,所以不必复制了
 
    phoenix-4.11.0-HBase-1.2-client.jar
    phoenix-4.11.0-HBase-1.2-thin-client.jar
    phoenix-core-4.11.0-HBase-1.2.jar
     #这3个jar包:SQuirrel图形工具所必须的。需要复制到安装目录下的lib目录下面。
    #暂时不用管,安装SQuirrel时再复制。
 
  (3)设置phoenix环境变量
    在/etc/profile中添加:
    export PHOENIX_HOME=/data/apache-phoenix-4.11.0-HBase-1.2-bin
    export PHOENIX_CLASSPATH=$PHOENIX_HOME
    export PATH=$PATH:$PHOENIX_HOME/bin
    执行source /etc/profile  生效
 
  (4)附权
    phoenix目录及复制到所有节点上/usr/local/hbase/lib下的jar包都需要hadoop.hadoop权限
    chown -R hadoop.hadoop /data/apache-phoenix-4.11.0-HBase-1.2-bin
    chown -R hadoop.hadoop /usr/local/hbase/lib/phoenix-*
  (5)phoenix连接hbase的sqlline.py是基于Python编写的
    路径: /data/apache-phoenix-4.11.0-HBase-1.2-bin/bin/sqlline.py
    sqlline.py脚本中:import argparse 需要argparse模块,现网机器上默认没有这个模块包,需要单独下载
    argparse模块包下载地址:https://pypi.python.org/pypi/argparse/#downloads

    argparse安装:

      tar -xf argparse-1.4.0.tar.gz

      cd argparse-1.4.0

       python setup.py install
  (6)重启hbase
    stop-hbase.sh
    start-hbase.sh
 
登录测试
 
 
 
建表测试:
在hbase创建表:
>create 'phoenix','info'
插入数据:
> put 'phoenix', 'row001','info:name','phoenix'
>put'phoenix','row002','info:name','hbase'
 
在phoenix中建相同结构的表:
create table "phoenix"("row" varchar primary key, "info"."name" varchar);
 
在phoenix中查询表:表名要用 "" 引起来
 
--ok

phoenix部署手册-基于hbase的更多相关文章

  1. MariaDB Galera Cluster部署手册

    MariaDB Galera Cluster部署手册 galara保证双主数据库的同步及一致性 1.环境准备 基于新部署.最小化安装centos6.5 1>  yum install opens ...

  2. HQueue:基于HBase的消息队列

    HQueue:基于HBase的消息队列   凌柏   ​1. HQueue简介 HQueue是一淘搜索网页抓取离线系统团队基于HBase开发的一套分布式.持久化消息队列.它利用HTable存储消息数据 ...

  3. Ambari部署HDP:HBase Master启动后自动消失

    这是第一次出勤部署产品.遇到不可控问题,解决,写个心得.记录一下吧^^ 在排查问题的过程中,学到不少知识. (1)centos系统盘和数据盘分开,装操作系统的人没有将IT的空间分配出来,所以分区,自动 ...

  4. Phoenix(SQL On HBase)安装和使用报告

    一.为什么使用Phoenix二.安装Phoenix2.1 兼容问题?2.2 编译CDH版本的Phoenix2.3 安装Phoenix到CDH环境中三.Phoenix的使用3.1 phoenix的4种调 ...

  5. 读者来信 | 刚搭完HBase集群,Phoenix一启动,HBase就全崩了,是什么原因?(已解决)

    前言:之前有朋友加好友与我探讨一些问题,我觉得这些问题倒挺有价值的:于是就想在本公众号开设一个问答专栏,方便技术交流与分享,专栏名就定为:<读者来信>.如遇到本人能力有限难以解决的问题,我 ...

  6. LVS+MYCAT+读写分离+MYSQL主备同步部署手册

    LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1  ...

  7. WebDriver基本API使用手册(基于Java和C#)

    WebDriver基本API使用手册(基于Java和C#) http://www.docin.com/p-747728551.html

  8. OpenTSDB介绍——基于Hbase的分布式的,可伸缩的时间序列数据库,而Hbase本质是列存储

    原文链接:http://www.jianshu.com/p/0bafd0168647 OpenTSDB介绍 1.1.OpenTSDB是什么?主要用途是什么? 官方文档这样描述:OpenTSDB is ...

  9. 如何使用 Docker 部署一个基于 Play Framework 的 Scala Web 应用?

    本文作者 Jacek Laskowski 拥有近20年的应用程序开发经验,现 CodiLime 的软件开发团队 Leader,曾从 IBM 取得多种资格认证.在这篇博文中,Jacek 分享了 Wars ...

随机推荐

  1. 蓝桥杯 第三届C/C++预赛真题(1) 微生物增值(数学题)

    假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍). 一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y. 现在已知有新 ...

  2. asp.net session丢失的解决方法小结

    现在我就把原因和解决办法写出来. ASP.NET Session丢失原因: 由于Asp.net程序是默认配置,所以Web.Config文件中关于Session的设定如下: < sessionSt ...

  3. 苹果手机输入中文不会触发onkeyup事件

    今天同事的项目有这个问题,用我的安卓手机输入中文是ok的,但是苹果手机就不行   使用keyup事件检测文本框内容:  $('#keyup_i').bind('keyup', function(){ ...

  4. 转载:Faster-RCNN详解

    原文:http://blog.csdn.net/zy1034092330/article/details/62044941 原文大神有很多经典之作,并且讲解得很透彻,建议前往,这里仅当学习使用. Fa ...

  5. JZOJ.3769【NOI2015模拟8.14】A+B

    Description 对于每个数字x,我们总可以把它表示成一些斐波拉切数字之和,比如8 = 5 + 3,  而22 = 21 + 1,因此我们可以写成  x = a1 * Fib1 + a2 * F ...

  6. jQuery弹出层layer插件的使用

    引入插件layer 触发弹出层的按钮/链接 <a href="javascript:showPop();"> <img src="" /> ...

  7. soft deletion Google SRE 保障数据完整性的手段

    w http://www.infoq.com/cn/articles/GoogleSRE-BookChapter26 Google SRE 保障数据完整性的手段 就像我们假设Google 的底层系统经 ...

  8. jquery根据值设置radio和select选中状态

    1.radio选中: $("input[name=test][value=34]").attr("checked",true);//value=34的radio ...

  9. linux系统各种日志存储路径和详细介绍

    Linux常见的日志文件详述如下1./var/log/boot.log(自检过程)2./var/log/cron (crontab守护进程crond所派生的子进程的动作)3./var/log/mail ...

  10. python的socket的学习

    一.Socket相关知识 1.socket是什么: socket是应用层与TCP/IP协议族通信的中间软件抽象层,他是一组接口.在设计模式中,Socket其实就是一个门面模式. 它把复杂的TCP/IP ...