当前位置: 首页 > news >正文

Hive安装与配置

你需要掌握:
1.Hive的基本安装; 2.Mysql的安装与设置; 3.Hive 的配置。

注意:Hive的安装与配置建立在Hadoop已安装配置好的情况下。

hadopp安装与配置

Hive 的基本安装

从  官网  下载Hive二进制包,下载好放在/opt目录下。

  • 进入/opt目录,解压apache-hive-3.1.0-bin.tar.gz到该目录下,并将解压的文件重命名为hive
  1. cd /opt
    tar -zxvf apache-hive-3.1.0-bin.tar.gz
    mv apache-hive-3.1.0-bin hive
  • 设置环境变量,编辑vi /etc/profile,在末尾添加以下两行代码;
  1. 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数据库,在本地没有安装可以采用以下命令进行安装:

  1. sudo apt-get install mysql-server #安装mysql服务
    apt-get install mysql-client #安装mysql客户端
    sudo apt-get install libmysqlclient-dev #安装相关依赖环境

注意:安装过程中会提示设置密码什么的,不要忘了设置。

安装完成之后可以使用如下命令来检查是否安装成功。

sudo netstat -tap | grep mysql

通过上述命令检查之后,如果看到有MySQLsocket处于listen 状态则表示安装成功。

Hive需要数据库来存储metastore的内容,因此我们需要配置一下MySQL数据库。

  • 下载mysql驱动;

我已经帮你下载好放在/opt目录下,进入该目录并进行以下操作:

  1. 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/

接下来介绍MySQLHive做的设置。

  • 使用root用户登录MySQL数据库;
  1. mysql -uroot -p123123 -h127.0.0.1
  • 创建数据库实例hiveDB

    1. create database hiveDB;
  • 创建用户bee,密码为123123

    1. create user 'bee'@'%' identified by '123123';
  • 授权用户bee拥有数据库实例hiveDB的所有权限;

  1. grant all privileges on hiveDB.* to 'bee'@'%' identified by '123123';
  • 刷新系统权限表。
  1. flush privileges;
Hive 的配置

/opt/hive/conf目录下,修改hive-site.xmlhive-env.sh两个文件。

hive-site.xml

hive-site.xml保存Hive运行时所需要的相关配置信息。

  • 如果目录下没有该文件,我们直接创建一个:vi hive-site.xml,将以下内容复制到其中(按i进入编辑模式后再进行粘贴)。
  1. <?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.shvi hive-env.sh打开文件,在文件末尾添加变量指向 Hadoop 的安装路径:
    1. HADOOP_HOME=/usr/local/hadoop #在本地环境安装,要根据自己hadoop的路径来确定
    至此Hive配置完成。 第一次启动Hive前还需要执行初始化命令:
  • schematool -dbType mysql -initSchema
  • start-dfs.sh

相关文章:

Hive安装与配置

你需要掌握&#xff1a; 1.Hive的基本安装&#xff1b; 2.Mysql的安装与设置&#xff1b; 3.Hive 的配置。 注意&#xff1a;Hive的安装与配置建立在Hadoop已安装配置好的情况下。 hadopp安装与配置 Hive 的基本安装 从 官网 下载Hive二进制包&#xff0c;下载好放在/op…...

vuejs: 解决浏览器切换页面后setInterval计时器停止执行的问题

setInterval定时器是基于当前页面的&#xff0c;如果切换到其他页面&#xff0c;定时器会被暂停。这是浏览器的一种优化措施&#xff0c;以减少不必要的性能消耗。 如果需要在切换页面后继续执行定时器&#xff0c;可以使用Web Worker&#xff0c;它是在后台运行的程序&#xf…...

基于Web邮箱的邮件系统

题目: 基于web的邮件收发系统设计与实现 摘 要 计算机的应用已经越来越广泛&#xff0c;它从产生到完善已经差不多有50年左右的历史&#xff0c;更新换代速度非常快&#xff0c;在人们生活、工作中都发挥了不可替代的作用&#xff0c;几乎所有行业都离不开它&#xff0c;已经成…...

【Java学习笔记】75 - 算法优化入门 - 马踏棋盘问题

一、意义 1.算法是程序的灵魂&#xff0c;为什么有些程序可以在海量数据计算时&#xff0c;依然保持高速计算? 2.拿老韩实际工作经历来说&#xff0c;在Unix下开发服务器程序&#xff0c;功能是要支持上千万人同时在线&#xff0c;在上线前&#xff0c; 做内测&#xff0c;一…...

第二十章 多线程

20.2创建线程 20.2.1继承Thread类 Thread类是Java.lang包中的一个类&#xff0c;从这个类中实例化的对象代表线程&#xff0c;程序员启动一个新线程需要建议Thread实例。 public class ThreadTest extedns Thread{} run方法格式&#xff1a; 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.什么是多态 多态是在继承/实现的情况下的一种现象&#xff0c;表现为&#xff1a;对象多态、行为多态。 2.多态的具体代码体现 编译看左边&#xff0c;运行看右边 3.多态的前提 有继承/实现关系&#xff1b;存在父类引用子类对象&#xff1b;存在方法重写 4.多态的一个注…...

知识图谱06——将pdf中的表格(文字形式)保存至csv中

使用ubuntu22.04&#xff0c;anaconda 由于装环境装了一阵子&#xff0c;不确定装了哪些包了 可能的环境安装 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----在线自动生成接口文档&#xff0c;是一个规范和完整的框架&#xff0c;用于生成、描述、调用和可视化RESTful风格的Web服务&#xff0c;可用于接口的文档在线自动生成以及功能测试。 2.Swagger与OpenAPI OpenAPI规范OpenAPI Specification以前叫…...

VC++调试QT源码

环境&#xff1a;vs2017 qt 5.14.2 1&#xff1a;首先我们需要选择我们的源码路径 右键解决方案-》属性-》通用属性-》调试源文件-》在窗口内添加QT下载时的源码**.src文件夹**&#xff0c;这里最好把源码 D:\software\QT\path\5.14.2\Src 源文件里面的Src文件做一个备份出来…...

058-第三代软件开发-文件Model

第三代软件开发-文件Model 文章目录 第三代软件开发-文件Model项目介绍文件Model 关键字&#xff1a; Qt、 Qml、 关键字3、 关键字4、 关键字5 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这个项目结合了 QML&#xff08;Qt Meta-Object Language&#xff09;…...

【领域驱动设计 学习目标及大纲】从CRUD到架构设计

从2018年至今&#xff0c;已工作了5年有余&#xff0c;回望这5年的工作历程&#xff0c;虽然一直在学习、一直在积累&#xff0c;但其实都在术的层面上停留&#xff0c;也就是具体的技术点。这5年多的时间里其实也不是没有窥道的想法&#xff1a; 一次是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模型的全方位解读

一、引言 在现代文档处理和信息提取领域&#xff0c;机器学习模型的作用日益凸显。特别是在自然语言处理&#xff08;NLP&#xff09;技术快速发展的背景下&#xff0c;如何让机器更加精准地理解和处理复杂文档成为了一个挑战。文档不仅包含文本信息&#xff0c;还包括布局、图…...

【二叉树】Leetcode 637. 二叉树的层平均值

637.二叉树的层平均值 解题思路 根据层序遍历的模板进行修改&#xff1b;主要的不同是&#xff0c;不需要输出每一层所有节点值&#xff0c;只需要输出平均值&#xff0c;只需要定义一个double双精度浮点数储存每一层数的总和&#xff0c;输出时将总和除以层节点总数即为层平均…...

设计模式-15-Jdk源码中的设计模式

之前我们学习了一些设计模式&#xff0c;今天我们剖析Java JDK 源码中用到的几种常见的设计模式。 1-jdk之工厂模式 在前面讲到工厂模式的时候&#xff0c;大部分工厂类都是以Factory作为后缀来命名&#xff0c;并且工厂类主要负责创建对象这样一件事情。但在实际的项目开发中…...

Vue框架学习笔记——事件scroll和wheel的区别

文章目录 前文提要滚动条滚动事件 scroll鼠标滚动事件 wheel二者不同点 前文提要 本人仅做个人学习记录&#xff0c;如有错误&#xff0c;请多包涵 滚动条滚动事件 scroll scroll事件绑定html页面中的指定滚动条&#xff0c;无论你拖拽滚动条&#xff0c;选中滚动条之后按键盘…...

【LeetCode】每日一题 2023_11_29 无限集中的最小数字(哈希/堆)

文章目录 刷题前唠嗑题目&#xff1a;无限集中的最小数字题目描述代码与解题思路偷看大佬题解 结语 刷题前唠嗑 LeetCode&#xff1f;启动&#xff01;&#xff01;&#xff01; 今天的题目也比较的简单&#xff0c;因为数据量不大&#xff0c;所以什么做法都能过的去 题目&a…...

C/C++ 常用的四种查找算法

在计算机科学中&#xff0c;搜索算法是一种用于在数据集合中查找特定元素的算法。C语言作为一种强大的编程语言&#xff0c;提供了多种搜索算法的实现方式。本文将介绍C语言中的四种常见搜索算法其中包括&#xff08;线性查找&#xff0c;二分法查找&#xff0c;树结构查找&…...

Linux | Ubuntu设置 netstat(网络状态)

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据&#xff0c;一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序&#xff0c;它能提供TCP连接&#xff0c;TCP和UDP监听&#xff0c;进程内存管理的相关报告。 1.netstat的安装 搜…...

智慧树自动刷课插件:3步安装指南,彻底解放学习时间

智慧树自动刷课插件&#xff1a;3步安装指南&#xff0c;彻底解放学习时间 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台重复性的视频学习任务而烦恼…...

Java YOLO推理精度漂移终极解决方案:从预处理到后处理的工业级优化指南

做Java+YOLO工业部署的朋友,相信都遇到过这个噩梦:Python端训练时mAP高达90%,导出ONNX模型到Java端一跑,精度直接掉到60%甚至更低,同一个目标在Python里置信度0.9,到Java里只有0.3,检测框要么飘到天边,要么同一个目标出好几个框。 我在汽车零部件质检项目上就踩过这个…...

状态机设计模式优雅的进行通信解包~

正文大家好&#xff0c;我是bug菌~在早年玩单片机的时候&#xff0c;最开始接触到的通信协议基本上都是串口通信协议了吧&#xff0c;那时候拿到一个通信需求无非想着怎么设计一个不错的通信协议&#xff0c;然后写出来一套惊艳的解析算法&#xff0c;在实践过程中你肯定遇到过…...

SSNet:基于Shamir秘密共享的高效安全神经网络推理框架

1. 项目概述&#xff1a;当神经网络推理遇上秘密共享在当今这个数据驱动决策的时代&#xff0c;机器学习即服务&#xff08;MLaaS&#xff09;正变得无处不在。无论是医疗影像分析、金融风险评估还是个性化内容推荐&#xff0c;用户都希望将数据提交给强大的云端模型并获得精准…...

如何快速获取全网无损音乐:洛雪音乐音源完整使用指南

如何快速获取全网无损音乐&#xff1a;洛雪音乐音源完整使用指南 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 你是否经常遇到这样的困境&#xff1a;深夜想听一首歌&#xff0c;却发现版权分散…...

MobX进阶教程:如何自定义observables和扩展MobX功能

MobX进阶教程&#xff1a;如何自定义observables和扩展MobX功能 【免费下载链接】MobX-Docs-CN MobX 中文文档 项目地址: https://gitcode.com/gh_mirrors/mo/MobX-Docs-CN MobX是一个强大的状态管理库&#xff0c;它让状态管理变得简单且可扩展。在掌握基础用法后&…...

别再死记公式了!用Python手把手复现西瓜书3.0α数据集的对率回归(附完整代码与可视化)

从西瓜数据集到决策边界&#xff1a;Python实战对率回归的数学之美机器学习初学者常陷入公式推导与代码落地的断层中——明明理解了教材中的数学原理&#xff0c;面对实际数据集时却无从下手。本文将以周志华《机器学习》中的西瓜数据集3.0α为蓝本&#xff0c;用Python完整演绎…...

Agent Harness 系列:为什么你的 Agent 演示很顺、上线就崩?

导读&#xff1a; 同样的模型&#xff0c;换一套外围基础设施&#xff0c;排名从第 30 开外直接冲到第 5——没有改动任何模型权重&#xff0c;没有换更贵的 API。这不是玄学&#xff0c;这是 Agent Harness 的威力。本文是三篇系列的第一篇&#xff0c;从"为什么需要 Har…...

【ChatGPT故事化表达黄金法则】:20年AI内容专家亲授3步叙事框架,让提示词转化率提升300%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ChatGPT故事化表达的底层认知革命 传统人机交互长期受限于指令式范式——用户需精确编码意图&#xff0c;系统则机械匹配关键词或规则。ChatGPT 的突破性不在于参数规模&#xff0c;而在于其将语言建模…...

DeepSeek总结的将 Rust Delta Kernel 集成到 ClickHouse

来源&#xff1a;https://clickhouse.com/blog/integrating-rust-delta-kernel 将 Rust Delta Kernel 集成到 ClickHouse 作者: Melvyn Peignon, Kseniia Sumarokova, Ral Marn 日期: 2026年5月22日 阅读时间: 24分钟 除非你过去几年一直呆在没有互联网的洞穴里&#xff0c;否则…...