> 文章列表 > 【大数据离线开发】8.2 Hive的安装和配置

【大数据离线开发】8.2 Hive的安装和配置

【大数据离线开发】8.2 Hive的安装和配置

8.3 Hive的安装和配置

安装模式

  • 嵌入模式 :不需要使用MySQL,需要Hive自带的一个关系型数据库:Derby
  • 本地模式、远程模式 ----> 需要MySQL数据库的支持

安装 hive 安装包

1、解压tar -zxvf apache-hive-2.3.0-bin.tar.gz -C ~/training/
2、设置环境变量:vi ~/.bash_profileHIVE_HOME=/root/training/apache-hive-2.3.0-binexport HIVE_HOMEPATH=$HIVE_HOME/bin:$PATHexport PATHsource ~/.bash_profile

核心的配置文件 conf/hive-site.xml

8.3.1 嵌入模式

在嵌入模式下,在哪个目录下执行的数据库初始化,就应该在哪个目录下执行: hive

  • 使用Hive自带的Derby数据库来存储元信息
  • Hive只支持一个连接:创建 conf/hive-site.xml
  • 用于开发和测试,不能用于生产环境
参数文件 配置参数 参考值
hive-site.xml javax.jdo.option.ConnectionURL jdbc:derby:;databaseName=metastore_db;create=true
javax.jdo.option.ConnectionDriverName org.apache.derby.jdbc.EmbeddedDriver
hive.metastore.local true
hive.metastore.warehouse.dir file:///root/training/apache-hive-2.3.0-bin/warehouse

conf/hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>			 <property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:derby:;databaseName=metastore_db;create=true</value></property>	<property><name>javax.jdo.option.ConnectionDriverName</name><value>org.apache.derby.jdbc.EmbeddedDriver</value></property>	<property><name>hive.metastore.local</name><value>true</value></property>	<property><name>hive.metastore.warehouse.dir</name><value>file:///root/training/apache-hive-2.3.0-bin/warehouse</value></property>		
</configuration>	

初始化MetaStore:

​ schematool -dbType derby -initSchema

在这里插入图片描述

​ 通过find -name 文件名可以查看文件所在的位置

启动hive

在这里插入图片描述

日志:
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.

hive 测试:创建学生表

在这里插入图片描述

创建的学生表在 conf/hive-site.xml 配置文件的设置的路径下

在这里插入图片描述

8.3.2 安装配置MySQL数据库

在虚拟机上安装MySQL

yum remove mysql-libs

rpm -ivh mysql-community-common-5.7.19-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.19-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.19-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm

rpm -ivh mysql-community-devel-5.7.19-1.el7.x86_64.rpm (可选)

启动MySQL:service mysqld start

或者:systemctl start mysqld.service

修改MySQL密码

查看root用户的密码:cat /var/log/mysqld.log | grep password

登录后修改密码:alter user ‘root’@‘localhost’ identified by ‘Welcome_1’;

MySQL数据库的配置

创建一个新的数据库:create database hive;

创建一个新的用户:create user ‘hiveowner’@‘%’ identified by ‘Welcome_1’;

给该用户授权

​ grant all on hive.* TO ‘hiveowner’@‘%’;

​ grant all on hive.* TO ‘hiveowner’@‘localhost’ identified by ‘Welcome_1’;

在这里插入图片描述

8.3.3 远程模式

远程模式:MySQL

  1. 配置MySQL的数据库:http://www.mysqlfront.de/
  2. 配置hive-site.xml: JDBC的参数
  3. 把MySQL数据库的驱动放到: Hive/lib下
  4. 初始化MySQL数据库
    • 老版本的Hive:第一次运行Hive
    • 新版本的hive:schematool -dbType mysql -initSchema

参数文件 配置参数 参考值
hive-site.xml javax.jdo.option.ConnectionURL jdbc:mysql://localhost:3306/hive?useSSL=false
javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver
javax.jdo.option.ConnectionUserName hiveowner
javax.jdo.option.ConnectionPassword Welcome_1
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>			 <property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://localhost:3306/hive?useSSL=false</value></property>	<property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property>	<property><name>javax.jdo.option.ConnectionUserName</name><value>hiveowner</value></property>	<property><name>javax.jdo.option.ConnectionPassword</name><value>Welcome_1</value></property>	</configuration>

初始化MetaStore:

​ schematool -dbType derby -initSchema

在这里插入图片描述

网页端查看hive表

启动hive,然后创建测试学生表,同嵌入模式一样,然后通过网页的方式进行查询

在这里插入图片描述

需要停止Hadoop环境,修改hdfs-site.xml,打开禁用HDFS的权限检查的功能,然后重新启动

在这里插入图片描述

在这里插入图片描述