准备 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
配置环境变量:

修改hbase配置文件:
1.vim hbase-env.sh
将多余部分删除

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

配置JAVA_HOME

2.vim hbase-site.xml

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

2.启动hive客户端
hive

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;

5.在hive中插入一条数据
insert into hbasetbl values(1,1);

查看hive表的存储位置:

存储在hbase中
