hive集群部署

来源:互联网 发布:lookguard软件名 编辑:程序博客网 时间:2024/06/10 07:19

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
<configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://hadoop-master: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>hive<value></property><property> <name>javax.jdo.option.ConnectionPassword</name><value>hive</value></property> </configuration>


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<configuration><property> <name>hive.metastore.uris</name><value>thrift://hadoop-master:9083</value></property></configuration>

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



0 0