背景描述:

  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. hdu 4706:Children's Day(模拟题,模拟输出大写字母 N)

    Children's Day Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  2. 进度条在.net导入Excel时的应用实例

    这篇文章主要介绍了进度条在.net导入Excel时的应用,以实例形式讲述了.net导入Excel时根据页面情况显示进度条的实现方法,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了进度条在.ne ...

  3. 使用JMX监控Kafka

    监控数据源 JMX RMI方式启动Broker,Consumer,Producer -ea -Dcom.sun.management.jmxremote.authenticate=false -Dco ...

  4. PAT Advance 1020

    题目: 1020. Tree Traversals (25) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue S ...

  5. Android 切换主题以及换肤的实现

    Android 切换主题以及换肤的实现 一.介绍 现在市面上有很多 APP 有切换主题和皮肤的功能!特别是阅读类的 APP! 上面两张图分别是 知乎 APP 和Fuubo APP的两张截图!都带有切换 ...

  6. angularjs中的$destroy和$timeout

    module.controller("TestController", function($scope, $timeout) { var onTimeout = function( ...

  7. css 横线中间添加文字

      demoline01.02选一个用足够了 <style> .demo_line_01 { width: 200px;/*这指的是文字的宽度*/ padding: 0 20px 0; m ...

  8. Flutter入门之有状态组件

    StatefulComponent使用方法入门 在上一篇Flutter入门之无状态组件中我们讲到了无状态组件,所谓的无状态组件指的就是其内部的状态是来自其父组件并使用final类型的变量来存储,当组件 ...

  9. IIS7发布wcf服务遇到的问题

    如果没有上图所列出的asp.net 40,请在cmd中运行:C:\Windows\Microsoft.NET\Framework\V4.0.30319\aspnet_regiis -i 注:C:\Wi ...

  10. delphi 事件记录

    delphi常用事件 序号 事件 描述 1. OnActive 焦点称到窗体或控件时发生 2. OnClick 鼠标单击事件 3. OnDbClick 鼠标双击事件 4. OnClose和OnClos ...