第4周 Hive的安装配置(一)

第4周 · Hive的安装配置(一)

安装 MySQL、安装 Hive、hive-site.xml 配置、环境变量、初始化元数据

项目3阶段02单元1 数据仓库基础与Hive入门单元2 Hive部署与应用

本实训对应的知识点

实训内容与步骤 依据原始实训文档整理,命令与配置均来自文档原文

1.1Hive的安装部署

Hive是一个客户端工具并没有集群的概念,所以Hive的安装部署相对简单。一般情况下,由于Hive的元数据信息存储在第三方数据库中(如MySQL),所以在安装Hive之前需要首先安装MySQL数据库。由于硬件资源有限,我们从Hadoop集群中选择hadoop1节点来安装部署Hive客户端以及MySQL元数据库即可。

1.1.1安装MySQL

MySQL数据库的安装有离线和在线安装两种方式,为了方便起见,我们选择在线安装方式。

(1)在线安装MySQL。在hadoop1节点上,使用yum命令在线安装MySQL数据库,具体操作如下所示。

TEXT
[root@hadoop1 ~]# yum install mysql-server

(2)启动mysql服务。MySQL数据库安装成功之后,通过命令行启动MySQL服务,具体操作如下所示。

TEXT
[root@hadoop1 ~]# systemctl start mysqld
[root@hadoop1 ~]# systemctl enable mysqld

(3)设置MySQL root用户密码。MySQL刚刚安装完成,默认root用户是没有密码的,需要登录MySQL设置root用户密码,具体步骤如下。

因为MySQL默认没有密码,所以使用root用户可直接登录MySQL,输入密码时可按Enter键回车即可,具体操作如下所示。

TEXT
[root@hadoop1 ~]# mysql -u root -p
Enter password:

......

SHELL
mysql>

在MySQL客户端设置root用户密码,具体操作如下所示。

SHELL
mysql>alter user'root'@'localhost' identified with mysql_native_password by 'root';

设置完MySQL root用户密码之后,退出并重新登录MySQL,用户名为:root,密码为:root。

TEXT
[root@hadoop1 ~]# mysql -u root –p
Enter password:
mysql>

如果能成功登录MySQL,就说明MySQL 的root用户密码设置成功。

(4)创建Hive账户。

①首先输入如下命令创建Hive账户,操作命令如下。

SHELL
mysql>create user 'hive'@'hadoop1' identified by 'hive';
mysql>create user 'hive'@'%' identified by 'hive';

②将MySQL所有权限授予Hive账户,操作命令如下所示。

SHELL
mysql>GRANT ALL PRIVILEGES ON *.* TO 'hive'@'hadoop1' WITH GRANT OPTION;

③将MySQL所有权限授予Hive账户,并允许所有ip访问。

SHELL
mysql>GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;

④通过命令使上述授权生效,操作命令如下所示。

SHELL
mysql> flush privileges;

⑤如果上述操作成功,就可以使用Hive账户登录MySQL数据库,具体命令如下。

TEXT
[root@hadoop1 ~] mysql -h hadoop1 -u hive -p

⑥创建hive数据库。

SHELL
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安装包,具体操作如下所示。

TEXT
[hadoop@hadoop1 app]$ tar -zxvf apache-hive-3.1.3-bin.tar.gz

然后创建hive软连接,具体操作如下所示。

TEXT
[hadoop@hadoop1 app]$ ln -s apache-hive-3.1.3-bin hive

3修改hive-site.xml配置文件

进入hive的conf目录下发现hive-site.xml文件不存在,需要从默认配置文件复制一份,具体操作如下所示。

TEXT
[hadoop@hadoop1 conf]$ cp hive-default.xml.template hive-site.xml

然后在hive-site.xml配置文件中,修改元数据库相关配置,修改内容如下所示。

TEXT
[hadoop@hadoop1 conf]$ vi hive-site.xml

#配置连接驱动名为com.mysql.jdbc.Driver

TEXT
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>i

#修改连接MySQL的URL

TEXT
<property>
<name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop1:3306/hive?characterEncoding=UTF-8</value>
</property>

#修改连接数据库的用户名和密码

TEXT
<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环境变量,具体操作如下所示。

TEXT
[hadoop@hadoop1 conf]$ vi ~/.bashrc

修改为如下内容:

TEXT
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配置文件,更改相关数据目录,具体配置如下所示。

TEXT
[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服务需要先进行初始化,具体操作如下所示。

TEXT
[hadoop@hadoop1 hive]$ bin/schematool -dbType mysql -initSchema

然后再执行bin/hive脚本启动Hive服务,具体操作如下所示。

TEXT
[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