centos下hive安装及配置

本文基于hive2.1.0版本

hive安装

1. 环境依赖

Hadoop
Mysql(可选,我选择的是mysql数据库)

2. 下载安装hive

下载地址:http://www.apache.org/dyn/closer.cgi/hive/

本文写作时最新稳定版是`2.1.0`,我使用的此版本
  • 解压

    1
    2
    3
    4
    tar -zxvf apache-hive-2.1.0-bin.tar.gz
    mv apache-hive-2.1.0-bin hive
  • 配置环境变量

root用户编辑/etc/profile文件(非root用户,编辑~/.bash_profile):

1
2
$ vi /etc/profile
1
2
3
4
export HIVE_HOME=/home/techbeta/hive
export PATH=$HIVE_HOME/bin: $PATH
1
2
$ source /etc/profile

3. 在Mysql中新建hive用户

1
2
3
4
5
6
CREATE DATABASE hive;
GRANT ALL ON hive.* TO hive@’%’ IDENTIFIED BY123456′;
flush privileges;

4. 配置hive-site.xml

$ cd $HIVE_HOME/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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/home/techbeta/warehouse/</value>
<description>Hive在HDFS上的根目录</description>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.56.101:3306/hive?serverTimezone=UTC&amp;createDatabaseIfNotExist=true&amp;ssl=false&amp;zeroDateTimeBehavior=convertToNull</value>
<description>Hive元数据库的连接串,红色为数据库名</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Hive元数据库JDBC驱动,mysql不能使用6.0+版本</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>Hive元数据库用户名</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>Hive元数据库密码</description>
</property>
<property>
<name>datanucleus.autoCreateTables</name>
<value>true</value>
<description>不存在时,自动创建Hive元数据表</description>
</property>
<property>
<name>datanucleus.autoCreateColumns</name>
<value>true</value>
<description>不存在时,自动创建Hive元数据列</description>
</property>
<property>
<name>datanucleus.fixedDatastore</name>
<value>false</value>
</property>
<property>
<name>datanucleus.autoStartMechanism</name>
<value>SchemaTable</value>
</property>
<!--
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>192.168.56.102</value>
</property>
设置hive端口和ip,默认端口10000,ip是localhost -->
</configuration>

5 启动hive2

  • 启动hive2
    hive --service hiveserver2 或者hiveserver2
  • 连接到hive2

使用beeline这个命令来连接到hive

如:

1
2
$ beeline -u jdbc:hive2://localhost:10000

默认只有default数据库

1
2
3
4
beenline >show databases;
beenline > show databases;

第一次执行,Hive需要在元数据库中建立相关的表,因此会稍微感觉慢一些。

日志文件

日志默认存放在/tmp/${user.name}/hive.log

此路径是在$HIVE_HOME/conf/hive-log4j.properties配置文件中property.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name},可以自行修改此文件


参考文档:
https://cwiki.apache.org/confluence/display/Hive/GettingStarted#GettingStarted-InstallingHivefromaStableRelease
http://lxw1234.com/archives/2015/06/269.htm