hbase查看表结构_Hbase完全分布式搭建及Hive整合

准备 hbase-1.2.9-bin.tar.gz安装包,搭建好的zookeeper集群,搭建好的hive分布式集群

准备工作:

1.免秘钥配置:

ssh-keygen

ssh-copy-id -i .ssh/id_rsa.pub node001

2.时间同步:

yum install ntp -y

进行时间同步

ntpdate http://ntp1.aliyun.com

chkconfig ntpd on 开启时间同步检查

解压软件包:

tar -zxvf hbase-1.2.9-bin.tar.gz -C /opt

配置环境变量:

31a263151b073e5e7b007ce6a65a5571.png

修改hbase配置文件:

1.vim hbase-env.sh

将多余部分删除

233dc1931ea910720a3a8b721f053f7a.png

使用本地自己搭建的zookeeper,设为false

5af5569218151b80c50ad5ddab7e057f.png

配置JAVA_HOME

e53892a8b91b6f9d9fbe7ff13e4a3a41.png

2.vim hbase-site.xml

ae13db83463b64a2a9466874e9d159a6.png

3.vim regionservers

node002

node003

node004

4.vim backup-masters(HMaster的备用节点)

node004

5.添加hdfs-site.xml到hbase的conf中

Hbase与Hive整合:

进入hive的conf目录中

1.vim hive-site.xml

124bed7928cec143102f66a90d98dcfa.png

2.启动hive客户端

hive

9d109c05d747876f47f71b31139fe393.png

3.在hive中创建临时表

内部表:

CREATE TABLE hbasetbl(key int, value string)

STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'

WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")

TBLPROPERTIES ("hbase.table.name" = "xyz", "hbase.mapred.output.outputtable" = "xyz");

外部表(要求hbase中存在tmp_order):

在hbase中创建 t_order

create 't_order','order'

在hive中创建外部表:

CREATE EXTERNAL TABLE tmp_order

(key string, id string, user_id string)

STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'

WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,order:order_id,order:user_id")

TBLPROPERTIES ("hbase.table.name" = "t_order");

4.查看表的详细描述信息

desc formatted hbasetbl;

46039b182607d7a66d9a7258162e8756.png

5.在hive中插入一条数据

insert into hbasetbl values(1,1);

f166f8a1a75d4482631fd8a46df0fdf5.png

查看hive表的存储位置:

2a59886e61762fedab18ee76cde339c7.png

存储在hbase中

7d9581f5940d8ddf9879fd349edcbe1f.png