(4)Hive环境搭建

搭建步骤

  • JDK环境
  • Hadoop集群环境
  • Mysql安装
  • Hive安装

JDK安装、Hadoop集群环境搭建

由于Hive底层依赖于Hadoop的HDFS和MapReduce,所以首先要搭建Hadoop的集群环境,在前篇中已经介绍JDK和Hadoop的相关搭建方式,需要的同学可以参考下

Mysql安装

准备工作
  • 下载
    mysql-8.0.22-1.el7.x86_64.rpm-bundle.tar

  • 卸载旧版
    先使用rpm -qa查询是否已安装mariadb或者mysql,若有,使用rpm -e --nodeps删除

  • 删除相关目录
    find / -name mysql找出mysql相关目录,清理干净

RPM方式安装
  • tar -xvf解压下载的tarball
[root@test-68 mysqlrpm]# tar -xvf mysql-8.0.22-1.el7.x86_64.rpm-bundle.tar 
mysql-community-client-8.0.22-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.22-1.el7.x86_64.rpm
mysql-community-common-8.0.22-1.el7.x86_64.rpm
mysql-community-devel-8.0.22-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.22-1.el7.x86_64.rpm
mysql-community-libs-8.0.22-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.22-1.el7.x86_64.rpm
mysql-community-server-8.0.22-1.el7.x86_64.rpm
mysql-community-test-8.0.22-1.el7.x86_64.rpm
  • 按照common、libs、client、server的顺序依次安装
[root@test-68 mysqlrpm]# rpm -ivh mysql-community-common-8.0.22-1.el7.x86_64.rpm --nodeps
warning: mysql-community-common-8.0.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-common-8.0.22-1.e################################# [100%]
[root@test-68 mysqlrpm]# rpm -ivh mysql-community-libs-8.0.22-1.el7.x86_64.rpm --nodeps
warning: mysql-community-libs-8.0.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-libs-8.0.22-1.el7################################# [100%]
[root@test-68 mysqlrpm]# rpm -ivh mysql-community-libs-compat-8.0.22-1.el7.x86_64.rpm --nodeps
warning: mysql-community-libs-compat-8.0.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-libs-compat-8.0.2################################# [100%]
[root@test-68 mysqlrpm]# rpm -ivh mysql-community-client-8.0.22-1.el7.x86_64.rpm --nodeps
warning: mysql-community-client-8.0.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-client-8.0.22-1.e################################# [100%]
root@test-68 mysqlrpm]# rpm -ivh mysql-community-server-8.0.22-1.el7.x86_64.rpm --nodeps
warning: mysql-community-server-8.0.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-server-8.0.22-1.e################################# [100%]
  • 启动
    service mysqld start
  • 查看启动状态
    service mysqld status
  • 查看初始密码
    cat /var/log/mysqld.log | grep password
  • 登陆
[root@test-68 mysqlrpm]# mysql -uroot -p
Enter password: 
  • 修改密码
    alter user 'root'@'localhost' identified with mysql_native_password by 'XXXXX'
  • 修改内网访问
use mysql;
update user set Host='192.168.1.%' where User = 'root';
  • 刷新修改
    flush privileges

Hive安装

tarball下载

apache-hive-3.1.2-bin.tar.gz

解压
cd /opt
tar -zxvf /root/apache-hive-3.1.2-bin.tar.gz
mv apache-hive-3.1.2-bin/ hive
配置环境变量
vim /etc/profile.d/hive.sh
##添加如下内容后保存
export HIVE_HOME=/opt/hive
export PATH=$HIVE_HOME/bin:$PATH
##配置后重新加载profile
source /etc/profile
mysql驱动

下载与安装的mysql版本匹配的驱动jar包,放入$HIVE_HOME/lib下

配置hive-site.xml
vim $HIVE_HOME/conf/hive-site.xml
##添加如下配置内容
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--配置Hive Metastore-->
    <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://192.168.1.68:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8</value>
    </property>
    <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.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>
</configuration>
修改hive对guava的依赖版本

启动的时候如果报java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument错误,是由于guava的版本与hadoop的不一致导致的,可以将hive安装目录lib下的guava去除,替换成hadoop依赖的guava版本,hadoop的guava版本位置$HADOOP_HOME/share/hadoop/common/lib/guava-27.0-jre.jar

初始化
$HIVE_HOME/bin/schematool -dbType mysql -initSchema

执行成功后,会在mysql中生成一些列相关的表,用于存储hive相关的元数据

启动

由于已经配置了hive相关的环境变量,直接执行如下命令

hive
日志

默认情况下,通过观察/tmp/<user.name>/hive.log来了解hive运行情况,也可通过修改conf/hive-log4j.properties的property.hive.log.dir来指定其他日志存放路径

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。