Linux环境下配置Hive

本文详细描述了在虚拟机中安装Hive的过程,包括下载、替换jar包、配置Hive和Hadoop,以及设置MySQL连接和环境变量,最后介绍了如何初始化元数据和解决权限问题,确保Hive服务器成功启动。
摘要由CSDN通过智能技术生成

准备工作

hive下载地址: http://archive.apache.org/dist/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz

在安装hive之前,虚拟机内必须有hadoop的集群

1、安装Hive

1.1、上传到虚拟机

将hive解压到module目录

tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/module

1.2、替换jar包

来到hive的lib目录下

cd /opt/module/apache-hive-3.1.2-bin/lib

删除掉guava-19.0.jar

rm -rf guava-19.0.jar

来到Hadoop的lib目录中

cd /opt/module/hadoop-3.1.3/share/hadoop/common/lib/

将guava-27.0-jre.jar拷贝到hive的lib目录下

cp guava-27.0-jre.jar /opt/module/apache-hive-3.1.2-bin/lib/

来到hive的bin目录下

./hive

出现以下结果,说明hive成功启动了

1.3 修改hive配置文件

来到hive的conf目录下

cd /opt/module/apache-hive-3.1.2-bin/conf

在conf目录下创建一个hive-site.xml文件

vim hive-site.xml

 在hive-site.xml文件中添加以下内容

<configuration>
        <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>
                jdbc:mysql://hadoop100:3306/hivedb?createDatabaseIfNotExist=true&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.cj.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>

修改hadoop配置文件

vim /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml

添加以下内容(其中的hadoop为用户名)

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

 1.4 、将mysql连接驱动放在hive的lib目录下

cp mysql-connector-java-8.0.25.jar /opt/module/apache-hive-3.1.2-bin/lib/

1.5、配置hive的环境变量,添加以下内容

export HIVE_HOME=/opt/module/apache-hive-3.1.2-bin
export PATH=$PATH:$HIVE_HOME/bin
#使其配置文件生效
source /etc/profile.d/my_env.sh

1.6 初始化元数据

 schematool -initSchema -dbType mysql -verbose

当出现以下错误时,就需要进入MySQL授权远程登录 

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

 然后再初始化元数据,出现以下结果,则成功初始化了

执行hive

进入之后写入show databases,出现以下结果,就成功了

2、启动hive

2.1、新开一个窗口使用hiveserver2启动

hiveserver2

2.2 在第一个窗口运行beeline

beeline

连接hive

# 连接
!connect jdbc:hive2://hadoop100:10000
#用户名
root
# 密码
123456

当出现以下结果,则是root用户的权限不足造成的

root用户授权


#查看集群中跟目录中文件夹权限
hadoop fs -ls /
 
#将报错中的目标目录增加最大权限,例如我这里是/tmp文件权限不够
hadoop fs -chmod 777 /tmp

出现以下结果,则hive启动成功

完毕!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值