背景描述:

  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. cocos2dx lua 3.10 使用cjson

    本篇介绍如何在lua中使用cjson对数据进行json的encode与decode,首先简单介绍下cjson: Lua CJSON 是 Lua 语言提供高性能的 JSON 解析器和编码器,其性能比纯 ...

  2. Jquery实现Bootstrap树形列表

    http://bookshadow.com/weblog/2014/05/17/jquery-bootstrap-tree-list/

  3. sublime text3 插件CTags

    1.打开Sublime Text 2/3软件,在Preferences(设置)菜单中打开Package Control(插件管理器)打开菜单后找到install packages,搜索ctags, 回 ...

  4. pycharm 授权/激活

    License server: http://elporfirio.com:1017/ http://idea.imsxm.com/

  5. mac上用的svn

    Cornerstone是Mac上最佳的SVN管理工具 能破解最好,不会破解的表示mac的最新版本似乎对这款软件不太友好.

  6. 离散化——化不可能为可能(STL)

    所谓离散,就是化连续为不连续,使得我们某种枚举的方法得以实现. 当然,离散还能够帮助我们将某些数据范围很大达到2^16,但是这些数据并不多(例如才1000+),我们可以把数据进行离散,保持他们之间的相 ...

  7. 【BZOJ1570】[JSOI2008]Blue Mary的旅行 动态加边网络流

    [BZOJ1570][JSOI2008]Blue Mary的旅行 Description 在一段时间之后,网络公司终于有了一定的知名度,也开始收到一些订单,其中最大的一宗来自B市.Blue Mary决 ...

  8. 火狐 a 标签 download 属性,要在 a 标签添加到页面中才生效;

    在 chrome 中,如果需要设置点击下载文件,需要创建一个 a 标签,指定 download 属性和 href 属性即可, var aLink = document.createElement('a ...

  9. Django Signal 代码布局

    需要确保信号注册函数在使用前就被引入,所以理论上你可以将其置于满足上述条件的任意位置. 官方推荐 将信号处理器定义在关联 app 目录下的 signals.py 中,在关联 app 的 apps.Ap ...

  10. tableView的使用(一)

    //tableView的创建    //1.初始化 initWithFrame:style:(plian,gronp)    //2.设置属性(行高, 分割线, 表头, 表尾)    //3.添加到父 ...