大数据课程F2——HIve的安装操作

文章作者邮箱:[email protected]              地址:广东惠州

 ▲ 本章节目的

⚪ 了解HIve的安装概念;

⚪ 掌握HIve安装步骤和Linux常用命令;

⚪ 掌握HIve安装的连接池jar包冲突和日志打印jar包冲突;

⚪ 掌握HIve安装的Hadoop安装配置;

⚪ 掌握HIve安装的JDK安装配置;

⚪ 掌握HIve安装的MySQL安装配置;

⚪ 掌握HIve安装的Hive的元数据库初始化和启动;

⚪ 掌握HIve安装的指定Hive运行日志生成路径;

⚪ 掌握HIve安装的Hive参数配置原则;

一、安装

1. 概述

1. Hive是基于Hadoop来使用的(基于HDFS来存储,基于Hadoop YARN来执行),所以Hive的版本要受Hadoop版本的影响。

2. 到目前为止,Hadoop2.X支持Hive1.X和Hive2.X版本,Hadoop3.X支持Hive3.X。

3. Hive在安装过程中还需要改变元数据库。

a. 在Hive中,同样需要建库建表,这个时候产生的库名、表名、字段名、分区名、分桶信息、函数、数据类型等信息都属于元数据,这些数据是用于描述Hive中数据的特点,统称为元数据。

b. Hive的元数据是维系在关系型数据库中的(Hive管理的数据存储在HDFS上,Hive的元数据存储在数据库中)。

c. 到目前为止,Hive1.X和Hive2.X的元数据库只支持两种:Derby和MySQL。Hive3.X的元数据库还支持Oracle等数据库。如果不指定,无论是Hive的哪一个版本,都默认使用Derby(微型,单连接)来作为元数据库,就意味着Hive每次都只能允许一个用户连接,因此需要更换Hive的元数据库。

2. 安装步骤

1. 要求云主机或者虚拟机上必须先安装好Hadoop3.1.3+JDK1.8;要求硬件环境内存不少于3G。

2. 进入/home/software,下载或者上传Hive的安装包。

cd /home/software/

#云主机下载地址

 wget http://bj-yzjd.ufile.cn-north-02.ucloud.cn/apache-hive-3.1.2-bin.tar.gz

3. 解压安装包。

tar -xvf apache-hive-3.1.2-bin.tar.gz

4. 重命名。

mv apache-hive-3.1.2-bin hive-3.1.2

5. 配置环境变量。

vim /etc/profile

#在文件尾部添加

export HIVE_HOME=/home/software/hive-3.1.2

export PATH=$PATH:$HIVE_HOME/bin

#保存退出,重新生效

source /etc/profile

#测试是否配置正确

hive --version

6. 解决连接池的jar包冲突。

cd /home/software/hive-3.1.2/lib

rm -rf guava-19.0.jar

cp /home/software/hadoop-3.1.3/share/hadoop/common/lib/guava-27.0-jre.jar ./

7. 解决日志打印的jar包冲突。

mv log4j-slf4j-impl-2.10.0.jar log4j-slf4j-impl-2.10.0.bak

8. Centos7中自带了残缺的MySQL发行版mariadb,需要先卸载残缺的mariadb。

rpm -qa | grep -i mariadb | xargs rpm -ev --nodeps

9. 卸载其他的MySQL。

rpm -qa | grep -i mysql | xargs rpm -ev --nodeps

10. 删除MySQL卸载遗留的文件。

find / -name mysql | xargs rm -rf

find / -name my.cnf | xargs rm -rf

cd /var/lib

rm -rf mysql

11. 下载或者上传MySQL的安装包。

cd /home/software/

#云主机的下载地址。

 wget http://bj-yzjd.ufile.cn-north-02.ucloud.cn/mysql-5.7.33-1.el7.x86_64.rpm-bundle.tar

12. 解压MySQL的安装包。

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

13. 安装MySQL,注意安装顺序,不能调换。

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

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

rpm -ivh mysql-community-devel-5.7.33-1.el7.x86_64.rpm

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

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

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

14. 启动MySQL。

systemctl start mysqld

15. 第一次安装MySQL的时候,会产生初始的密码,如果需要登录MySQL,那么首先需要去查看这个初始密码。

grep 'temporary password' /var/log/mysqld.log

16. 登录MySQL。

mysql -u root -p

#将初始密码输入

#注意:在MySQL5.7中,密码策略相对比较复杂,要求密码中至少包含12个字符,必须包含至少1个小写字母,1个大写字母,1个数字以及1个特殊符号

#更改MySQL的密码策略

set global validate_password_length=4;

set global validate_password_policy=0;

#修改MySQL的密码

set password for 'root'@'localhost' = 'root';

17. 配置MySQL的远程登录。

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

flush privileges;

quit;

18. 重启MySQL。

systemctl restart mysqld

19. 进入Hive的配置目录。

cd /home/software/hive-3.1.2/conf

20. 编辑文件。

vim hive-site.xml

#添加内容:

    hive.metastore.db.type

    mysql

javax.jdo.option.ConnectionURL

jdbc:mysql://hadoop01:3306/hive?useSSL=false

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

javax.jdo.option.ConnectionUserName

root

javax.jdo.option.ConnectionPassword

root

hive.metastore.warehouse.dir

/user/hive/warehouse

hive.metastore.schema.verification

false

hive.metastore.uris

thrift://hadoop01:9083

hive.server2.thrift.port

10000

hive.server2.thrift.bind.host

hadoop01

hive.metastore.event.db.notification.api.auth

false

datanucleus.schema.autoCreateAll

true

21. 下载MySQL的驱动jar包。

cd ../lib

 wget http://bj-yzjd.ufile.cn-north-02.ucloud.cn/mysql-connector-java-5.1.27.jar

22.  修改Hadoop的配置。

cd /home/software/hadoop-3.1.3/etc/hadoop/

vim mapred-site.xml

#在文件中添加如下内容:

        yarn.app.mapreduce.am.env

        HADOOP_MAPRED_HOME=${HADOOP_HOME}

        mapreduce.map.env

        HADOOP_MAPRED_HOME=${HADOOP_HOME}

        mapreduce.reduce.env

        HADOOP_MAPRED_HOME=${HADOOP_HOME}

23.  查看是否有初始化Hive元数据库的脚本。

cd /home/software/hive-3.1.2/scripts/metastore/upgrade/

#查看是否有mysql/目录,如果没有

 wget http://bj-yzjd.ufile.cn-north-02.ucloud.cn/hive-mysql-tar.gz

tar -xvf hive-mysql-tar.gz

24. 进入MySQL。

mysql -u root -p

#建立Hive的元数据库

create database hive;

#退出数据库

quit;

25. 初始化Hive的元数据库。

schematool -initSchema -dbType mysql --verbose

26. 启动Hadoop。

start-dfs.sh

start-yarn.sh

27. 启动Hive的元数据服务。

hive --service metastore &

28. 启动hiveserver2服务。

hive --service hiveserver2 &

29. 进入Hive的客户端。

hive

二、其他

1. Hive运行日志

1. Hive在运行过程中会产生运行日志,如果不指定,那么默认情况下,Hive的运行日志是放在/tmp/hive.log文件中。

2. 修改存放位置:

#进入Hive的配置文件目录

cd /home/software/hive-3.1.2/conf

#复制文件

cp hive-log4j2.properties.template hive-log4j2.properties

#编辑文件

vim hive-log4j2.properties

#修改属性property.hive.log.dir

property.hive.log.dir = /home/software/hive-3.1.2/logs

#启动Hive

hive --service metastore &

hive --service hiveserver2 &

hive

2. Hive的参数配置

1. 可以在hive-site.xml文件中来配置Hive的运行参数,这种配置方式是永久有效的,并且对所有的会话都生效。

2. 可以通过hive -hiveconf来配置Hive的运行参数,例如hive -hiveconf mapred.reduce.tasks=3;这种配置方式只在当前会话中生效,对其他会话不产生影响。

3. 在Hive的命令窗口中,可以通过set方式来配置,例如set mapred.reduce.tasks=3;同样这种方式也是只在当前会话中生效,对其他会话不产生影响。

你可能感兴趣的:(大数据,hive,hadoop)