- 目录
- 1.上传tar包
- 2.解压
- 3. 设置环境变量
- 4.设置Hive的配置文件
- 5.启动Hive
- 6.安装MySQL
- 7.下载MySQL的驱动包
- 8.修改Hive的配置文件
- 9.启动Hive
- 10.查看MySQL数据库
目录
1.上传tar包
jar包地址:http://hive.apache.org/downloads.html
2.解压
tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /usr/local/
进入到/usr/local目录下,将解压后的文件重命名为hive-2.1.1
mv apache-hive-2.1.1-bin/ hive-2.1.1
3. 设置环境变量
export HIVE_HOME=/usr/local/hive-2.1.1
export PATH=$PATH:$HIVE_HOME/bin
使配置立即生效
source /etc/profile
hive没有提供hive –version这种方式查看版本,执行hive –help查看
4.设置Hive的配置文件
在目录$HIVE_HOME/conf/下,执行命令
cp hive-log4j2.properties.template hive-log4j2.properties
拷贝一份重命名 ,并修改property.hive.log.dir = /usr/local/hive-2.1.1/logs/
暂时只配置这些
5.启动Hive
Hadoop集群要先启动
Starting from Hive 2.1, we need to run the schematool command below as an initialization step. For example, we can use “derby” as db type.$ $HIVE_HOME/bin/schematool -dbType <db type> -initSchema
这是Hive的官方文档上描述的,Hive2.1的启动需要先执行schematool命令
由于Hive默认内嵌的是derby数据库,先使用默认的数据库运行
执行schematool -dbType derby -initSchema
进行初始化
执行命令hive
进入到Hive Shell操作
此时Hive安装成功。
默认情况下,Hive的元数据保存在了内嵌的derby数据库里,但一般情况下生产环境使用MySQL来存放Hive元数据。
6.安装MySQL
参考:https://blog.csdn.net/qq_16633405/article/details/81872456
7.下载MySQL的驱动包
下载MySQL的驱动包放置到$HIVE_HOME/lib目录下,本机使用的版本是mysql-connector-Java-5.1.36-bin.jar。
8.修改Hive的配置文件
在目录$HIVE_HOME/conf/下,执行命令cp hive-default.xml.template hive-site.xml
拷贝重命名
将hive-site.xml里面的property属性配置全部删除,Hive会加载默认配置。
添加如下内容(只需要将最后两个属性更改为你mysql的用户名和对应的登录密码就OK了,其他全部照搬):
<configuration>
<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>root</value>
<description>password to use against metastore database</description>
</property>
</configuration>
9.启动Hive
Hadoop集群要先启动
9.1 执行命令hive
出现不能实例化metadata的错误
以及MySQL连接被拒绝的错误
9.2 首先解决MySQL连接被拒绝问题
mysql -uroot -proot
grant all privileges on *.* to root@'spark' identified by 'root';
flush privileges;
exit;
*.*
代表全部数据库的全部表授权,也可以指定数据库授权,如test_db.*;
all privileges代表全部权限,也可以insert,update,delete,create,drop等;
允许root用户在spark(Linux系统的主机名,IP映射)进行远程登陆,并设置root用户的密码为root。
flush privileges告诉服务器重新加载授权表。
9.3 解决不能实例化metadata的错误
Hive2.1的启动需要先执行schematool命令进行初始化
schematool -dbType mysql -initSchema
9.4 再次执行hive,进入到Hive Shell
此时Hive和MySQL连接安装部署成功。
10.查看MySQL数据库
hive-site.xml配置的是jdbc:mysql://spark:3306/hive?createDatabaseIfNotExist=true
,即如果不存在hive数据库会创建
默认MySQL里的数据库
此时在MySQL里查看数据库,多出了hive数据库