Hadoop环境搭建学习之Phoenix整合HBase(8)

33 篇文章 0 订阅
30 篇文章 0 订阅

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

HBase 不支持 SQL 语法,使用非常不便,所以诞生丁 Phoenix。 Phoenix 是通过一个嵌人的 JDBC驱动存储在HBase 中的数据的查询。Phoenix 可以让开发者在 HBase数据集上使用 SQL 查询。

一、Phoenix是什么?

Phoenix:JAVA语言编写,查询引擎会将SQL查询语句转化成一个或多个HBase Scanner,且并行执行生成标准的JDBC结果集。phoenix使用标准JDBC API代替HBase客户端API来创建表、插入数据和查询HBase数据。我可以理解为phoenix是HBASE的一个框架,通过使用标准的SQL语句来操作HBASE。

Phoenix特点:
1)容易集成:如Spark,Hive,Flume和Map Reduce;
2)操作简单:DML命令以及通过DDL命令创建和操作表和版本化增量更改;
3)支持HBase二级索引创建。
具体可看官方:http://phoenix.apache.org/

二、使用步骤

1.环境准备

说明软件
操作系统Windows 10
虚拟机VMware 15.5
Linux系统Centos 7 64位
Zookeeperzookeeper-3.4.10
Hadoophadoop-3.3.1
HBaseHbase2.4.4
HiveHive3.1.2
Kafkakafka_2.12-3.0.0
Sparkspark-3.1.3
Scalascala-2.12.10
开发工具IntelliJ IDEA 2020.1
Phoenixphoenix-hbase-2.4-5.1.2

2.集群规划

IPHostNameSoftwareProcess
192.168.74.88hadoop01hadoop,zookeeper,hbase,hive,mysql,kafka,spark,scalaDataNode,NodeManager,QuorumPeerMain,JournalNode,NameNode,DFSZKFailoverController,ResourceManager,HMaster,HRegionServer,RunJar,RunJar,kafka,Master,Worker
192.168.74.89hadoop02hadoop,zookeeper,kafka,spark,scalaDataNode,NodeManager,QuorumPeerMain,JournalNode,NameNode,DFSZKFailoverController,HRegionServer,kafka,Worker
192.168.74.90hadoop03hadoop,zookeeper,hbase,hvie,kafka,spark,scalaDataNode,NodeManager,QuorumPeerMain,JournalNode,ResourceManager,HMaster,HRegionServer,RunJar,kafka,Master,Worker

2.Phoenix安装

代码如下(示例):

hadoop01   hbase
hadoop02
hadoop03   hbase

phoenix-hbase-2.4-5.1.2-bin.tar.gz

su hadoop
cd /data/phoenix
tar -zxvf phoenix-hbase-2.4-5.1.2-bin.tar.gz
1、# 重命名一下文件夹
mv phoenix-hbase-2.4-5.1.2-bin app

2、# 将phoenix-server-hbase-2.4-5.1.2.jar文件拷贝到HBase的lib目录下
cd /data/phoenix/app
cp phoenix-server-hbase-2.4-5.1.2.jar  /data/hbase/app/lib/

3、# 系统环境变量
》ok--------------------------------------
vim ~/.bashrc
gedit ~/.bashrc

export PHOENIX_HOME=/data/phoenix/app
export PHOENIX_CLASSPATH=$PHOENIX_HOME
export PATH=$PATH:$PHOENIX_HOME/bin

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

source ~/.bashrc
--------------------------------------------

4、#软连接hbase-site.xml
## 进入bin目录
cd /data/phoenix/app/bin/
##软连接hbase-site.xml文件
ln -sf  /data/hbase/app/conf/hbase-site.xml


5、#将文件同步到其他主机上
scp -r/data/phoenix/app/lib/phoenix-server-hbase-2.4-5.1.2.jar hadoop@hadoop02:/data/phoenix/app/lib

scp -r /data/phoenix/app hadoop@hadoop02:/data/phoenix
scp -r /data/phoenix/app hadoop@hadoop03:/data/phoenix

scp -r /data/phoenix/app/lib/phoenix-server-hbase-2.4-5.1.2.jar hadoop@hadoop03:/data/phoenix/app/lib

6、# 重启HBase
stop-hbase.sh
start-hbase.sh

7、# 连接phoenix
/data/phoenix/app/bin/sqlline.py hadoop01,hadoop02,hadoop03:2181

# 输入!tables查看是否安装成功

在这里插入图片描述

3.Phoenix Shell 表操作

(1)显示所有表
!table 或 !tables
(2)创建表
CREATE TABLE IF NOT EXISTS us_population (
state CHAR(2) NOT NULL,
city VARCHAR NOT NULL,
population BIGINT
CONSTRAINT my_pk PRIMARY KEY (state, city));
(3)插入数据
upsert into us_population values(‘NY’,‘NewYork’,8143197);
upsert into us_population values(‘BJ’,‘BeiJing’,8143198);
(4)查询记录
select * from us_population;
select * from us_population where population=8143197;
在这里插入图片描述

(4)删除记录
delete from us_population where population=8143197;

(5)删除表
drop table us_population;

总结

记录点点滴滴

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

panda_225400

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值