Hive安装部署

639 阅读2分钟

@TOC


前言

为了后续更好的学习hive数仓,这里先附上Hive安装部署的教程。后续文章会详细讲解hive的原理和使用。安装Hive的前置条件是: 1.安装好对应版本的hadoop集群,并启动hadoop的HDFS以及YARN服务; 2.安装了MySQL服务,并启动MySQL的服务


1. root用户下安装mysql

  • CentOS 7中切换到root用户,安装mysql
  • 在CentOS 7中默认安装有MariaDB,这个是MySQL的分支;但还是要安装MySQL,而且安装完成之后会直接覆盖掉MariaDB

2. 安装mysql

2.1 下载并安装mysql官方的yum源

安装到第三个节点node03上

  • 使用root用户,在CentOS 7服务器的/kkb/soft路径下执行以下命令
  • 切换到root用户
[hadoop@node03 ~]$ su root
  • 进入/kkb/soft目录,并安装wget软件
[root@node03 hadoop]# cd /kkb/soft/
[root@node03 soft]# yum -y install wget

出现Installed!字样,表示成功安装

  • 使用wget命令下载mysql的rpm包
[root@node03 soft]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

-i 指定输入文件

-c 表示断点续传

2.2 安装mysql

[root@node03 soft]# yum -y install mysql57-community-release-el7-10.noarch.rpm
  • 安装mysql server这步可能会花些时间,需要在线下载,视网速而定;然后再安装;安装完成后就会覆盖掉之前的mariadb
[root@node03 soft]# yum -y install mysql-community-server

3. 设置mysql

3.1 mysql服务

  • 首先启动MySQL服务
[root@node03 soft]# systemctl start mysqld.service
  • 查看mysql启动状态
[root@node03 soft]# systemctl status mysqld.service

下图active(running)表示mysql服务已启动 在这里插入图片描述

3.2 修改密码

  • 此时MySQL已经开始正常运行,不过要登陆MySQL,还得先找出此时mysql的root用户的临时密码 如下命令可以在日志文件中找出临时密码
[root@node03 hadoop]# grep "password" /var/log/mysqld.log
  • 可以查看到我的临时密码为

注意:==不同人的临时密码不一样,根据自己的实际情况而定==

fHy3Su:&REkh

在这里插入图片描述

  • 使用临时密码,登陆mysql客户端
[root@node03 hadoop]# mysql -uroot -p
  • 设置密码策略为LOW,此策略只检查密码的长度
set global validate_password_policy=LOW;

关键字“Query OK”表示,sql语句执行成功

  • 设置密码最小长度
set global validate_password_length=6;

在这里插入图片描述

  • 修改mysql的root用户,本地登陆的密码为123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
  • 开启mysql的远程连接权限
grant all privileges  on  *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
  • 若不再需要使用mysql命令行,可以退出
exit

2. Hive的安装部署

注意hive就是==一个构建数据仓库的工具==,只需要在==一台服务器上==安装就可以了,不需要在多台服务器上安装。

此处以安装到node03为例;

使用==hadoop普通用户==操作

1.1 先决条件

  • 搭建好三节点Hadoop集群;
  • node03上先安装好MySQL服务;

1.2 准备安装包

我这里准备好了安装包供下载,或者也可以关注我的公众号回复hive获取安装包

mysql-connector的jar包 链接: 
https://pan.baidu.com/s/1PDyYDXX-PIohe-m7pk4GLA  密码: hftp
hive安装包 
链接: https://pan.baidu.com/s/1GI3mLcvobzGQbOcwruwFzA  密码: jign
  • 规划安装目录

    • /kkb/install
  • 上传安装包到node03服务器中的/kkb/soft路径下

1.3 解压

  • 解压安装包到指定的规划目录/kkb/install
[hadoop@node03 ~]$ cd /kkb/soft/
[hadoop@node03 soft]$ tar -xzvf hive-1.1.0-cdh5.14.2.tar.gz -C /kkb/install/

1.4 修改配置文件

  • 修改==配置文件hive-env.sh==

    • 进入到Hive的安装目录下的conf文件夹中
[hadoop@node03 soft]$ cd /kkb/install/hive-1.1.0-cdh5.14.2/conf/
  • 重命名hive-env.sh.template
[hadoop@node03 conf]$ mv hive-env.sh.template hive-env.sh
  • 修改hive-env.sh
[hadoop@node03 conf]$ vim hive-env.sh 
  • 如下,修改此文件中HADOOP_HOME、HIVE_CONF_DIR的值(根据自己机器的实际情况配置)
#配置HADOOP_HOME路径
export HADOOP_HOME=/kkb/install/hadoop-2.6.0-cdh5.14.2/

#配置HIVE_CONF_DIR路径
export HIVE_CONF_DIR=/kkb/install/hive-1.1.0-cdh5.14.2/conf

在这里插入图片描述 修改==配置文件hive-site.xml==

  • conf目录下默认没有此文件,vim创建即可
[hadoop@node03 conf]$ vim hive-site.xml
  • 文件内容如下
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://node03:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=latin1&amp;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>root</value>
        </property>
        <property>
                <name>javax.jdo.option.ConnectionPassword</name>
                <value>123456</value>
        </property>
        <property>
                <name>hive.cli.print.current.db</name>
                <value>true</value>
        </property>
        <property>
                <name>hive.cli.print.header</name>
            <value>true</value>
        </property>
    	<property>
                <name>hive.server2.thrift.bind.host</name>
                <value>node03</value>
        </property>
</configuration>

修改==日志配置文件hive-log4j.properties==

  • 创建hive日志存储目录
[hadoop@node03 conf]$ mkdir -p /kkb/install/hive-1.1.0-cdh5.14.2/logs/
  • 重命名生成文件hive-log4j.properties
[hadoop@node03 conf]$ pwd
/kkb/install/hive-1.1.0-cdh5.14.2/conf
[hadoop@node03 conf]$ mv hive-log4j.properties.template hive-log4j.properties
[hadoop@node03 conf]$ vim hive-log4j.properties # 修改文件
  • 修改此文件的hive.log.dir属性的值
#更改以下内容,设置我们的hive的日志文件存放的路径,便于排查问题
hive.log.dir=/kkb/install/hive-1.1.0-cdh5.14.2/logs/

在这里插入图片描述

1.5 拷贝mysql驱动包

  • 上传mysql驱动包,如mysql-connector-java-5.1.38.jar/kkb/soft目录中

  • 由于运行hive时,需要向mysql数据库中读写元数据,所以==需要将mysql的驱动包上传到hive的lib目录下==

[hadoop@node03 ~]$ cd /kkb/soft/
[hadoop@node03 soft]$ cp mysql-connector-java-5.1.38.jar /kkb/install/hive-1.1.0-cdh5.14.2/lib/

1.6 配置Hive环境变量

  • 切换到root用户下
[hadoop@node03 soft]$ su root
Password:
  • 打开/etc/profile文件
[root@node03 soft]# vim /etc/profile
  • 文章末尾添加
export HIVE_HOME=/kkb/install/hive-1.1.0-cdh5.14.2
export PATH=$PATH:$HIVE_HOME/bin
  • 切换回hadoop用户,并source
[root@node03 soft]# su hadoop
[hadoop@node03 soft]$ source /etc/profile

1.7 验证安装

  • ==hadoop集群已启动==
  • ==mysql服务已启动==
  • 在node03上任意目录启动hive cli命令行客户端
[hadoop@node03 ~]$ hive
  • 查看有哪些数据库
show databases;

在这里插入图片描述

  • 说明hive安装成功
  • 退出cli
quit;

总结

至此,数仓工具hive已安装完成,接下来就可以愉快的学习hive的相关知识了。获取更多干货,请关注我的个人公众号,关注领取福利