Hive环境搭建

1 安装Hive

        下载文件

# wget -P /opt/ https://mirrors.huaweicloud.com/apache/hive/hive-2.3.8/apache-hive-2.3.8-bin.tar.gz

        解压缩

# tar -zxvf /opt/apache-hive-2.3.8-bin.tar.gz -C /opt/

        修改hive文件夹名字

# mv /opt/apache-hive-2.3.8-bin /opt/hive

        配置环境变量

# vim /etc/profile

        使环境变量立即生效

# source /etc/profile

2 配置Hive

        1.配置hive-env.sh文件

        复制模板

# cd /opt/hive/conf

# cp hive-env.sh.template hive-env.sh

        编辑文件

# vim /opt/hive/conf/hive-env.sh

        在首行添加如下内容

        2.配置hive-site.xml文件

        正常情况下,应该通过hive-default.xml.template模板文件生成hive-site.xml文件,但是模板文件内容过多,修改较为复杂,因此,可以直接通过命令创建一个空白的hive-site.xml文件,添加需要的配置内容。

        创建空白的hive-site.xml文件

# vim /opt/hive/conf/hive-site.xml

        直接输入”:set paste”,可以切换为粘贴模式,再按i进入编辑模式,然后单击右键可以把需要的内容粘贴到hive-site.xml文件中,需要特别注意:第一行的内容必须是“<?xml version="1.0"...”,并且前面不能有空行或空格:

        需要粘贴的内容

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://master: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>root</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>root</value></property><property><name>hive.metastore.warehouse.dir</name><value>hdfs://master:8020/hive/warehouse</value></property><property><name>hive.exec.local.scratchdir</name><value>/opt/hive/exec</value></property><property><name>hive.downloaded.resources.dir</name><value>/hive/downloadedsource</value></property><property><name>hive.querylog.location</name><value>/hive/logs</value></property> 
</configuration>

        3.配置hive的日志目录

        设置/opt/hive/log目录为hive的日志保存目录

        拷贝文件

# cp /opt/hive/conf/hive-log4j2.properties.template

        编辑文件

# vim /opt/hive/conf/hive-log4j2.properties

        4.拷贝MySQL的jar包到hive的lib目录下

        采用XFTP上传jar到 /opt/hive/lib目录下

        5.解决SLF4J文件的重复问题

        Hive和Hadoop都使用了SLF4J的jar包,但是版本不同,会造成冲突,可以直接删除hive中的jar包

# rm -f /opt/hive/lib/log4j-slf4j-impl-2.6.2.jar

        6.配置MariaDB

        进入数据库

# mysql -u root -p

创建数据库

create database hive;

配置权限

grant all on hive.* to root@’master’ identified by ‘hivepwd’; -- 此处的单引号需要修改

使配置生效

flush privileges;

退出MariaDB

exit

        7.初始化hive的元数据库

在第一次使用hive之前,需要使用如下命令初始化hive的元数据库,该命令只能执行一次

schematool -dbType mysql -initSchema

3 使用Hive

        可以使用命令hive启动hive,注意,Hive启动时会直接访问HDFS,Hive的一些操作会继续MapReduce实现,所以需要保证HDFS和yarn都处于正常的启动状态。

# hive

        查询当前所有数据库

show databases;

        测试Hive

create database testdb;

use testdb;

create table student(id int, name string);

insert into student values(1, ‘tom’);

select * from student;

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

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

相关文章

torch Embedding 学习笔记

文本向量化&#xff08;Text Embedding&#xff09;&#xff1a;将文本数据&#xff08;词、句子、文档&#xff09;表示成向量的方法。 词向量化将词转为二进制或高维实数向量&#xff0c;句子和文档向量化则将句子或文档转为数值向量&#xff0c;通过平均、神经网络或主题模…

帧动画播放出现oom异常分析及解决

问题描述 需要播放序列帧&#xff0c;帧数特别多的时候会oom 问题分析 源代码每一帧都创建一次bitmap&#xff0c;极度消耗内存 bitmap.recycle并不会立刻回收内存&#xff0c;内存还是会很紧张 问题解决 利用inbitmap&#xff0c;每一帧复用同一片内存区域 //设置Bitmap…

【大模型部署】在C# Winform中使用文心一言ERNIE-3.5 4K 聊天模型

【大模型部署】在C# Winform中使用文心一言ERNIE-3.5 4K 聊天模型 前言 今天来写一个简单的ernie-c#的例子&#xff0c;主要参考了百度智能云的例子&#xff0c;然后自己改了改&#xff0c;学习了ERNIE模型的鉴权方式&#xff0c;数据流的格式和简单的数据解析&#xff0c;实…

软件安装:Linux安装Nginx

软件安装&#xff1a;Linux如何安装软件&#xff0c;程序。 源码安装 类似于.exe 源码包就是一堆源代码程序组成的。 linux tar.gz 这个就是源码包 源码包--------二进制包&#xff0c;源码包里面的代码经过编译之后形成的包。 优点&#xff1a;1、开源&#xff0c;可以二次…

面试八股之MySQL篇1——慢查询定位篇

&#x1f308;hello&#xff0c;你好鸭&#xff0c;我是Ethan&#xff0c;一名不断学习的码农&#xff0c;很高兴你能来阅读。 ✔️目前博客主要更新Java系列、项目案例、计算机必学四件套等。 &#x1f3c3;人生之义&#xff0c;在于追求&#xff0c;不在成败&#xff0c;勤通…

JavaScript 数组方法总结

JavaScript 数组方法总结 创建数组访问和修改数组&#xff08;长度 &#xff06; 元素&#xff09;添加和删除元素数组遍历元素查找过滤和映射归并和缩减数组的连接数组的扁平化数组的排序数组的反转数组的复制数组的测试数组的填充 创建数组 Array.of(...elements): 创建一个…

Singer模型与CT模型状态转移矩阵的求解

Singer模型与CT模型状态转移矩阵的求解 文章目录 Singer模型与CT模型状态转移矩阵的求解前言状态方程矩阵指数函数泰勒展开拉普拉斯变换 Singer模型CT模型 前言 回想起来&#xff0c;第一次接触Singer模型与CT模型时的状态转移矩阵时&#xff0c;对求解过程一知半解。现在&…

linux 上除了shell、python脚本以外,还有什么脚本语言用得比较多?

在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「 Linux的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;说到在 Linux下的编程&#xf…

柯桥成人商务英语“​cold”是“冷”,“shoulder”是“肩膀”,​cold shoulder可不是冷肩膀!

英文中有很多俚语&#xff08;idioms&#xff09;都与身体部位有关&#xff0c;非常有趣。 今天&#xff0c;英语君就为大家介绍一些和身体部位有关的俚语&#xff0c;一起来看看吧&#xff01; cold shoulder “cold shoulder”不能用字面意思理解为“冷肩膀”&#xff0c;我们…

学习毛概思想(自用)

一、单项选择题 毛泽东思想的主要创立者是&#xff08; A &#xff09; A、毛泽东 B、刘少奇 C、周恩来 D、朱德中国共产党内第一个提出“毛泽东思想”科学概念的是&#xff08; D  &#xff09;    A、周恩来   B、刘少奇   C、朱德…

CommonJS 和 ESM 在模块加载和处理依赖关系的方式上的不同点理解

模块加载&#xff1a; CommonJS&#xff1a;当执行到 require() 函数时&#xff0c;Node.js 会同步地加载模块文件&#xff0c;即立即读取模块文件并执行其中的代码&#xff0c;然后返回模块的导出值。这就意味着&#xff0c;直到运行时我们才知道具体导入了哪些模块&#xff0…

智慧校园学工管理系统的部署

学工体系思政服务该怎么规划建造&#xff1f;思政作为高校育人的中心使命&#xff0c;在做到让学生健康高兴生长的一起&#xff0c;也应满意学生生长成才的各类需求。使用技术为学生供给优质的信息化服务&#xff0c;是其间的有效途径。大数据让个性化教育成为可能&#xff0c;…

【题解】AB33 相差不超过k的最多数(排序 + 滑动窗口)

https://www.nowcoder.com/practice/562630ca90ac40ce89443c91060574c6?tpId308&tqId40490&ru/exam/oj 排序 滑动窗口 #include <iostream> #include <vector> #include <algorithm> using namespace std;int main() {int n, k;cin >> n &…

css中弹性布局使用方法

最近写企业家用到许多弹性&#xff0c;感觉到弹性的重要性&#xff0c;今天给大家总结一下 弹性布局&#xff08;Flexbox&#xff09;是一种在 CSS 中用来实现灵活的布局方式&#xff0c;它能够方便地调整容器中子元素的尺寸、顺序和对齐方式。以下是一些常见的弹性布局属性及…

【探索数据结构】线性表之顺序表

&#x1f389;&#x1f389;&#x1f389;欢迎莅临我的博客空间&#xff0c;我是池央&#xff0c;一个对C和数据结构怀有无限热忱的探索者。&#x1f64c; &#x1f338;&#x1f338;&#x1f338;这里是我分享C/C编程、数据结构应用的乐园✨ &#x1f388;&#x1f388;&…

Vue3按顺序调用新增和查询接口

Vue3按顺序调用新增和查询接口 一、前言1、代码 一、前言 如果你想将两个调用接口的操作封装在不同的方法中&#xff0c;你可以考虑将这两个方法分别定义为异步函数&#xff0c;并在需要时依次调用它们。以下是一个示例代码&#xff1a; 1、代码 <template><div>…

丰田精益生产的模板

丰田精益生产&#xff0c;也被称为丰田生产方式&#xff08;Toyota Production System, TPS&#xff09;&#xff0c;是一套完整的生产和管理系统&#xff0c;其核心目标是最大化效率、消除浪费&#xff0c;并通过持续改进来提升产品质量。 学习优秀企业 学习福特 丰田精益生产…

C语言之函数指针(持续更新)

C语言精髓是指针&#xff0c;指针知识深似海&#xff0c;遇到一些学习一些~ 文章目录 1. typedef 定义函数指针类型2. void* 空指针的解引用 1. typedef 定义函数指针类型 函数参数化是指通过函数指针将函数的某些行为参数化。这样&#xff0c;我们可以在调用函数时动态地指定…

【每日刷题】Day48

【每日刷题】Day48 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 872. 叶子相似的树 - 力扣&#xff08;LeetCode&#xff09; 2. 114. 二叉树展开为链表 - 力扣&…