shubo的博客

gopher/全干工程师

0%

Hive安装与配置


Hive

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

Metastore

metastore是Hive元数据集中存放地。它包括两部分:服务和后台数据存储。有三种方式配置metastore:内嵌metastore、本地metastore以及远程metastore。
本次搭建中采用MySQL作为远程仓库,部署在master节点上,hive服务端也安装在master上,hive客户端即hadoop-slave访问hive服务器。

下载

hive:可以选择国内apache镜像站下载hive

mysql数据库java驱动:mysql官网下载

配置

1.安装mysql/mariadb数据库,启动并建立hive数据库。

2.开启远程连接权限

1
2
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '000000' WITH GRANT OPTION;
> flush privileges;

3.复制hive目录下的conf/hive-default.xml.template改名为conf/hive-site.xml

4.编辑conf/hive-site.xml文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<configuration>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive?characterEncoding=UTF-8</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>000000</value>
</property>
<property>
<name>hive.server2.authentication</name>
<value>NONE</value>
</property>
<property>
<name>hive.server2.thrift.client.user</name>
<value>root</value>
</property>
<property>
<name>hive.server2.thrift.client.password</name>
<value>000000</value>
</property>
</configuration>

5.配置环境变量

1
2
3
4
5
6
7
8
JAVA_HOME=/usr/share/jdk
JRE_HOME=$JAVA_HOME/jre
HADOOP_HOME=/usr/share/hadoop
HIVE_HOME=$HADOOP_HOME/apache-hive-2.3.4-bin
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH HADOOP_HOME HIVE_HOME

6.格式化数据库(如果漏掉这一步,hive启动会报错)

1
./schematool --dbType mysql --initSchema

7.启动Hive CLI

1
$ hive

8.将hive传输到slave节点

1
scp -r /usr/share/hadoop/apache-hive-2.3.4-bin/ slave:/usr/share/hadoop

9.修改slave节点的conf/hive-site.xml文件

1
2
3
4
5
6
<configuration>
<property>
<name>hive.metastore.uris</name>
<value>thrift://master:9083</value>
</property>
</configuration>