第4周 · Hive的安装配置(一)
安装 MySQL、安装 Hive、hive-site.xml 配置、环境变量、初始化元数据
本实训对应的知识点
- 单元1 1.1.1 数据仓库简介 · 数据仓库基础与Hive入门
- 单元1 1.1.2 数据仓库的意义 · 数据仓库基础与Hive入门
- 单元1 1.1.3 数据仓库分层架构 · 数据仓库基础与Hive入门
- 单元1 1.1.4 数据仓库的数据模型结构 · 数据仓库基础与Hive入门
- 单元1 1.2.1 Hive概述 · 数据仓库基础与Hive入门
- 单元1 1.2.2 Hive架构 · 数据仓库基础与Hive入门
- 单元1 1.3.1 Hive的数据模型 · 数据仓库基础与Hive入门
- 单元1 1.3.2 Hive的数据类型 · 数据仓库基础与Hive入门
- 单元2 2.1 认识Beeline · Hive部署与应用
- 单元2 2.2 基于内嵌模式部署Hive · Hive部署与应用
- 单元2 2.3 基于本地模式部署Hive · Hive部署与应用
- 单元2 2.4 基于远程模式部署Hive · Hive部署与应用
- 单元2 2.5 配置Hive On Tez · Hive部署与应用
- 单元2 2.6 使用DataGrip操作Hive · Hive部署与应用
实训内容与步骤 依据原始实训文档整理,命令与配置均来自文档原文
1.1Hive的安装部署
Hive是一个客户端工具并没有集群的概念,所以Hive的安装部署相对简单。一般情况下,由于Hive的元数据信息存储在第三方数据库中(如MySQL),所以在安装Hive之前需要首先安装MySQL数据库。由于硬件资源有限,我们从Hadoop集群中选择hadoop1节点来安装部署Hive客户端以及MySQL元数据库即可。
1.1.1安装MySQL
MySQL数据库的安装有离线和在线安装两种方式,为了方便起见,我们选择在线安装方式。
(1)在线安装MySQL。在hadoop1节点上,使用yum命令在线安装MySQL数据库,具体操作如下所示。
[root@hadoop1 ~]# yum install mysql-server(2)启动mysql服务。MySQL数据库安装成功之后,通过命令行启动MySQL服务,具体操作如下所示。
[root@hadoop1 ~]# systemctl start mysqld
[root@hadoop1 ~]# systemctl enable mysqld(3)设置MySQL root用户密码。MySQL刚刚安装完成,默认root用户是没有密码的,需要登录MySQL设置root用户密码,具体步骤如下。
因为MySQL默认没有密码,所以使用root用户可直接登录MySQL,输入密码时可按Enter键回车即可,具体操作如下所示。
[root@hadoop1 ~]# mysql -u root -p
Enter password:......
mysql>在MySQL客户端设置root用户密码,具体操作如下所示。
mysql>alter user'root'@'localhost' identified with mysql_native_password by 'root';设置完MySQL root用户密码之后,退出并重新登录MySQL,用户名为:root,密码为:root。
[root@hadoop1 ~]# mysql -u root –p
Enter password:
mysql>如果能成功登录MySQL,就说明MySQL 的root用户密码设置成功。
(4)创建Hive账户。
①首先输入如下命令创建Hive账户,操作命令如下。
mysql>create user 'hive'@'hadoop1' identified by 'hive';
mysql>create user 'hive'@'%' identified by 'hive';②将MySQL所有权限授予Hive账户,操作命令如下所示。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'hive'@'hadoop1' WITH GRANT OPTION;③将MySQL所有权限授予Hive账户,并允许所有ip访问。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;④通过命令使上述授权生效,操作命令如下所示。
mysql> flush privileges;⑤如果上述操作成功,就可以使用Hive账户登录MySQL数据库,具体命令如下。
[root@hadoop1 ~] mysql -h hadoop1 -u hive -p⑥创建hive数据库。
mysql> create database hive;1.1.2安装Hive
Hive的安装比较简单,因为Hive底层存储依赖HDFS,底层计算默认依赖MapReduce,所以我们选择一个节点部署Hive客户端,通过Hive客户端能将Hive 查询任务提交到Hadoop集群运行即可。
1下载Hive
到官网(http://hive.apache.org/down/oads.html)下载 Hive 安装包apache-hive-3.1.3-bin.tar.gz,然后上传至hadoop1节点的/home/hadoop/app目录下。
1解压Hive
在hadoop1节点上,使用解压命令解压Hive安装包,具体操作如下所示。
[hadoop@hadoop1 app]$ tar -zxvf apache-hive-3.1.3-bin.tar.gz然后创建hive软连接,具体操作如下所示。
[hadoop@hadoop1 app]$ ln -s apache-hive-3.1.3-bin hive3修改hive-site.xml配置文件
进入hive的conf目录下发现hive-site.xml文件不存在,需要从默认配置文件复制一份,具体操作如下所示。
[hadoop@hadoop1 conf]$ cp hive-default.xml.template hive-site.xml然后在hive-site.xml配置文件中,修改元数据库相关配置,修改内容如下所示。
[hadoop@hadoop1 conf]$ vi hive-site.xml#配置连接驱动名为com.mysql.jdbc.Driver
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>i#修改连接MySQL的URL
<property>
<name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop1:3306/hive?characterEncoding=UTF-8</value>
</property>#修改连接数据库的用户名和密码
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>4配置Hive环境变量
打开.bashrc文件,配置Hive环境变量,具体操作如下所示。
[hadoop@hadoop1 conf]$ vi ~/.bashrc修改为如下内容:
JAVA_HOME=/home/hadoop/app/jdk
HADOOP_HOME=/home/hadoop/app/hadoop
HIVE_HOME=/home/hadoop/app/hive
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:/home/hadoop/tools:$HIVE_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH HADOOP_HOME HIVE_HOME保存并退出,并用命令source ~/.bashrc使配置文件生效。
5添加MySQL驱动包
下载mysql-connector-j-8.0.31.jar(地址:http://central.maven.org/maven2/mysql/)驱动包,然后上传至Hive的lib目录下即可。
6修改Hive相关数据目录
修改hive-site.xml配置文件,更改相关数据目录,具体配置如下所示。
[hadoop@hadoop1 conf]$ vi hive-site.xml
<property>
<name>hive.querylog.location</name>
<value>/home/hadoop/app/hive/iotmp</value>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/home/hadoop/app/hive/iotmp</value>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/home/hadoop/app/hive/iotmp</value>
</property>7启动Hive服务
第一次启动Hive服务需要先进行初始化,具体操作如下所示。
[hadoop@hadoop1 hive]$ bin/schematool -dbType mysql -initSchema然后再执行bin/hive脚本启动Hive服务,具体操作如下所示。
[hadoop@hadoop1 hive]$ bin/hive
hive>show databases;如果上述操作没有问题,则说明Hive客户端已经安装成功。
II
📄 展开原始文档全文(105 段)
Hive的安装部署(一)
1.1 Hive的安装部署
Hive是一个客户端工具并没有集群的概念,所以Hive的安装部署相对简单。一般情况下,由于Hive的元数据信息存储在第三方数据库中(如MySQL),所以在安装Hive之前需要首先安装MySQL数据库。由于硬件资源有限,我们从Hadoop集群中选择hadoop1节点来安装部署Hive客户端以及MySQL元数据库即可。
1.1.1安装MySQL
MySQL数据库的安装有离线和在线安装两种方式,为了方便起见,我们选择在线安装方式。
(1)在线安装MySQL。在hadoop1节点上,使用yum命令在线安装MySQL数据库,具体操作如下所示。
[root@hadoop1 ~]# yum install mysql-server
(2)启动mysql服务。MySQL数据库安装成功之后,通过命令行启动MySQL服务,具体操作如下所示。
[root@hadoop1 ~]# systemctl start mysqld
[root@hadoop1 ~]# systemctl enable mysqld
(3)设置MySQL root用户密码。MySQL刚刚安装完成,默认root用户是没有密码的,需要登录MySQL设置root用户密码,具体步骤如下。
因为MySQL默认没有密码,所以使用root用户可直接登录MySQL,输入密码时可按Enter键回车即可,具体操作如下所示。
[root@hadoop1 ~]# mysql -u root -p
Enter password:
......
mysql>
在MySQL客户端设置root用户密码,具体操作如下所示。
mysql>alter user'root'@'localhost' identified with mysql_native_password by 'root';
设置完MySQL root用户密码之后,退出并重新登录MySQL,用户名为:root,密码为:root。
[root@hadoop1 ~]# mysql -u root –p
Enter password:
mysql>
如果能成功登录MySQL,就说明MySQL 的root用户密码设置成功。
(4)创建Hive账户。
①首先输入如下命令创建Hive账户,操作命令如下。
mysql>create user 'hive'@'hadoop1' identified by 'hive';
mysql>create user 'hive'@'%' identified by 'hive';
②将MySQL所有权限授予Hive账户,操作命令如下所示。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'hive'@'hadoop1' WITH GRANT OPTION;
③将MySQL所有权限授予Hive账户,并允许所有ip访问。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;
④通过命令使上述授权生效,操作命令如下所示。
mysql> flush privileges;
⑤如果上述操作成功,就可以使用Hive账户登录MySQL数据库,具体命令如下。
[root@hadoop1 ~] mysql -h hadoop1 -u hive -p
⑥创建hive数据库。
mysql> create database hive;
1.1.2安装Hive
Hive的安装比较简单,因为Hive底层存储依赖HDFS,底层计算默认依赖MapReduce,所以我们选择一个节点部署Hive客户端,通过Hive客户端能将Hive 查询任务提交到Hadoop集群运行即可。
1.下载Hive
到官网(http://hive.apache.org/down/oads.html)下载 Hive 安装包apache-hive-3.1.3-bin.tar.gz,然后上传至hadoop1节点的/home/hadoop/app目录下。
1.解压Hive
在hadoop1节点上,使用解压命令解压Hive安装包,具体操作如下所示。
[hadoop@hadoop1 app]$ tar -zxvf apache-hive-3.1.3-bin.tar.gz
然后创建hive软连接,具体操作如下所示。
[hadoop@hadoop1 app]$ ln -s apache-hive-3.1.3-bin hive
3.修改hive-site.xml配置文件
进入hive的conf目录下发现hive-site.xml文件不存在,需要从默认配置文件复制一份,具体操作如下所示。
[hadoop@hadoop1 conf]$ cp hive-default.xml.template hive-site.xml
然后在hive-site.xml配置文件中,修改元数据库相关配置,修改内容如下所示。
[hadoop@hadoop1 conf]$ vi hive-site.xml
#配置连接驱动名为com.mysql.jdbc.Driver
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>i
#修改连接MySQL的URL
<property>
<name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop1:3306/hive?characterEncoding=UTF-8</value>
</property>
#修改连接数据库的用户名和密码
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
4.配置Hive环境变量
打开.bashrc文件,配置Hive环境变量,具体操作如下所示。
[hadoop@hadoop1 conf]$ vi ~/.bashrc
修改为如下内容:
JAVA_HOME=/home/hadoop/app/jdk
HADOOP_HOME=/home/hadoop/app/hadoop
HIVE_HOME=/home/hadoop/app/hive
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:/home/hadoop/tools:$HIVE_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH HADOOP_HOME HIVE_HOME
保存并退出,并用命令source ~/.bashrc使配置文件生效。
5.添加MySQL驱动包
下载mysql-connector-j-8.0.31.jar(地址:http://central.maven.org/maven2/mysql/)驱动包,然后上传至Hive的lib目录下即可。
6.修改Hive相关数据目录
修改hive-site.xml配置文件,更改相关数据目录,具体配置如下所示。
[hadoop@hadoop1 conf]$ vi hive-site.xml
<property>
<name>hive.querylog.location</name>
<value>/home/hadoop/app/hive/iotmp</value>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/home/hadoop/app/hive/iotmp</value>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/home/hadoop/app/hive/iotmp</value>
</property>
7.启动Hive服务
第一次启动Hive服务需要先进行初始化,具体操作如下所示。
[hadoop@hadoop1 hive]$ bin/schematool -dbType mysql -initSchema
然后再执行bin/hive脚本启动Hive服务,具体操作如下所示。
[hadoop@hadoop1 hive]$ bin/hive
hive>show databases;
如果上述操作没有问题,则说明Hive客户端已经安装成功。
II