文章目录

Hive的部署非常简单,下载hive,我用的是apache-hive-0.13.0-bin.tar,解压之后,进入bin目录,执行./hive命令即可进入Hive控制台。show tables;当前存在的表的个数。
建表语句举例

1
create table teacher (id bigint,name string) row format delimited fields terminated by '\t';

创建表,列分隔符是”\t”

在apache-hive-0.13.0-bin/bin目录下执行./hive,会在当前目录下创建一个metastore_db(源数据库),在此下面存放着各种表,切换不同的目录来执行hive时不能共用同一metastore_db中的表,因此在实际开发中会使用mysql作为我们的metastore。

安装mysql的步骤如下:
注意,在安装mysql时会会与Hive默认安装的包冲突,需要我们删除默认安装的包,查询以前安装的mysql相关包

1
rpm -qa | grep mysql

暴力删除这个包

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
rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps
rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm
rpm -ivh MySQL-client-5.1.73-1.glibc23.i386.rpm
```xml
执行命令进行mysql的初始化
```xml
/usr/bin/mysql_secure_installation
```xml
配置hive
cp hive-default.xml.template hive-site.xml
修改hive-site.xml(删除所有内容,只留一个<property></property>
添加如下内容:
```xml
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123</value>
<description>password to use against metastore database</description>
</property>

安装hive和mysq完成后,将mysql的连接jar包拷贝到$HIVE_HOME/lib目录下,如果出现没有权限的问题,在mysql授权(在安装mysql的机器上执行)

1
mysql -uroot -p

执行下面的语句 .:所有库下的所有表 %:任何IP地址或主机都可以连接

1
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;FLUSH PRIVILEGES;

文章目录