Hive安装与启动

目录

什么是Hive?

配置环境变量

 内嵌模式

解决Hadoop和hive之间guava的版本差异

修改hive环境变量文件

 初始化metadata

启动hive

本地模式

安装MySQL

添加mysql jdbc驱动到hive安装包lib/文件下

新增hive-site.xml 配置mysql等相关信息

初始化metadata

 远程模式

初始化metadata

手动启动Hive 的 Metastore Server服务进程


什么是Hive?

Hive是一款基于hadoop的数据仓库工具,能将结构化数据映射成一张数据库表,通过类SQL(HQL)语句分析数据,本质上Hive是将HQL语句转化为MR进行分布式计算,这样有利于SQL技术人员的使用,减少学习成本。

下载地址(3.1.2版本):Index of /hive/hive-3.1.2

配置环境变量

我自己的环境变量在:/etc/profile.d/my_env.sh

内嵌模式

解决Hadoop和hive之间guava的版本差异

删除hive-3.1.2/lib/guava-19.0.jar

将hadoop-3.1.3/share/hadoop/common/lib/guava-27.0-jre.jar复制到hive-3.1.2/lib/目录下

修改hive环境变量文件

 初始化metadata

执行命令:bin/schematool -dvType derby -initSchema

启动hive

执行命令:bin/hive

本地模式

安装MySQL

先删除centos7自带的mariadb

添加mysql jdbc驱动到hive安装包lib/文件下

新增hive-site.xml 配置mysql等相关信息

<configuration>
    <!-- 存储元数据mysql相关配置 -->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value> jdbc:mysql://主机名或主机地址: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>mysql的密码</value>
    </property>

    <!-- 关闭元数据存储授权  -->
    <property>
        <name>hive.metastore.event.db.notification.api.auth</name>
        <value>false</value>
    </property>

    <!-- 关闭元数据存储版本的验证 -->
    <property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
    </property>
</configuration>

初始化metadata

在hive的bin目录下执行:schematool -initSchema -dbType mysql -verbos

初始化成功会在mysql中创建74张表 

 远程模式

远程模式与本地模式区别在于修改hive-site.xml

<configuration>
    <!-- 存储元数据mysql相关配置 -->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value> jdbc:mysql://主机名或主机地址: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>mysql密码</value>
    </property>

    <!-- H2S运行绑定host -->
    <property>
        <name>hive.server2.thrift.bind.host</name>
        <value>主机名或主机地址</value>
    </property>

    <!-- 远程模式部署metastore 服务地址 -->
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://主机名或主机地址:9083</value>
    </property>

    <!-- 关闭元数据存储授权  -->
    <property>
        <name>hive.metastore.event.db.notification.api.auth</name>
        <value>false</value>
    </property>

    <!-- 关闭元数据存储版本的验证 -->
    <property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
    </property>
</configuration>

初始化metadata

在hive的bin目录下执行:schematool -initSchema -dbType mysql -verbos

手动启动Hive 的 Metastore Server服务进程

这里推荐其中一种方式:

后台启动 进程挂起 关闭使用 jps + kill

输入命令回车执行 再次回车 进程将挂起后台 nohup hive --service metastore &

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>