Hive3.x配置

简介:本文主要讲解hive的远程安装方式,承接该文章。本文章主要包括安装mysql(用于存放hive元数据)和安装hive。
希望能够对您有用!

一、准备

相关软件链接:https://pan.baidu.com/s/1y_dCAACBdbSEPztiQrLHVA?pwd=h00i

1、已配置完hadoop环境

指hadoop,yarn能够正常启动和关闭

建议:hadoop-3.3.4.tar.gz

jdk:jdk-8u361-linux-x64.tar.gz
可参考:https://blog.csdn.net/junqiduhang/article/details/134125116

2、下载hive安装包并上传到hadoop名称节点

需要注意的是hadoop3.x才能使用hive3.x,否则启动hive会报错。

https://dlcdn.apache.org/hive/

在这里插入图片描述

二、安装MySQL

1、卸载Centos7自带mariadb

rpm -qa|grep mariadb
# mariadb-libs-5.5.60-1.el7_5.x86_64
rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps

2、创建mysql安装包存放点

mkdir -p /export/software/mysql

上传mysql-5.7.29安装包到上述文件夹下、解压

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

3、执行安装

yum -y install libaio

rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm mysql-community-libs-5.7.29-1.el7.x86_64.rpm 
mysql-community-client-5.7.29-1.el7.x86_64.rpm mysql-community-server-5.7.29-1.el7.x86_64.rpm

4、初始化mysql

mysqld --initialize

更改所属组

chown mysql:mysql /var/lib/mysql -R

5、启动mysql

systemctl start mysqld.service

查看生成的临时root密码

cat  /var/log/mysqld.log
# 3DgiqJPekr>i 额,注意前面有个空格不要

这行日志的最后就是随机生成的临时密码

[Note] A temporary password is generated for root@localhost: 3DgiqJPekr>i

在这里插入图片描述
修改mysql root密码、授权远程访问

mysql -u root -p
Enter password:     #这里输入在日志中生成的临时密码

更新root密码 设置为hadoop;关于root和密码hadoop之后在hive的配置文件中会用到

mysql> alter user user() identified by "hadoop";
# Query OK, 0 rows affected (0.00 sec)

授权

mysql> use mysql;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

mysql的启动和关闭 状态查看

systemctl stop mysqld
systemctl status mysqld
systemctl start mysqld

建议设置为开机自启动服务

systemctl enable  mysqld

查看是否已经设置自启动成功

systemctl list-unit-files | grep mysqld

三、Hive远程配置

hive具有多种安装方式,远程安装方式最常用。

注意📣📣📣📣后面都切换为hadoop用户

1、解压安装包

tar -zxvf /tmp/apache-hive-3.1.3-bin.tar.gz  -C /export/server/

2、创建软链接

ln -s /export/server/apache-hive-3.1.3-bin/ /export/server/hive

3、配置环境变量(可选)

vim /etc/profile

追加以下内容

export HIVE_HOME=/export/server/hive
export PATH=$PATH:$HIVE_HOME/bin

使环境变量生效

source /etc/profile

4、修改配置文件

4.1 hive-env.sh

进入配置文件目录

cd /export/server/hive/conf/

找到“hive-env.sh.template”重命名

mv hive-env.sh.template hive-env.sh

编辑hive-env.sh

vim hive-env.sh

输入

export HADOOP_HOME=/export/server/hadoop
export HIVE_CONF_DIR=/export/server/hive/conf
export HIVE_AUX_JARS_PATH=/export/server/hive/lib
4.2 hive-site.xml

创建hive-site.xml

vim /export/server/hive/conf/hive-site.xml

编入。注意配置文件中用户与密码应当与设置mysql的保持一致

<configuration>
    <!-- 存储元数据mysql相关配置 -->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value> jdbc:mysql://node1:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</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>hadoop</value>
    </property>
    
    <!-- H2S运行绑定host -->
    <property>
        <name>hive.server2.thrift.bind.host</name>
        <value>node1</value>
    </property>
    
    <!-- 远程模式部署metastore 服务地址 -->
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://node1:9083</value>
    </property>
    
    <!-- 关闭元数据存储授权  -->
    <property>
        <name>hive.metastore.event.db.notification.api.auth</name>
        <value>false</value>
    </property>
   
</configuration>
4.3 core-site.xml

这个配置文件时hadoop的

vim /export/server/hadoop/etc/hadoop/core-site.xml

编入

    <!-- 整合hive -->
    <property>
      <name>hadoop.proxyuser.root.hosts</name>
    	<value>*</value>
    </property> 

    <property>
    	<name>hadoop.proxyuser.root.groups</name>
    	<value>*</value>
    </property> 

5、添加mysql jdbc驱动

用scp命令将下载的mysql-connector-java-5.1.32.jar 包从win传到虚拟机对应目录下

scp mysql-connector-java-5.1.32.jar root@192.168.88.100:/export/server/hive/lib

6、统一guava

删除较低版本的guava并将高版本的guava移入低版本所在目录,否则初始化元数据会报错

可先用ls查看你所安装的guava版本,然后做替换即可

ls /export/server/hive/lib | grep "guava"
ls /export/server/hadoop/share/hadoop/common/lib | grep "guava"

在这里插入图片描述

rm -rf /export/server/hive/lib/guava-19.0.jar

将hadoop目录下的jar包复制过来

cp  /export/server/hadoop/share/hadoop/common/lib/guava-11.0.2.jar  /export/server/hive/lib/

7、初始化元数据

cd /export/server/hive
bin/schematool -initSchema -dbType mysql -verbos

因为采用的安装方式是远程安装,因此hive元数据会存放到mysql数据库中。

初始化成功会在mysql的hive数据库中创建74张表,可以进入mysql查看。

ps:之前试过2.x版本的hive,表的数量会少一些

8、启动metastore服务

(1)先启动hdfs和yarn,启动后等待一段时间再启动metastore服务

start-dfs.sh
start-yarn.sh

创建日志输出目录,用于存放metastore启动日志

mkdir /export/server/hive/logs

(2)启动元数据服务,两种启动方式
①前台启动 ,关闭需要使用ctrl+c

/export/server/hive/bin/hive --service metastore

②后台启动,可把进程挂起😋😋😋推荐

可以用cat命令查看metastore.log的内容

nohup bin/hive --service metastore > logs/metastore.log &

使用jps + kill关闭metastore服务。用jps查看,“RunJar”即为hive的元数据服务

在这里插入图片描述

9、进入hive

启动Metastore服务后就可以进入hive,在命令行直接输入hive即可。注意使用hadoop用户。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值