2.2 Hive 本地模式安装

    技术2025-10-02  8

    任务目的

    掌握使用 RPM 离线安装 MySQL 组件的方法掌握初始化和登录 MySQL 的命令掌握 Hive 的安装部署掌握 Hive 元数据配置到 MySQL 的步骤

    任务清单

    任务1:安装 MySQL任务2:Hive 安装部署任务3:Hive 元数据配置到 MySQL

    任务步骤

    任务1:安装 MySQL

    1.1 解压安装包

      现在已经为大家下载好了 MySQL 5.7.25 的安装包,存放在 /root/software 目录下,首先进入此目录下,使用如下命令进行解压即可使用:

    tar -xvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar

      将其解压到当前目录下,即 /root/software 中,效果图如下所示:

    图1

    1.2 安装 MySQL 组件

      在大多数情况下,我们需要安装 mysql-community-server、mysql-community-client、mysql-community- libs、mysql-community-common 和 mysql-community-libs-compat 包,才能实现功能标准的 MySQL 安装。要是不想安装功能标准的 MySQL,也可以只安装 mysql-community-server 和 mysql-community-client 即可。

      使用 rpm -ivh 命令依次安装以下组件:

      (1)首先安装mysql-community-common (服务器和客户端库的公共文件),使用命令:

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

      命令解析:

    rpm:RPM软件包的管理工具。-ivh:--install--verbose--hash,安装rpm包且显示安装进度。

      若是出现“100%”,则表示安装成功:

    图2

      (2)其次安装mysql-community-libs(MySQL数据库客户端应用程序的共享库),使用命令:

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

      若是出现“100%”,则表示安装成功:

    图3

      (3)之后安装 mysql-community-libs-compat(MySQL 之前版本的共享兼容库),使用命令:

    rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm

      若是出现“100%”,则表示安装成功:

    图4

      (4)之后安装 mysql-community-client(MySQL客户端应用程序和工具),使用命令:

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

      若是出现“100%”,则表示安装成功:

    图5

      (5)最后安装 mysql-community-server(数据库服务器和相关工具),使用命令:

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

      若是出现“100%”,则表示安装成功:

    图6

    1.3 登录 MySQL

    1. 初始化 MySQL 的数据库

      安装好 MySQL 后,我们需要初始化数据库,初始化和启动数据库时最好不要使用root用户,而是使用mysql用户启动。

    /usr/sbin/mysqld --initialize-insecure --user=mysql

      对于MySQL 5.7.6以后的5.7系列版本,MySQL也可以使用 mysqld --initialize 初始化数据库,该命令会在 /var/log/mysqld.log 文件中生成一个登录 MySQL 的随机密码,而mysqld --initialize-insecure 命令不会生成随机密码,而是设置 MySQL 的密码为空。

    2. 启动 MySQL 服务

      使用如下命令开启 MySQL 服务,让其在后台运行:

    /usr/sbin/mysqld --user=mysql &

      说明:一定要加“&”,才能脚本放到后台运行。

      执行后,系统会打印出命令执行的PID,如下图所示:

    图7

    3. 登录 MySQL

      使用root用户无密码登录 MySQL:

    mysql -uroot

      若是出现下图效果,说明登录成功:

    图8

    4. 重置 MySQL 密码

      在 5.7 版本后,我们可以使用 alter user...identified by命令把root用户的密码修改为“123456”,具体命令如下所示:

    mysql> alter user 'root'@'localhost' identified by '123456';

      效果如下图所示:

    图9

      修改完成,使用exit或者quit命令退出 MySQL,重新登录验证密码是否修改成功,具体命令如下所示:

    mysql -uroot -p123456

      效果如下图所示:

    图10

    1.4 增加远程登录权限

      当我们的帐号不允许从远程登录,只能在localhost连接时。这个时候只要在 MySQL 服务器上,更改mysql 数据库里的 user 表里的 host 项,从localhost改成%即可实现用户远程登录。

    (1)首先我们来查看 mysql 数据库下的 user表信息:

    mysql> use mysql; # 切换成mysql数据库 mysql> select user,host from user; # 查询用户信息

      效果如下图所示:

    图11

      可以看到在user表中已创建的root用户。host字段表示登录的主机,其值可以用IP地址,也可用主机名。

    (2)实现远程连接(授权法)

      将 host 字段的值改为%就表示在任何客户端机器上能以root用户登录到 MySQL 服务器,建议在开发时设为%。

    # 设置远程登录权限 mysql> update user set host='%' where host='localhost'; # 刷新配置信息 mysql> flush privileges;

     效果图如下所示:

    图12

    任务2:Hive 安装部署

      Hive是大数据生态圈中最常用的数据仓库,也是有 Hadoop 集群的公司的必备。所以 Hive 安装和使用也是大数据开发或运维人员都必须掌握的。Hive的安装很简单,而且 Hive1.0 和 Hive2.0 版本的安装非常类似,完全可以套用。本门课程选择 hive2.3.4 作为教学版本!

    2.1 解压安装包

      现在已经为大家下载好了 hive2.3.4 的安装包,存放在 /root/software 目录下,首先进入此目录下,使用如下命令进行解压即可使用:

    tar -zxvf apache-hive-2.3.4-bin.tar.gz

      将其解压到当前目录下,即 /root/software 中,效果图如下所示:

    图13

    2.2 配置环境变量

      (1)首先打开 /etc/profile 文件:

    vim /etc/profile

      (2)将以下内容添加到配置文件的底部,添加完成输入“:wq”保存退出:

    # 配置Hive的安装目录 export HIVE_HOME=/root/software/apache-hive-2.3.4-bin # 在原PATH的基础上加入Hive的bin目录 export PATH=$PATH:$HIVE_HOME/bin

    注意:

    export 是把这两个变量导出为全局变量。大小写必须严格区分。

      (3)让配置文件立即生效,使用如下命令:

    source /etc/profile

      (4)检测 Hive 环境变量是否设置成功,使用如下命令查看 Hive 版本:

    hive --version

      执行此命令后,若是出现 Hive 版本信息说明配置成功:

    图14

    2.3 修改配置文件 hive-env.sh

      切换到 ${HIVE_HOME}/conf 目录下,将 hive-env.sh.template 文件复制一份并重命名为 hive-env.sh:

    cp hive-env.sh.template hive-env.sh

      修改完成,使用 vi 编辑器进行编辑:

    vim hive-env.sh

      在文件中配置 HADOOP_HOME、HIVE_CONF_DIR 以及HIVE_AUX_JARS_PATH 参数:

    # 配置Hadoop安装路径 HADOOP_HOME=/root/software/hadoop-2.7.7 # 配置Hive配置文件存放路径 export HIVE_CONF_DIR=/root/software/apache-hive-2.3.4-bin/conf # 配置Hive运行资源库路径 export HIVE_AUX_JARS_PATH=/root/software/apache-hive-2.3.4-bin/lib

      如下图所示:

    图15

      配置完成,输入“:wq”保存退出。

    任务3:Hive元数据配置到MySQL

    3.1 驱动拷贝

      将/root/software目录下的 MySQL 驱动包 mysql-connector-java-5.1.47-bin.jar 拷贝到 ${HIVE_HOME}/lib 目录下。

    cd /root/software/ cp mysql-connector-java-5.1.47-bin.jar apache-hive-2.3.4-bin/lib/

      进入 ${HIVE_HOME}/lib 目录下进行验证:

    图16

    3.2 配置 Metastore到MySQL

    (1)在${HIVE_HOME}/conf目录下创建一个名为hive-site.xml的文件,并使用vi编辑器进行编辑:

    touch hive-site.xml vim hive-site.xml

    (2)根据官方文档配置参数(https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration),拷贝数据到 hive-site.xml 文件中:

    <configuration> <!--连接元数据库的链接信息 --> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hivedb?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</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>123456</value> <description>password to use against metastore database</description> </property> </configuration>

      在 javax.jdo.option.ConnectionURL 参数的 value 值中添加 &amp;useSSL=false,主要是为了避免之后初始化产生警告信息。添加&amp;useUnicode=true&amp;characterEncoding=UTF-8用来指定字符的编码、解码格式。另外,在 XML 中,包括 HTML 中,要显示 & 这个字符,必须对其转义转义,使用 &amp; 进行转义。

    3.3 初始化元数据库

      注意:当使用的 Hive 是 2.x 之前的版本时,不做初始化也是 OK 的。Hive 第一次启动时会自动进行初始化,只不过不会生成足够多的元数据库的表,其它的在使用过程中会慢慢生成。如果使用的是 2.x 版本的 Hive,那么就必须手动初始化元数据库。 使用 schematool -dbType <db type> -initSchema 命令进行初始化:

    schematool -dbType mysql -initSchema

      若是出现“schemaTool completed”则初始化成功,如下图所示:

    图17

    3.4 Hive 连接

      在任意目录下使用 Hive 的三种连接方式之一:CLI 启动 Hive。由于已经在环境变量中配置了 HIVE_HOME ,所以这里直接在命令行执行如下命令即可:

    hive 或者 hive --service cli

      效果如下图所示:

    图18

      可以使用如下命令退出 Hive 客户端:

    hive> exit; 或者 hive> quit;
    Processed: 0.014, SQL: 12