HIVE环境搭建

HIVE安装

解压并创建软连接

tar -xzvf hive-1.1.0-cdh5.10.0.tar.gz 

ln -s hive-1.1.0-cdh5.10.0 hive

配置文件

hive-log4j.properties

hive.log.dir=/root/data/hive/logs

hive-env.sh

export HADOOP_HOME=/root/app/hadoop

export HIVE_CONF_DIR=/root/app/hive/conf

hive-site.xml


<configuration>

        <property>

                <name>javax.jdo.option.ConnectionURL</name>

                <value>jdbc:mysql://192.168.230.1:3306/hive?createDatabaseIfNotExist=true</value>

        </property>

        <property>

                <name>javax.jdo.option.ConnectionDriverName</name>

                <value>com.mysql.jdbc.Driver</value>

        </property>

        <property>

                <name>javax.jdo.option.ConnectionUserName</name>

                <value>root</value>

        </property>

        <property>

                <name>javax.jdo.option.ConnectionPassword</name>

                <value>123</value>

        </property>


</configuration>


启动 HDFS 与 YARN 服务 Hive服务启动

sbin/start-dfs.sh 

sbin/start-yarn.sh

sbin/yarn-daemon.sh start resourcemanager


*******************cdh1***********************

26112 QuorumPeerMain

39937 NameNode

46146 ResourceManager

40227 JournalNode

40484 DFSZKFailoverController

46245 NodeManager

40038 DataNode

46727 Jps

*******************cdh2***********************

26256 QuorumPeerMain

35140 NameNode

41254 ResourceManager

35304 JournalNode

35498 DFSZKFailoverController

35211 DataNode

41326 Jps

40990 NodeManager

*******************cdh3***********************

31905 DataNode

35473 NodeManager

26221 QuorumPeerMain

35710 Jps

31998 JournalNode


启动 hive 服务 

bin/hive

测试运行


CREATE TABLE stu(id INT,name STRING) ROW FORMAT DELIMITED FIELDS

TERMINATED BY '\t' ;



vi /root/app/hive/stu.txt

00001 zhangsan 

00002 lisi 

00003 wangwu 

00004 zhaoliu



load data local inpath '/root/app/hive/stu.txt' into table stu;



select * from stu;


启动 hiveserver2 

bin/hive --service hiveserver2 #前台启动 

nohup bin/hive --service hiveserver2 &#后台启动

启动 beeline


./beeline #进入beeline

beeline> !connect jdbc:hive2://cdh1:10000

...

Enter username for jdbc:hive2://cdh1:10000: root

Enter password for jdbc:hive2://cdh1:10000: ***

...

0: jdbc:hive2://cdh1:10000> select * from stu;

...



0: jdbc:hive2://cdh1:10000> !quit


Hive 与 HBase 集成

集群设计

Hdfs集群搭建设计

服务进程

服务器分配

说明

zookeeper

cdh1,cdh2,cdh3

Zookeeper集群

namenode

cdh1,cdh2

namenode高可用

Datanade

cdh1,cdh2,cdh3

数据节点

Joulnalnode

cdh1,cdh2,cdh3

同步信息节点

Zfll

cdh1,cdh2

故障转移

Yarn集群设计

服务进程

服务器分配

说明

ResourceManger

cdh1,cdh2

cdh1,cdh2高可用

NodeManger

cdh1,cdh2,cdh3

namenode高可用

Zkfl

cdh1,cdh2

未独立出来的服务,包含在ResourceManger的进程中

Joulnalnode

cdh1,cdh2,cdh3

存储节点为zookeeper集群

HBASE集群设计

服务进程

服务器分配

说明

HMaster

cdh1,cdh2

cdh1,cdh2高可用

HRegionServer

cdh1,cdh2,cdh3

HRegionServer

Hive服务设计

服务进程

服务器分配

说明

RunJar

cdh1

hiveserver2服务

RunJar

cdh1

beeline服务

配置文件

hive-site.xml


#在 hive-site.xml 文件中配置 Zookeeper,hive 通过这个参数去连接 HBase 集群

<property>

  <name>hbase.zookeeper.quorum</name>

  <value>cdh1,cdh2,cdh3</value>

</property>

hive-env.sh


#在 hive-env.sh 添加 hbase 环境变量

export HBASE_HOME=/root/app/hbase

创建hbase表

//插入数据

insertData("user","101"); 

insertData("user","102"); 



public static void insertData(String tablename,String row){

Table table = hbaseUnit.getTable(tablename);

Put put  =  new Put(Bytes.toBytes(row));

put.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("name"), Bytes.toBytes("xiaozhang"));

put.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("age"), Bytes.toBytes("28"));

put.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("birthday"), Bytes.toBytes("1979-09-18"));

put.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("company"), Bytes.toBytes("alibaba"));

put.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("contry"), Bytes.toBytes("China"));

put.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("province"), Bytes.toBytes("shandong"));

put.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("city"), Bytes.toBytes("qingdao"));

try {

table.put(put);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

hbaseUnit.closeTable(table);

hbaseUnit.closeConnection();

}



}

创建hive外部表


create external table user(id string,name string,age string,birthday

string,company string,contry string,province string,city string) STORED

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

SERDEPROPERTIES("hbase.columns.mapping" = ":key,cf:name,cf:age,cf:birthday,cf:company,cf:contry,cf:province,cf:city")

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

演示效果

select * from user

 

select count(*) from user

 

 

相关服务


*******************cdh1***********************

26112 QuorumPeerMain

39937 NameNode

46146 ResourceManager

40227 JournalNode

40484 DFSZKFailoverController

46245 NodeManager

40709 HMaster

50501 RunJar

40038 DataNode

40824 HRegionServer

50296 RunJar

51836 Jps

*******************cdh2***********************

26256 QuorumPeerMain

44481 Jps

35140 NameNode

41254 ResourceManager

35672 HRegionServer

35304 JournalNode

35498 DFSZKFailoverController

35771 HMaster

35211 DataNode

40990 NodeManager

*******************cdh3***********************

31905 DataNode

35473 NodeManager

32155 HRegionServer

26221 QuorumPeerMain

31998 JournalNode

38111 Jps



[root@cdh1 ~]# netstat -anp|grep 10000

tcp  0 0 0.0.0.0:10000          0.0.0.0:*                LISTEN      50296/java          

tcp  0 0 192.168.230.128:33806  192.168.230.128:10000    ESTABLISHED 50501/java          

tcp  0 0 192.168.230.128:10000  192.168.230.128:33806    ESTABLISHED 50296/java  

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值