hive集群部署

Hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据。其在Hadoop的架构体系中承担了一个SQL解析的过程,它提供了对外的入口来获取用户的指令然后对指令进行分析,解析出一个MapReduce程序组成可执行计划,并按照该计划生成对应的MapReduce任务提交给Hadoop集群处理,获取最终的结果。元数据——如表模式——存储在名为metastore的数据库中。

hive的安装建立在hadoop集群之上,它可以安装在hadoop集群的任一个节点上(master或slave)。当然,也可以安装在集群之外,但需要能访问hadoop集群。

在实际部署中,一般用远程mysql存储metastore信息(mysql采用ha),然后在hadoop集群的一个节点上启动hive的metastore服务(例如master上),然后使用客户端访问hive。
1、hive服务端:
1) 配置:
[hadoop@hadoop-master conf]$ vi hive-site.xml


javax.jdo.option.ConnectionURL
jdbc:mysql://hadoop-master:3306/hive?createDatabaseIfNotExist=true
 
 
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
 
 
javax.jdo.option.ConnectionUserName
hive

 
javax.jdo.option.ConnectionPassword
hive
 


2)然后启动metastore服务:hive --service metastore &,发现多了一个runJar进程。

2、服务端访问:
在hadoop-master上直接通过命令访问hive:
[hadoop@hadoop-master ~]$ hive
Logging initialized using configuration in jar:file:/home/hadoop/apache-hive-1.2.1-bin/lib/hive-common-1.2.1.jar!/hive-log4j.properties
hive> show databases;
OK
default
src
Time taken: 1.332 seconds, Fetched: 2 row(s)

3、客户端访问:(需要有hadoop环境)
1)配置好hadoop环境;
2)配置hive环境, 修改hive配置文件:
[hadoop@hadoop-slave conf]$ vi hive-site.xml

 
hive.metastore.uris
thrift://hadoop-master:9083


3)在hadoop-slave上通过hive命令访问hive。



你可能感兴趣的:(#,hive)