Docker容器嵌入式开发:在Ubuntu上配置Hive

马肤
这是懒羊羊

目录

  • 一、Hive介绍
  • 二、配置方法

    一、Hive介绍

    Apache Hive是一个建立在Hadoop之上的数据仓库软件,它提供了对大规模数据的存储、查询和分析功能。以下是关于Hive的完整介绍:

    背景:

    Hive最初由Facebook开发,并于2008年开源。它是为了简化在Hadoop上执行SQL查询的过程,特别是对于那些熟悉SQL的数据分析师和工程师。

    Hive建立在Hadoop生态系统之上,利用Hadoop的分布式存储(HDFS)和计算框架(MapReduce或Apache Tez)来处理和分析大规模数据。

    特点:

    SQL接口:Hive提供了类似于SQL的查询语言,称为HiveQL,使得用户可以使用熟悉的SQL语法来处理和查询数据。

    存储格式:Hive支持多种数据存储格式,包括文本、序列化、Avro、Parquet等,可以根据需求选择最合适的存储格式。

    优化器:Hive具有查询优化器,能够自动转换查询计划以提高性能,并且可以手动编写优化的查询。

    扩展性:Hive是高度可扩展的,可以处理PB级别的数据,并且可以在需要时添加更多的节点来增加集群的容量。

    元数据管理:Hive维护了关于数据的元数据信息,包括表的结构、分区信息等,这些信息存储在数据库中,可以轻松管理和查询。

    组件:

    Hive Metastore:Hive Metastore是Hive的元数据存储服务,负责管理表、分区、列等元数据信息,并提供给Hive查询引擎使用。

    HiveQL:HiveQL是Hive的查询语言,类似于SQL,允许用户执行各种数据查询、过滤、聚合等操作

    Hive CLI:Hive Command Line Interface(CLI)是Hive的交互式命令行界面,允许用户在终端中直接执行HiveQL查询。

    Beeline:Beeline是Hive的另一个CLI工具,它使用JDBC连接到Hive,并提供更多的配置选项和连接管理功能。

    用途:

    数据仓库:Hive可以用作数据仓库,用于存储和管理结构化和半结构化数据,并支持灵活的数据查询和分析。

    数据处理:Hive可以用于数据预处理、ETL(Extract-Transform-Load)操作、数据清洗和转换等任务。

    数据分析:Hive可以用于执行复杂的数据分析和报告生成,帮助用户从海量数据中提取有价值的信息和见解。

    二、配置方法

    在Ubuntu上配置Hive,您可以按照以下步骤进行:

    下载Hive:首先,从提供的链接下载Hive安装包。您可以使用wget命令从命令行下载,如下所示:

    wget https://archive.apache.org/dist/hive/hive-2.3.4/apache-hive-2.3.4-bin.tar.gz
    

    解压安装包:使用以下命令将下载的安装包解压到适当的位置,例如/opt目录:

    tar -zxvf apache-hive-2.3.4-bin.tar.gz -C /opt
    

    配置环境变量:编辑~/.bashrc文件,并将Hive的bin目录添加到PATH环境变量中。假设您将Hive安装在/opt/apache-hive-2.3.4-bin目录下,您可以执行以下命令:

    echo 'export HIVE_HOME=/opt/apache-hive-2.3.4-bin' >> ~/.bashrc
    echo 'export PATH=$HIVE_HOME/bin:$PATH' >> ~/.bashrc
    

    系统环境变量截图:

    Docker容器嵌入式开发:在Ubuntu上配置Hive,在这里插入图片描述,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,服务,操作,安装,第1张

    生效命令:source ~/.bashrc

    编辑Hive配置文件:Hive的配置文件位于$HIVE_HOME/conf目录下。您可以根据需要编辑hive-site.xml等配置文件,以配置Hive的行为。

    Docker容器嵌入式开发:在Ubuntu上配置Hive,在这里插入图片描述,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,服务,操作,安装,第2张

    启动Hive Metastore:在启动Hive之前,您需要启动Hive Metastore服务。您可以使用以下命令启动Hive Metastore服务:

    $HIVE_HOME/bin/hive --service metastore &
    

    以上命令操作出现下面的报错问题:

    $HIVE_HOME/bin/hive --service metastore &
    [1] 97322
    (tfv1) root@98031e181845:/data/myapp2024/myBigDataApplicationDevelopment/hadoop-3.1.3# 2024-04-09 18:50:20: Starting Hive Metastore Server
    SLF4J: Class path contains multiple SLF4J bindings.
    SLF4J: Found binding in [jar:file:/opt/apache-hive-2.3.4-bin/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/data/myapp2024/myBigDataApplicationDevelopment/hadoop-3.1.3/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
    SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
    Exception in thread "org.apache.hadoop.hive.common.JvmPauseMonitor$Monitor@1e35e9d0" java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.()V from class org.apache.hadoop.hive.common.JvmPauseMonitor$Monitor
            at org.apache.hadoop.hive.common.JvmPauseMonitor$Monitor.run(JvmPauseMonitor.java:176)
            at java.lang.Thread.run(Thread.java:748)
    (tfv1) root@98031e181845:/data/myapp2024/myBigDataApplicationDevelopment/hadoop-3.1.3# MetaException(message:Version information not found in metastore. )
            at org.apache.hadoop.hive.metastore.RetryingHMSHandler.(RetryingHMSHandler.java:83)
            at org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:92)
            at org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:6885)
            at org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:6880)
            at org.apache.hadoop.hive.metastore.HiveMetaStore.startMetaStore(HiveMetaStore.java:7138)
            at org.apache.hadoop.hive.metastore.HiveMetaStore.main(HiveMetaStore.java:7065)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:498)
            at org.apache.hadoop.util.RunJar.run(RunJar.java:318)
            at org.apache.hadoop.util.RunJar.main(RunJar.java:232)
    Caused by: MetaException(message:Version information not found in metastore. )
            at org.apache.hadoop.hive.metastore.ObjectStore.checkSchema(ObjectStore.java:7564)
            at org.apache.hadoop.hive.metastore.ObjectStore.verifySchema(ObjectStore.java:7542)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    

    解决方法如下:

    删除 Hive 目录下的旧版 Guava JAR 文件:rm /opt/apache-hive-2.3.4-bin/lib/guava-14.0.1.jar

    将新版 Guava JAR 文件复制到 Hive 目录下:cp /data/myapp2024/myBigDataApplicationDevelopment/hadoop-3.1.3/share/hadoop/hdfs/lib/guava-27.0-jre.jar /opt/apache-hive-2.3.4-bin/lib

    这些操作的目的是替换 Hive 中的旧版 Guava JAR 文件,以解决 Guava 版本冲突问题。

    rm /opt/apache-hive-2.3.4-bin/lib/guava-14.0.1.jar 
    cp /data/myapp2024/myBigDataApplicationDevelopment/hadoop-3.1.3/share/hadoop/hdfs/lib/guava-27.0-jre.jar /opt/apache-hive-2.3.4-bin/lib
    

    启动Hive CLI或Beeline:启动Hive CLI或Beeline以连接到Hive。您可以使用以下命令之一:

    使用Hive CLI:

    hive
    

    使用Beeline:

    beeline -u jdbc:hive2://localhost:10000
    

    进行必要的配置更改:根据需要,您可能需要在Hive中进行其他配置更改,例如元数据存储类型、数据存储位置等。

    Docker容器嵌入式开发:在Ubuntu上配置Hive,在这里插入图片描述,词库加载错误:未能找到文件“C:\Users\Administrator\Desktop\火车头9.8破解版\Configuration\Dict_Stopwords.txt”。,服务,操作,安装,第3张


文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复:表情:
评论列表 (暂无评论,0人围观)

还没有评论,来说两句吧...

目录[+]

取消
微信二维码
微信二维码
支付宝二维码