zoukankan      html  css  js  c++  java
  • phoenix部署手册-基于hbase

    背景描述:

      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
  • 相关阅读:
    foreach next 操作数组指针移动问题,多个数连加,连除,连减,连乘php版本
    mysql 5.7 laravel json类型数据相关操作
    rbac权限控制,基于无线分类
    基于bootstrap-treeview做的一个漂亮的无限分类树层级联动菜单
    css页面字体替换源代码和页面显示不一样问题解决
    centos6.8 编译安装lnmp php7.2 mysql5.6 nginx1.1.4
    mysql5.7采坑
    laravel整合vue 多入口解决
    使用mysql设计一个全局订单生产计数器
    laravel整合workerman做聊天室
  • 原文地址:https://www.cnblogs.com/cuisi/p/7170290.html
Copyright © 2011-2022 走看看