Hive安装与配置
你需要掌握:
1.Hive的基本安装; 2.Mysql的安装与设置; 3.Hive 的配置。
注意:Hive的安装与配置建立在Hadoop已安装配置好的情况下。
hadopp安装与配置
Hive 的基本安装
从 官网 下载Hive二进制包,下载好放在/opt目录下。
- 进入
/opt目录,解压apache-hive-3.1.0-bin.tar.gz到该目录下,并将解压的文件重命名为hive;
-
cd /opt tar -zxvf apache-hive-3.1.0-bin.tar.gz mv apache-hive-3.1.0-bin hive
- 设置环境变量,编辑
vi /etc/profile,在末尾添加以下两行代码;
-
export HIVE_HOME=/opt/hive export PATH=$HIVE_HOME/bin:$PATH
-
使环境生效;source /etc/profile
- 查看
hive是否安装成功:hive --version。

出现hive版本就说明安装成功,但是可以看到其中有一些警告信息,是由于包的冲突引起的。我们只需删除掉引起冲突的包即可:rm /opt/hive/lib/log4j-slf4j-impl-2.10.0.jar。

Mysql 的安装与设置
已安装MySQL数据库,在本地没有安装可以采用以下命令进行安装:
-
sudo apt-get install mysql-server #安装mysql服务 apt-get install mysql-client #安装mysql客户端 sudo apt-get install libmysqlclient-dev #安装相关依赖环境
注意:安装过程中会提示设置密码什么的,不要忘了设置。
安装完成之后可以使用如下命令来检查是否安装成功。
sudo netstat -tap | grep mysql
通过上述命令检查之后,如果看到有MySQL的socket处于listen 状态则表示安装成功。
Hive需要数据库来存储metastore的内容,因此我们需要配置一下MySQL数据库。
- 下载
mysql驱动;
我已经帮你下载好放在/opt目录下,进入该目录并进行以下操作:
-
tar -zxvf mysql-connector-java-5.1.45.tar.gz cd mysql-connector-java-5.1.45 cp mysql-connector-java-5.1.45-bin.jar /opt/hive/lib/
接下来介绍MySQL为Hive做的设置。
- 使用
root用户登录MySQL数据库;
mysql -uroot -p123123 -h127.0.0.1
-
创建数据库实例
hiveDB;create database hiveDB;
-
创建用户
bee,密码为123123;create user 'bee'@'%' identified by '123123';
-
授权用户
bee拥有数据库实例hiveDB的所有权限;
grant all privileges on hiveDB.* to 'bee'@'%' identified by '123123';
- 刷新系统权限表。
flush privileges;
Hive 的配置
在/opt/hive/conf目录下,修改hive-site.xml和hive-env.sh两个文件。
hive-site.xml
hive-site.xml保存Hive运行时所需要的相关配置信息。
- 如果目录下没有该文件,我们直接创建一个:
vi hive-site.xml,将以下内容复制到其中(按i进入编辑模式后再进行粘贴)。
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <!-- WARNING!!! This file is auto generated for documentation purposes ONLY! --> <!-- WARNING!!! Any changes you make to this file will be ignored by Hive. --> <!-- WARNING!!! You must make your changes in hive-site.xml instead. --> <!-- Hive Execution Parameters --> <property> <name>hive.metastore.warehouse.dir</name> <value>/opt/hive/warehouse</value> </property> <property> <name>hive.exec.scratchdir</name> <value>/opt/hive/tmp</value> </property> <property> <name>hive.querylog.location</name> <value>/opt/hive/logs</value> </property> <property> <name>hive.server2.thrift.port</name> <value>10000</value> </property> <property> <name>hive.server2.thrift.bind.host</name> <value>localhost</value> </property> <property> <name>hive.server2.enable.doAs</name> <value>true</value> </property><property> <name>hive.session.id</name> <value>false</value> </property> <property> <name>hive.session.silent</name> <value>false</value> </property><property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hiveDB?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>bee</value> <!-- 这里是之前设置的数据库 --> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <!-- 这里是数据库密码 --> <value>123123</value> </property> </configuration>
完成后,在命令行模式(按 Esc),输入:wq!保存退出。
hive-env.sh
由于Hive是一个基于Hadoop分布式文件系统的数据仓库架构,主要运行在 Hadoop分布式环境下,因此,需要在文件hive-env.sh中指定Hadoop相关配置文件的路径,用于Hive访问HDFS(读取fs.defaultFS属性值)和 MapReduce(读取mapreduce.jobhistory.address属性值)等Hadoop 相关组件。
- 如果目录下没有该文件,我们就以模板复制一个
cp hive-env.sh.template hive-env.sh。vi hive-env.sh打开文件,在文件末尾添加变量指向 Hadoop 的安装路径:HADOOP_HOME=/usr/local/hadoop #在本地环境安装,要根据自己hadoop的路径来确定
Hive配置完成。 第一次启动Hive前还需要执行初始化命令: schematool -dbType mysql -initSchema。start-dfs.sh
相关文章:
Hive安装与配置
你需要掌握: 1.Hive的基本安装; 2.Mysql的安装与设置; 3.Hive 的配置。 注意:Hive的安装与配置建立在Hadoop已安装配置好的情况下。 hadopp安装与配置 Hive 的基本安装 从 官网 下载Hive二进制包,下载好放在/op…...
vuejs: 解决浏览器切换页面后setInterval计时器停止执行的问题
setInterval定时器是基于当前页面的,如果切换到其他页面,定时器会被暂停。这是浏览器的一种优化措施,以减少不必要的性能消耗。 如果需要在切换页面后继续执行定时器,可以使用Web Worker,它是在后台运行的程序…...
基于Web邮箱的邮件系统
题目: 基于web的邮件收发系统设计与实现 摘 要 计算机的应用已经越来越广泛,它从产生到完善已经差不多有50年左右的历史,更新换代速度非常快,在人们生活、工作中都发挥了不可替代的作用,几乎所有行业都离不开它,已经成…...
【Java学习笔记】75 - 算法优化入门 - 马踏棋盘问题
一、意义 1.算法是程序的灵魂,为什么有些程序可以在海量数据计算时,依然保持高速计算? 2.拿老韩实际工作经历来说,在Unix下开发服务器程序,功能是要支持上千万人同时在线,在上线前, 做内测,一…...
第二十章 多线程
20.2创建线程 20.2.1继承Thread类 Thread类是Java.lang包中的一个类,从这个类中实例化的对象代表线程,程序员启动一个新线程需要建议Thread实例。 public class ThreadTest extedns Thread{} run方法格式: public void run(){} 20.1让线程循…...
vue2使用npm依赖包导出xlsx文件
1.下载依赖npm i xlsx 2.在根目录utils新建mergeXlxs.js /****/ import { utils, writeFile } from "xlsx";export default function mergeHeader(headers, data, datamerges, defaultTitle) {const ws utils.book_new();utils.sheet_add_aoa(ws, headers);//这里…...
java--多态
1.什么是多态 多态是在继承/实现的情况下的一种现象,表现为:对象多态、行为多态。 2.多态的具体代码体现 编译看左边,运行看右边 3.多态的前提 有继承/实现关系;存在父类引用子类对象;存在方法重写 4.多态的一个注…...
知识图谱06——将pdf中的表格(文字形式)保存至csv中
使用ubuntu22.04,anaconda 由于装环境装了一阵子,不确定装了哪些包了 可能的环境安装 conda install -c conda-forge pymupdf conda install -c conda-forge camelot-py conda install pandas #或者 pip install PyMuPDF pip install camelot-py[all] …...
一文教你使用Swagger---适合新手小白(结合实战)
1.什么是Swagger Swagger----在线自动生成接口文档,是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,可用于接口的文档在线自动生成以及功能测试。 2.Swagger与OpenAPI OpenAPI规范OpenAPI Specification以前叫…...
VC++调试QT源码
环境:vs2017 qt 5.14.2 1:首先我们需要选择我们的源码路径 右键解决方案-》属性-》通用属性-》调试源文件-》在窗口内添加QT下载时的源码**.src文件夹**,这里最好把源码 D:\software\QT\path\5.14.2\Src 源文件里面的Src文件做一个备份出来…...
058-第三代软件开发-文件Model
第三代软件开发-文件Model 文章目录 第三代软件开发-文件Model项目介绍文件Model 关键字: Qt、 Qml、 关键字3、 关键字4、 关键字5 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object Language)…...
【领域驱动设计 学习目标及大纲】从CRUD到架构设计
从2018年至今,已工作了5年有余,回望这5年的工作历程,虽然一直在学习、一直在积累,但其实都在术的层面上停留,也就是具体的技术点。这5年多的时间里其实也不是没有窥道的想法: 一次是2018年刚工作的时候&am…...
asla四大开源组件应用示例(alsa-lib、alsa-utils、alsa-tools、alsa-plugins)
文章目录 alsa设备文件/dev/snd//sys/class/sound/proc/asoundalsa-lib示例1alsa-utilsalsa-toolsalsa-plugins参考alsa设备文件 /dev/snd/ alsa设备文件目录位于,/dev/snd,如下所示 root@xboard:~#ls /dev/snd -l total 0 drwxr-xr-x 2 root root 60 Nov 6 2023 …...
文档理解的新时代:LayOutLM模型的全方位解读
一、引言 在现代文档处理和信息提取领域,机器学习模型的作用日益凸显。特别是在自然语言处理(NLP)技术快速发展的背景下,如何让机器更加精准地理解和处理复杂文档成为了一个挑战。文档不仅包含文本信息,还包括布局、图…...
【二叉树】Leetcode 637. 二叉树的层平均值
637.二叉树的层平均值 解题思路 根据层序遍历的模板进行修改;主要的不同是,不需要输出每一层所有节点值,只需要输出平均值,只需要定义一个double双精度浮点数储存每一层数的总和,输出时将总和除以层节点总数即为层平均…...
设计模式-15-Jdk源码中的设计模式
之前我们学习了一些设计模式,今天我们剖析Java JDK 源码中用到的几种常见的设计模式。 1-jdk之工厂模式 在前面讲到工厂模式的时候,大部分工厂类都是以Factory作为后缀来命名,并且工厂类主要负责创建对象这样一件事情。但在实际的项目开发中…...
Vue框架学习笔记——事件scroll和wheel的区别
文章目录 前文提要滚动条滚动事件 scroll鼠标滚动事件 wheel二者不同点 前文提要 本人仅做个人学习记录,如有错误,请多包涵 滚动条滚动事件 scroll scroll事件绑定html页面中的指定滚动条,无论你拖拽滚动条,选中滚动条之后按键盘…...
【LeetCode】每日一题 2023_11_29 无限集中的最小数字(哈希/堆)
文章目录 刷题前唠嗑题目:无限集中的最小数字题目描述代码与解题思路偷看大佬题解 结语 刷题前唠嗑 LeetCode?启动!!! 今天的题目也比较的简单,因为数据量不大,所以什么做法都能过的去 题目&a…...
C/C++ 常用的四种查找算法
在计算机科学中,搜索算法是一种用于在数据集合中查找特定元素的算法。C语言作为一种强大的编程语言,提供了多种搜索算法的实现方式。本文将介绍C语言中的四种常见搜索算法其中包括(线性查找,二分法查找,树结构查找&…...
Linux | Ubuntu设置 netstat(网络状态)
netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。 1.netstat的安装 搜…...
Kandinsky-5.0-I2V-Lite-5s惊艳效果展示:古风人物图→衣袖飘动+发带飞扬动态视频
Kandinsky-5.0-I2V-Lite-5s惊艳效果展示:古风人物图→衣袖飘动发带飞扬动态视频 1. 模型效果震撼开场 想象一下,你有一张精美的古风人物插画,画中女子衣袂飘飘、发带轻扬。现在,只需一个简单的操作,就能让这幅静态画…...
RexUniNLU教育场景实战:学生问答意图识别+知识点槽位定位效果展示
RexUniNLU教育场景实战:学生问答意图识别知识点槽位定位效果展示 1. 引言:当AI老师遇上“十万个为什么” 想象一下这个场景:一个学生正在使用在线学习平台,他输入了一个问题:“老师,为什么三角形的内角和…...
OpenClaw+千问3.5-9B电商运营:自动生成商品详情与回复咨询
OpenClaw千问3.5-9B电商运营:自动生成商品详情与回复咨询 1. 为什么选择OpenClaw千问3.5-9B做电商自动化 去年双十一期间,我负责运营的个人店铺单日咨询量突破300条,手忙脚乱到凌晨三点还在回复客户问题。正是这段经历让我开始寻找自动化解…...
干货 | SpringBoot 缓存实战:击穿、穿透、雪崩 通俗解决方案(附可落地代码)
一、前言做 Java 后端开发,只要用了 Redis 缓存,缓存击穿、缓存穿透、缓存雪崩这三个坑绕不开。面试必问、线上必踩。本文不讲晦涩底层源码,用大白话讲原理 SpringBoot 可直接复制的实战代码,新手能看懂,项目能直接上…...
MAX9814麦克风音量LED指示器嵌入式固件库
1. 项目概述MAX9814_Electret_Microphone_LED_Volume_Indicator是一个面向嵌入式音频前端采集与可视化反馈的轻量级固件库,专为 Adafruit MAX9814 电容式驻极体麦克风放大模块设计。该模块基于 Maxim(现为 Analog Devices)推出的低噪声、高增…...
单片机驱动MOS管的原理与实战技巧
1. 单片机直接驱动MOS管的原理与风险MOS管作为现代电子设计中最常用的功率开关器件,其控制方式看似简单却暗藏玄机。作为一名经历过多次"炸管"教训的硬件工程师,我想分享一些关于单片机直接驱动MOS管的实战经验。MOS管分为NMOS和PMOS两种类型&…...
从HCCDA题库看实战:GaussDB开发者必须掌握的10个核心操作(附实验截图指南)
从HCCDA题库看实战:GaussDB开发者必须掌握的10个核心操作(附实验截图指南) 在数据库技术的世界里,认证考试往往被视为理论知识的试金石,但真正考验开发者能力的,是如何将这些理论转化为实际生产力。GaussDB…...
文件夹的修改日期可以改吗?分享你三个修改方法
在电脑文件管理中,系统不支持直接修改文件夹的「修改时间」,但日常整理文件、统一项目时间戳、还原备份文件夹时间、办公归档时,经常需要自定义修改这个属性。本文给大家整理了3 种实用方法:第一种是汇帮批量重命名工具࿰…...
Python NumPy 使用指南:科学计算的基石
Python NumPy 使用指南:科学计算的基石作者:书到用时方恨少! 发布日期:2026年4月3日 阅读时长:约22分钟📌 前言 在 Python 数据科学和数值计算的生态系统中,NumPy(Numerical Python&…...
臭氧污染成因难辨?EKMA曲线+OZIPR模型实战,手把手教你锁定O₃关键前体物!
在大气臭氧(O₃)污染已成为制约我国环境空气质量改善的核心瓶颈的当下,精准识别O₃生成的关键前体物(NOₓ与VOCs),是制定科学减排策略、破解“臭氧污染成因复杂、控制因子难辨”困境的核心前提。EKMA曲线作…...
