基于飞腾平台的Hive的安装配置

news2025/1/8 4:07:52
 【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力,聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域,包含了应用使能套件、软件仓库、软件支持、软件适配认证四大板块,旨在共享尖端技术,为开发者提供一个涵盖多领域的开发平台和工具套件。 点击这里开始你的技术升级之旅吧

image.png​​​

本文分享至飞腾开发者平台《飞腾平台Hive3.1.2安装手册》

1 介绍

  Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据。它架构在Hadoop之上,总归为大数据,并使得查询和分析方便。并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。

  最初,Hive是由Facebook开发,后来由Apache软件基金会开发,并作为进一步将它作为名义下Apache Hive为一个开源项目。Hive 没有专门的数据格式。 Hive 可以很好的工作在 Thrift 之上,控制分隔符,也允许用户指定数据格式。Hive不适用于在线事务处理。它最适用于传统的数据仓库任务。Hive 构建在基于静态批处理的Hadoop 之上,Hadoop
通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,Hive并不能够在大规模数据集上实现低延迟快速的查询,例如,Hive 在几百MB的数据集上执行查询一般有分钟级的时间延迟。因此,Hive并不适合那些需要低延迟的应用,例如,联机事务处理(OLTP)。Hive查询操作过程严格遵守Hadoop MapReduce 的作业执行模型,Hive 将用户的HiveQL语句通过解释器转换为MapReduce 作业提交到Hadoop 集群上,Hadoop监控作业执行过程,然后返回作业执行结果给用户。Hive并非为联机事务处理而设计,Hive 并不提供实时的查询和基于行级的数据更新操作

  本文主要介绍移植适配后的Hive.3.1.2在飞腾平台的安装与部署过程。

2 环境要求

2.1 硬件要求

  硬件要求如下表所示。

项目说明
CPUFT-2000+/64服务器
网络无要求
存储无要求
内存无要求

2.2 操作系统要求

  操作系统要求如下表所示。

项目说明
CentOS8
Kernel4.18.0-193.el8.aarch64

2.3 软件要求

  软件要求如下表所示。

项目说明
Java1.8.0_281
MySQL5.7
Hadoop3.3.0

3 安装与部署

3.1 程序部署

  步骤一 下载apache-Hive

wget
https://mirrors.bfsu.edu.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
mv apache-hive-3.1.2-bin.tar.gz /opt
cd /opt/
tar -zxvf apache-hive-3.1.2-bin.tar.gz
mv apache-hive-3.1.2-bin.tar.gz hive-3.1.2

  步骤二 创建mysql数据库与账号

CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE
utf8_general_ci;
create user 'bigdata'\@'%' identified by 'bigdata';
grant all privileges on \*.\* to 'bigdata'\@'%' identified by 'bigdata' ;
FLUSH PRIVILEGES;

3.2 程序配置

  步骤一 配置环境变量

  (1)编辑 /etc/profile 文件,添加以下内容:

export HIVE_HOME=/opt /hive-3.1.2

export PATH=\$PATH:\$HIVE_HOME/bin

  (2)配置程序环境变量, 拷贝 hive-env.sh.template 为hive-env.sh,添加以下内容:

HADOOP_HOME=/opt/hadoop-3.3.0

export HIVE_CONF_DIR=/opt/hive-3.1.2/conf

export HIVE_AUX_JARS_PATH=/opt/hive-3.1.2/auxlib

export JAVA_HOME=/opt/jdk1.8.0_281

  步骤二 配置日志信息

mv hive-log4j2.properties.template hive-log4j2.properties

mv beeline-log4j2.properties.template beeline-log4j2.properties

mv hive-exec-log4j2.properties.template hive-exec-log4j2.properties

  步骤三 进入$ HIVE_HOME目录,并新建 conf/hive-site.xml 文件添加以下配置

<configuration>

    <property>

        <name>javax.jdo.option.ConnectionURL</name>

        <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>

    </property>

    <property>

        <name>javax.jdo.option.ConnectionDriverName</name>

        <value>com.mysql.jdbc.Driver</value>

    </property>

    <property>

        <name>javax.jdo.option.ConnectionUserName</name>

        <value>bigdata</value>

    </property>

    <property>

        <name>javax.jdo.option.ConnectionPassword</name>

        <value>bigdata</value>

    </property>

    <property>

        <name>hive.metastore.warehouse.dir</name>

        <value>/user/hive/warehouse</value>

    </property>

    <property>

        <name>hive.exec.scratchdir</name>

        <value>/user/hive/tmp</value>

        <description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir:${hive.exec.scratchdir}/&lt;username&gt; is created, with ${hive.scratch.dir.permission}.</description>

    </property>

    <property>

        <name>hive.querylog.location</name>

        <value>/user/hive/log</value>

        <description>Location of Hive run time structured log file</description>

    </property>

</configuration>

  步骤四 上传Mysql驱动包到hive的lib目录

cp mysql-connector-java.jar /opt/hive-3.1.2/lib/

  步骤五 初始化Hive元数据库配置

[hadoop@engine hive-3.1.2]$ schematool -dbType mysql -initSchema
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in
[jar:file:/opt/hive-3.1.2/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in
[jar:file:/opt/hadoop-3.3.0/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]
Metastore connection URL:    
jdbc:mysql://172.16.32.200:3306/apache_hive_db?createDatabaseIfNotExist=true
Metastore Connection Driver :     com.mysql.jdbc.Driver
Metastore connection User:     bigdata
Starting metastore schema initialization to 2.3.0
Initialization script hive-schema-2.3.0.mysql.sql
Initialization script completed
schemaTool completed

  步骤六 在HDFS上创建目录

${HADOOP_HOME}/bin/hdfs dfs -mkdir -p /user/hive/warehouse
${HADOOP_HOME}/bin/hdfs dfs -mkdir -p /user/hive/tmp
${HADOOP_HOME}/bin/hdfs dfs -mkdir -p /user/hive/log
${HADOOP_HOME}/bin/hdfs dfs -chmod -R 777 /user/hive/warehouse
${HADOOP_HOME}/bin/hdfs dfs -chmod -R 777 /user/hive/tmp
${HADOOP_HOME}/bin/hdfs dfs -chmod -R 777 /user/hive/log

3.3 启动服务

  步骤一 启动Hadoop集群(安装过程参见hadoop集群安装手册)

  步骤二 启动hiveserver2

cd /opt/hive-3.1.2/bin
nohup ./hiveserver2 \>_run.log &

  步骤三 检查hiveserver2进程

# ps -elf\|grep hiveserver

  如果显示:

[hadoop@master hive-3.1.2]$ ps -elf|grep hiveserver
0 S hadoop  1083884    1 0 80  0 - 35891 futex_ 09:02 pts/0  00:01:59
/opt/jdk1.8.0_281/bin/java -Dproc_jar -Dproc_hiveserver2
-Dlog4j.configurationFile=hive-log4j2.properties
-Djava.util.logging.config.file=/opt/hive-3.1.2/conf/parquet-logging.properties
-Djline.terminal=jline.UnsupportedTerminal -Dyarn.log.dir=/opt/hadoop-3.3.0/logs 
-Dyarn.log.file=hadoop.log -Dyarn.home.dir=/opt/hadoop-3.3.0 -Dyarn.root.logger=INFO,console
-Djava.library.path=/opt/hadoop-3.3.0/lib/native -Xmx256m
-Dhadoop.log.dir=/opt/hadoop-3.3.0/logs -Dhadoop.log.file=hadoop.log
-Dhadoop.home.dir=/opt/hadoop-3.3.0 -Dhadoop.id.str=hadoop
-Dhadoop.root.logger=INFO,console -Dhadoop.policy.file=hadoop-policy.xml
-Dhadoop.security.logger=INFO,NullAppender org.apache.hadoop.util.RunJar
/opt/hive-3.1.2/lib/hive-service-3.1.2.jar org.apache.hive.service.server.HiveServer2

  如果出现以上进程,表示Hiveserver启动成功

4 功能测试

4.1 Hive命令测试

  步骤一 运行hive终端命令

$HIVE_HOME/bin/hive

  启动过程日志如下:

[hadoop@master hive-3.1.2]$ $HIVE_HOME/bin/hive
which: no hbase in
(/home/hadoop/.local/bin:/home/hadoop/bin:/opt/apache-maven 3.3.9/bin:/home/phytium/.local/bin:/home/phytium/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/local/mysql/bin:/opt/jdk1.8.0_281/bin:/usr/local/lib:/usr/local/bin:/usr/local/bin:/opt/hadoop-3.3.0/sbin:/opt/hadoop-3.3.0/bin:/usr/local/mysql/bin:/opt/hive-3.1.2/bin:/root/bin)
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in
[jar:file:/opt/hive-3.1.2/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in
[jar:file:/opt/hadoop-3.3.0/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]
Hive Session ID = 5b09fa6f-638c-4363-bd45-31d07e773a41

Logging initialized using configuration in file:/opt/hive-3.1.2/conf/hive-log4j2.properties Async: true
Hive Session ID = 7025b4a7-0c70-4274-bb1b-66989b813198
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
hive\>

  表示进入到hive终端:

  步骤二 测试hive SQL

hive> show databases;
OK
default
Time taken: 1.59 seconds, Fetched: 1 row(s)
hive>

  hive SQL可以成功运行

4.2 Beeline方式连接

  步骤一 启动beeline连接到hiveserver2

$HIVE_HOME/bin/beeline -u jdbc:hive2://localhost:10000 -n hadoop

  启动过程日志如下:

[hadoop@master bin]$ beeline -u jdbc:hive2://localhost:10000 -n hadoop
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in
[jar:file:/opt/hive-3.1.2/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in
[jar:file:/opt/hadoop-3.3.0/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]
Connecting to jdbc:hive2://localhost:10000
Connected to: Apache Hive (version 3.1.2)
Driver: Hive JDBC (version 3.1.2)
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 3.1.2 by Apache Hive
0: jdbc:hive2://localhost:10000>

  表示连接到hiveserver成功

  步骤二 测试hive SQL

0: jdbc:hive2://localhost:10000> show databases;
INFO : Compiling
command(queryId=hadoop_20210721153935_ef385520-032c-4de9-98c0-b01dadbb3b4c): show databases
INFO : Concurrency mode is disabled, not creating a lock manager
INFO : Semantic Analysis Completed (retrial = false)
INFO : Returning Hive schema:
Schema(fieldSchemas:[FieldSchema(name:database_name, type:string,comment:from deserializer)], properties:null)
INFO : Completed compiling
command(queryId=hadoop_20210721153935_ef385520-032c-4de9-98c0-b01dadbb3b4c);
Time taken: 0.028 seconds
INFO : Concurrency mode is disabled, not creating a lock manager
INFO : Executing
command(queryId=hadoop_20210721153935_ef385520-032c-4de9-98c0-b01dadbb3b4c): show databases
INFO : Starting task [Stage-0:DDL] in serial mode
INFO : Completed executing
command(queryId=hadoop_20210721153935_ef385520-032c-4de9-98c0-b01dadbb3b4c);Time taken: 0.016 seconds
INFO : OK
INFO : Concurrency mode is disabled, not creating a lock manager
+----------------+
| database_name |
+----------------+
| default    |
+----------------+
1 row selected (0.179 seconds)
0: jdbc:hive2://localhost:10000>

  结果表明:hive运行Hive SQL程序运行结果正确,符合预期,飞腾平台下的Hive功能正常。

推荐阅读

  • 基于飞腾平台的Hbase的安装配置
  • 基于飞腾平台的Hadoop的安装配置

欢迎广大开发者来飞腾开发者平台获取更多前沿技术文档及资料

如开发者在使用飞腾产品有任何问题可通过在线工单联系我们


版权所有。飞腾信息技术有限公司 2023。保留所有权利。

未经本公司同意,任何单位、公司或个人不得擅自复制,翻译,摘抄本文档内容的部分或全部,不得以任何方式或途径进行传播和宣传。

商标声明

Phytium和其他飞腾商标均为飞腾信息技术有限公司的商标。

本文档提及的其他所有商标或注册商标,由各自的所有人拥有。

注意

本文档的内容视为飞腾的保密信息,您应当严格遵守保密任务;未经飞腾事先书面同意,您不得向任何第三方披露本文档内容或提供给任何第三方使用。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,飞腾在现有技术的基础上尽最大努力提供相应的介绍及操作指引,但飞腾在此明确声明对本文档内容的准确性、完整性、适用性、可靠性的等不作任何明示或暗示的保证。

本文档中所有内容,包括但不限于图片、架构设计、页面布局、文字描述,均由飞腾和/或其关联公司依法拥有其知识产权,包括但不限于商标权、专利权、著作权等。非经飞腾和/或其关联公司书面同意,任何人不得擅自使用、修改,复制上述内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2112941.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Matplotlib 颜色设置详解

在使用matplotlib进行颜色绘制的时候,如绘制图表、背景色或者对文字设置的时候都可以配置颜色, 以下说明主流的三种颜色使用方法 颜色名称 可以是直接使用颜色名称的字符串对color进行赋值,包括可以使用首字母缩写或者完整拼写的形式,以下为部分颜色的书写形式 缩写版 • …

机器学习课程学习周报十一

机器学习课程学习周报十一 文章目录 机器学习课程学习周报十一摘要Abstract一、机器学习部分1.1 再探GAN的数学原理1.1.1 似然与概率1.1.2 GAN和最大似然估计1.1.3 最大后验概率 1.2 WGAN1.3 GAN的性能评估方法1.4 条件型生成 总结 摘要 本周的学习主要围绕生成对抗网络&#…

详细介绍msvcr120.dll文件以及修复msvcr120.dll丢失的几种方法

遇到“msvcr120.dll丢失”错误通常会在尝试运行某些程序时发生&#xff0c;这类错误提示“程序无法启动&#xff0c;因为您的计算机缺少msvcr120.dll文件。”这可能导致许多用户感到困扰和不便。有几个步骤可以帮助你轻松修复“msvcr120.dll丢失”错误&#xff0c;保证应用程序…

Linux新建虚拟机Ubuntu详解

1. 打开软件&#xff0c;点击新建虚拟机&#xff1b; 2. 选择典型&#xff1b; 3. 点击稍后安装操作系统后&#xff0c;点击下一步&#xff1b; 4. 选择客户机操作系统以及版本&#xff0c;这里我们选择Ubuntu 64位&#xff1b; 5. 给虚拟机命名以及新建文件夹存放虚拟机位置&…

bat批处理实现从特定文件夹中提取文件内容并以父文件夹名存储

1、需求分析 标题是bat批处理实现从特定文件夹中提取文件内容并以父文件夹名存储。这里面我们要做的工作是&#xff1a; ①、批处理脚本使用的是bat文件&#xff1b; ②、文件夹下面有很多子文件夹&#xff0c;然后子文件夹下仍然有相同的文件结构&#xff0c;我们需要从三级…

创业者必读!选择拍卖源码还是自建开发,哪种方案更安全?

在当今数字化时代&#xff0c;拍卖平台作为一种独特的电子商务模式&#xff0c;正逐渐成为人们关注的焦点。随着互联网技术的发展&#xff0c;网络安全问题变得越来越突出。如何保障用户数据安全&#xff0c;防止信息泄露及攻击事件的发生&#xff0c;已经成为拍卖软件开发者面…

面试必备:接口自动化测试精选面试干货

一、 请问你是如何做接口测试的&#xff1f; 大体来说&#xff0c;经历以下过程&#xff1a;接口需求调研、接口测试工具选择、接口测试用例编写、接口测试执行、接口测试回归、接口测试自动化持续集成。具体来说&#xff0c;接口测试流程分成以下九步&#xff1a; 第一步&am…

HMI设计:嵌入式设备和电脑的差异化,工控领域首选。

嵌入式设备属于专机专用&#xff0c;电脑是通用&#xff0c;从性能、用途、特殊能力、成本、通信上嵌入式设备完全优于电脑&#xff0c;是工控领域的首选。 嵌入式设备和电脑在很多方面有着显著的差异&#xff0c;主要体现在以下几个方面&#xff1a; 1. 设计用途&#xff1a…

算法练习题17——leetcode54螺旋矩阵

题目描述 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 代码 import java.util.*;class Solution {public List<Integer> spiralOrder(int[][] matrix) {// 用于存储螺旋顺序遍历的结果List<Integer>…

神经网络训练不起来怎么办(零)| General Guidance

摘要&#xff1a;模型性能不理想时&#xff0c;如何判断 Model Bias&#xff0c; Optimization&#xff0c; Overfitting 等问题&#xff0c;并以此着手优化模型。在这个分析过程中&#xff0c;我们可以对Function Set&#xff0c;模型弹性有直观的理解。关键词&#xff1a;模型…

SnapGene 2.3.2软件下载安装教程百度网盘分享链接地址

SnapGene简介&#xff1a;SnapGene 2.3.2软件下载安装教程百度网盘分享链接地址&#xff0c;SnapGene 是一款超厉害的分子生物学软件。它最初由美国公司开发&#xff0c;后来换了东家。 这款软件功能多样&#xff0c;在序列编辑分析方面表现出色&#xff0c;能轻松搞定 DNA 序列…

Android Dialog:Dialog和DialogFragment的区别?DialogFragment如何使用?源码解析

目录 一、Dialog和DialogFragment的区别 Android在DialogFragment推出后&#xff0c;就已经不推荐继续使用Dialog&#xff0c;可替换为DialogFragment&#xff1a; 更好的生命周期管理&#xff1a;DialogFragment能够自动处理Activity的生命周期事件&#xff0c;确保对话框在…

Python 从入门到实战9(集合)

我们的目标是&#xff1a;通过这一套资料学习下来&#xff0c;通过熟练掌握python基础&#xff0c;然后结合经典实例、实践相结合&#xff0c;使我们完全掌握python&#xff0c;并做到独立完成项目开发的能力。 上篇文章我们通过举例学习了python 中字典的定义及相关操作。今天…

模型训练套路(一)

一、训练完整使用网络模型 import torch import torchvision from torch import nn from torch.utils.data import DataLoaderfrom model1 import* # 此处的引用为此文在实现过程中所解决的问题 train_data torchvision.datasets.CIFAR10(root "../data", trainT…

63、Python之函数高级:装饰器缓存实战,优化递归函数的性能

引言 通过前面的文章&#xff0c;我们已经掌握了Python中常用的装饰器的使用技巧&#xff0c;这篇文章中&#xff0c;我们通过一个装饰器的实战案例&#xff0c;来进一步加深对装饰器的适用场景的理解。 本文的主要内容有&#xff1a; 1、递归函数 2、递归实现斐波那契数列…

AWTK HTML View 控件更新

AWTK HTML View 控件基于 Lite HTML 实现&#xff0c;从最初的版本开始&#xff0c;3 年多过去了&#xff0c;Lite HTML 做了大量的更新&#xff0c;最近抽空将 AWTK HTML View 控件适配到最新版本的 Lite HTML&#xff0c;欢迎大家使用。 AWTK HTML View 控件。HTML View 控件…

SAP B1 基础实操 - 用户定义字段 (UDF)

目录 一、功能介绍 1. 使用场景 2. 操作逻辑 3. 常用定义部分 3.1 主数据 3.2 营销单据 4. 字段设置表单 4.1 字段基础信息 4.2 不同类详细设置 4.3 默认值/必填 二、案例 1 要求 2 操作步骤 一、功能介绍 1. 使用场景 在实施过程中&#xff0c;经常会碰见用户需…

Qt线程使用

嗨嗨嗨&#xff0c;今天又学到了新的知识——线程&#xff0c;这个玩意在项目中使用的频率是非常高的&#xff0c;毕竟电脑的主线程就那么一个&#xff0c;那么这也就是我们为啥要学习线程的原因。比如说&#xff0c;我们们的游戏&#xff0c;如果我们的游戏界面显示的同时我们…

【生日视频制作】奥迪A8提车交车仪式AE模板修改文字软件生成器教程特效素材【AE模板】

奥迪A8提车交车仪式AE模板制作过程软件生成器素材 AE模板套用改图文教程↓↓&#xff1a; 怎么如何做的【生日视频制作】奥迪A8提车交车仪式AE模板修改文字软件生成器教程特效素材【AE模板】 生日视频制作步骤&#xff1a; 安装AE软件 下载AE模板 把AE模板导入AE软件 修改图片…

PD快充协议方案 及应用场景

快充协议诱骗原理主要依赖于快充协议芯片与供电端&#xff08;如PD充电器&#xff09;之间的握手通信&#xff0c;以申请所需要的电压与电流&#xff0c;确保充电过程安全、快速且高效。这种芯片通过内置的通讯模块与供电端通信&#xff0c;根据设备的实际需求调整输出电压和电…