Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1008|回复: 0

[默认分类] 完全分布式Hadoop集群安装Phoenix

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-7-2 10:07:09 | 显示全部楼层 |阅读模式

    应用场景

      当我们按照之前的博文,安装完hadoop分布式集群之后,再安装了Hbase,当准备通过hbase shell命令开始使用Hbase的时候,发现hbase非常的难用,都是一些scan,status,describe命令等,无法像mysql,oracle,Hive等通过一些简单的SQL语句来操作数据,但是通过Phoenix,它可以让Hbase可以通过SQL语句来进行操作。并且Phoenix只针对Hbase,所以它的效率比起Impala,HQL有过之而无不及!
    操作步骤
    1. Phoenix介绍

      可以把Phoenix理解为Hbase的查询引擎,phoenix,由saleforce.com开源的一个项目,后又捐给了Apache。它相当于一个java中间件,帮助开发者,像使用jdbc访问关系型数据库一些,访问NoSql数据库HBase。
      phoenix,操作的表及数据,存储在hbase上。phoenix只是需要和Hbase进行表关联起来。然后再用工具进行一些读或写操作。
       其实,可以把Phoenix只看成一种代替HBase的语法的一个工具。虽然可以用java可以用jdbc来连接phoenix,然后操作HBase,但是在生产环境中,不可以用在OLTP中。在线事务处理的环境中,需要低延迟,而Phoenix在查询HBase时,虽然做了一些优化,但延迟还是不小。所以依然是用在OLAT中,再将结果返回存储下来。
    2. Phoenix安装包下载

      phoenix安装包下载地址,下载后上传到主节点的opt目录下!
    注:phoenix安装包的下载非常讲究,如果和hbase的版本不匹配,那么可能导致hbase也会失败,导致HRegionServer开启后,1分钟之内自动关闭,很麻烦!上面的安装包针对hbase1.2.X,亲测好用!
    3. phoenix安装包解压缩更换目录
    1. [code] # cd /opt
    2. # tar -xzvf apache-phoenix-4.10.0-HBase-1.2-bin.tar.gz
    3. # mv apache-phoenix-4.10.0-HBase-1.2-bin phoenix4.10.0
    4. # chmod 777 -R /opt/phoenix4.10.0 #给phoenix目录授权
    复制代码
    [/code]
    4. 修改配置文件
    1. [code] # vim /etc/profile
    2. export PHOENIX_HOME=/opt/phoenix4.10.0      #在最后两行加上如下phoenix配置
    3. export PATH=$PATH:$PHOENIX_HOME/bin
    复制代码
    [/code]
    1. [code] # source /etc/profile #使环境变量配置生效
    复制代码
    [/code]
    5. 将主节点的phoenix包传到从节点
    1. [code] # scp -r phoenix4.10.0 root@hadoop1:/opt/
    2. # scp -r phoenix4.10.0 root@hadoop2:/opt/
    复制代码
    [/code]

      并且在从节点上将phoenix目录进行授权,添加环境变量!
    6. 将hbase-site.xml配置文件拷贝到phoenix的bin目录下【主从节点都需要】
    1. [code] # cp /opt/hbase1.2.6/conf/hbase-site.xml /opt/phoenix4.10.0/bin/
    复制代码
    [/code]
    7. 将phoenix安装包下的包放到hbase的lib目录下【主从节点都需要】

      将如下两个jar包,目录在/opt/phoenix4.10.0/下,拷贝到hbase的lib目录,目录在/opt/hbase1.2.6/lib/
    1. [code] phoenix-4.10.0-HBase-1.2-server.jar
    2. phoenix-core-4.10.0-HBase-1.2.jar
    复制代码
    [/code]

      注:全部配置完后需要重启Hbase!
    8. 启动phoenix
    1. [code] # sqlline.py hadoop0,hadoop1,hadoop2:2181
    复制代码
    [/code]

    1. [code] > !tables                 #测试命令
    复制代码
    [/code]

                $(function () {                $("pre.prettyprint code").each(function () {                    var lines = $(this).text().split("\n").length;                    var $numbering = $("").addClass("pre-numbering").hide();                    $(this).addClass("has-numbering").parent().append($numbering);                    for (i = 1; i ").text(i));                    };                    $numbering.fadeIn(1700);                });            });        
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-4-25 08:26 , Processed in 0.380750 second(s), 50 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表