简述hive环境搭建
文章目录
- 部署
- 参数配置
- hive简单命令
部署
Hive的三种部署模式,主要按Metastore 的运行模式进行区分。

在安装Hive之前,要求先预装JDK 8、Hadoop、MySQL ;
1.下载hive,并解压缩到用户主目录下
tar -xzvf apache-hive-2.3.6-bin.tar.gz
改名:
mv apache-hive-2.3.6-bin hive
2.设置环境变量
sudo vim /etc/profile
在文件的最后,添加如下两句:
export HIVE_HOME=/usr/local/hive
export PATH=$HIVE_HOME/bin:$PATH然后执行:
source /etc/profile
3.配置
首先进入conf目录把所有带template后缀的文件移除后缀。
其中hive-default.xml移除后缀后,需要修改名为hive-site.xml。
1)hive部分
3.1 修改hive-env.sh
cp hive-env.sh.template hive-env.sh
因为Hive使用了 Hadoop, 需要在 hive-env.sh 文件中指定 Hadoop 安装路径:vim hive-env.sh在打开的配置文件中,添加如下几行:export JAVA_HOME=/usr/local/hadoop/jdk1.8.0_221
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.7
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HIVE_HOME=/usr/local/hive
export HIVE_CONF_DIR=$HIVE_HOME/conf
export HIVE_AUX_JARS_PATH=$HIVE_HOME/lib
3.2 修改hive-log4j2.properties,配置hive的log
cp hive-log4j2.properties.template hive-log4j2.propertiesvim conf/hive-log4j2.properties 配置下面的参数(如果没有logs目录,在hive根目录下创建它):property.hive.log.dir=/usr/local/hive/logs
3.3 在/usr/local/hive-2.1.5/下新建一个tmp目录,在tmp/下新建一个hive目录。
3.4 修改hive-site.xml
cp hive-default.xml.template hive-site.xml将hive-site.xml文件中:凡是${system:java.io.tmpdir}都替换成:/home/hduser/hive/tmp凡是${system:user.name}都替换为chun1 //你的主节点名
3.5 hive-site.xml 中配置 MySQL 数据库连接信息:
下面的配置信息只把需要改的写出来了,vim命令行模式下输入/+内容进行搜索对应的name,将value做修改
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><!-- 设置下面这些属性 --><property><name>hive.exec.scratchdir</name><value>/tmp/hive</value></property><property><name>hive.exec.local.scratchdir</name><value>/usr/local/hive/tmp/hive</value><description>Local scratch space for Hive jobs</description></property><property><name>hive.downloaded.resources.dir</name><value>/usr/local/hive/tmp/${hive.session.id}_resources</value><description>Temporary local directory for added resources in the remote file system.</description></property><property><name>hive.querylog.location</name><value>/usr/local/hive/tmp/hive</value><description>Location of Hive run time structured log file</description></property> <property><name>hive.aux.jars.path</name><value>/usr/local/hive/lib,/usr/local/hive/jdbc</value><description>These JAR file are available to all users for all jobs。</description></property><property><name>hive.metastore.warehouse.dir</name><value>hdfs://chun1:9000/user/hive/warehouse</value><description>相对于fs.default.name有关的目录,管理表存储的位置</description></property><!--配置Hive Metastore--><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://chun1:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8</value></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value> //有些高版本的驱动需要在改成com.mysql.cj.jdbc.Driver</property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>123</value> //这里是你mysql的密码</property> <!--配置hiveserver2主机(这里最好是配置ip地址,以便于从Windows连接)--><property><name>hive.server2.thrift.bind.host</name><value>chun1</value><description>Bind host on which to run the HiveServer2 Thrift service.</description></property><!--配置beeline远程客户端连接时的用户名和密码。这个用户名要在对应的hadoop的配置文件core-site.xml中也配置--> <property><name>hive.server2.thrift.client.user</name><value>chun1</value><description>Username to use against thrift client. default is 'anonymous'</description></property><property><name>hive.server2.thrift.client.password</name><value>123</value> //这里是你主机用户的密码<description>Password to use against thrift client. default is 'anonymous'</description></property> <!-- 配置下面两个属性,可以配置 hive 2.x web ui --><property><name>hive.server2.webui.host</name><value>chun1</value></property><!-- 重启HiveServer2,访问http://172.16.212.17:10002/ -->
</configuration>
3.6 配置Hive Metastore
默认情况下, Hive的元数据保存在了内嵌的derby数据库里, 但一般情况下生产环境使用MySQL来存放Hive元数据。
将 mysql-connector-java-x.x.x.jar 放入 $HIVE_HOME/lib 下。(mysql jdbc驱动程序)
这里注意mysql版本一定要比mysql-connector-java-x.x.x.jar版本低,要不然会报错,他是向下兼容!
2) mysql部分
3.7 使用的是Mysql进行安装与设置
大概思路
1)下载mysql驱动:进入/opt目录并解压mysql压缩包,将解压后的文件复制到hive/lib目录下。
2)使用root用户登录MySQL数据库;
3)创建数据库实例hiveDB;
4)创建用户bee,密码为123123;
5)授权用户bee拥有数据库实例hiveDB的所有权限;
6)刷新系统权限表。
安装MySQL的环境的原因
Hive中元数据默认存在自带的derby的数据库中,而derby单进程,单用户,仅用户个人测试,生产环境采用MySQL存储Hive元数据。
4.运行
shell client端运行,在进行hive交互之前,记得启动hdfs和yarn服务。
参数配置
- 查看参数配置信息
查看全部参数
hive> set;
查看某个参数
hive> set hive.exec.mode.local.auto;
hive.exec.mode.local.auto=false
参数配置的三种方式
1 )用户自定义配置文件(hive-site.xml)
默认配置文件
hive-default.xml
用户自定义配置文件
hive-site.xml
配置优先级
hive-site.xml > hive-default.xml
配置文件的设定对本机启动的所有Hive进程有效;
配置文件的设定对本机所有启动的Hive进程有效;
2)启动hive时指定参数(-hiveconf)
启动时指定参数
hive -hiveconf hive.exec.mode.local.auto=true在命令行检查参数是否生效
hive> set hive.exec.mode.local.auto;
hive.exec.mode.local.auto=true
注意:启动Hive时,可以在命令行添加 -hiveconf param=value 来设定参数,这些设定仅对本次启动有效;
3)hive命令行指定参数(set)
注意:可在 Hive 命令行中使用SET关键字设定参数,同样仅对本次启动有效;
hive> set hive.exec.mode.local.auto=false;
hive> set hive.exec.mode.local.auto;
hive.exec.mode.local.auto=false
优先级
set > -hiveconf > hive-site.xml > hive-default.xml(系统)
hive简单命令
1)hive -help
2)-e
不进入hive交互窗口,执行sql语句
hive -e "1 select * from users"
3)-f
执行脚本中sql语句
#创建文件hqlfile1.sql,内容:select * from users
#执行文件中的SQL语句
hive -f hqlfile1.sql
#执行文件中的SQL语句,将结果写入文件
hive -f hqlfile1.sql >> result1.log
4)退出Hive命令行
exit; 或者 quit;
参考:
1.Hive环境搭建(完整版)-配置
2.Hive环境搭建(保姆级教程)
3.Hive的安装、配置与Shell入门操作
相关文章:
简述hive环境搭建
文章目录 部署参数配置hive简单命令 部署 Hive的三种部署模式,主要按Metastore 的运行模式进行区分。 在安装Hive之前,要求先预装JDK 8、Hadoop、MySQL ; 1.下载hive,并解压缩到用户主目录下 tar -xzvf apache-hive-2.3.6-bin.t…...
小米AI音箱联网升级折腾记录(解决配网失败+升级失败等问题)
小米AI音箱(一代)联网升级折腾记录 我折腾了半天终于勉强能进入下载升级包这步,算是成功一半吧… 总结就是,网络信号一定要好,需要不停换网找到兼容的网,还需要仔细配置DNS让音响连的上api.mina.mi.com 推荐…...
tensorRT安装
官方指导文档:Installation Guide :: NVIDIA Deep Learning TensorRT Documentation 适配很重要!!!! 需要cuda, cuDNN, tensorRT三者匹配。我的cuda11.3 所以对应的cuDNN和tensorRT下载的是如下版本: cud…...
电脑重装+提升网速
https://www.douyin.com/user/self?modal_id7147216653720341767&showTabfavorite_collectionhttps://www.douyin.com/user/self?modal_id7147216653720341767&showTabfavorite_collection 零封有哈数的主页 - 抖音 (douyin.com)https://www.douyin.com/user/self?…...
Modelica由入门到精通—为什么要学习Modelica语言
1.为什么要学习Modelica语言 本人正在研究Modelica 多领域统一建模仿真语言,特此做学习入门介绍,希望可以帮助需要的小伙伴。 文章目录 1.为什么要学习Modelica语言一、背景二、系统建模与仿真2.1 系统仿真与系统模型2.2 仿真价值与可靠性 三、物理建模…...
opencv 进阶20-随机森林示例
OpenCV中的随机森林是一种强大的机器学习算法,旨在解决分类和回归问题。随机森林使用多个决策树来进行预测,每个决策树都是由随机选择的样本和特征组成的。在分类问题中,随机森林通过投票来确定最终的类别;在回归问题中࿰…...
Spring Boot进阶(58):集成PostgreSQL数据库及实战使用 | 万字长文,超级详细
1. 前言🔥 PostgreSQL是一种广泛使用的开源关系型数据库,具有可靠性高、性能优异、拥有丰富的数据类型和扩展等优点,越来越多的企业和开发者开始使用它来存储和管理数据。而Spring Boot是一种快速开发的框架,可以简化开发过程并提…...
Java | 使用ServerSocket查找TCP可用端口
关注:CodingTechWork 引言 在项目开发中,有一个程序是专门给服务下发tcp端口占用的,但是tcp端口有时候会被其他服务给占用,此时端口就会冲突。本文提供一个工具类进行端口占用判断并返回可用端口。 代码 工具类 Slf4j public …...
【深入浅出C#】章节 9: C#高级主题:LINQ查询和表达式
C#高级主题涉及到更复杂、更灵活的编程概念和技术,能够让开发者更好地应对现代软件开发中的挑战。其中,LINQ查询和表达式是C#高级主题中的一项关键内容,具有以下重要性和优势: 数据处理和操作: 在现代软件中ÿ…...
【Git】git clone --depth 1 浅克隆
问题 PycharmProjects git clone git Cloning into risk-package... remote: Counting objects: 576, done. error: pack-objects died of signal 947/574) error: git upload-pack: git-pack-objects died with error. fatal: git upload-pack: aborting due to possible r…...
搭建 Gitlab
当设置和配置 GitLab 实例并执行诸如创建群组、项目、用户和上传代码等操作时,涉及到多个步骤,每个步骤都有特定的目的。让我们逐步解释每个步骤并说明其背后的原因: 安装必需的软件: yum install -y curl policycoreutils-python…...
CTFhub-sqli注入-报错注入
用到的函数 updatexml(1, ,1) concat(0x7e, ,0x7e) group_concat(目标值) right(,32) 1 1 1 union select updatexml(1,concat(0x7e,database(),0x7e),1) 1 union select updatexml(1,concat(0x7e,(select(group_concat(ta…...
中国人民大学与加拿大女王大学金融硕士让金融界短暂迷茫的你发现新的方向
此刻金融职场的你已经站在了金融金字塔的哪个层级?是正在金融界不断的改变自己,迎接着一个又一个的挑战成为了职场精英?还是转行的想法不断敲打着你,但是又不知道自己该干什么,能干什么,发现自己的职业核心…...
PHPEXCEL 导出excel
$styleArray [alignment > [horizontal > Alignment::HORIZONTAL_CENTER,vertical > Alignment::VERTICAL_CENTER],];$border_style [borders > [allborders > [style > \PHPExcel_Style_Border::BORDER_THIN ,//细边框]]];$begin_date $request->beg…...
Elasticsearch简介及安装
🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…...
Python 密码破解指南:10~14
协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【OpenDocCN 饱和式翻译计划】,采用译后编辑(MTPE)流程来尽可能提升效率。 收割 SB 的人会被 SB 们封神,试图唤醒 SB 的人是 SB 眼中的 SB。——SB 第三定律 十、加…...
Spring、SpringMVC、SpringBoot三者的区别
目录 Spring是什么? SpringMVC是什么? SpringBoot是什么? Spring、SpringMVC、SpringBoot三者之间的关系 Spring是什么? Spring是一个开源的应用程序框架,它提供了一种简易的开发方式,通过依赖注入和面…...
探索PDF校对:为何这是现代数字文档的关键步骤
在今日的数字化浪潮中,文档的创建与分享从未如此频繁。尤其是PDF,作为一个普遍接受的标准文件格式,其在企业、学术和日常生活中的应用已经无处不在。但随之而来的挑战是如何确保文档的准确性和专业性。让我们深入探索PDF校对的重要性以及它为…...
linux 同时kill杀死多进程实践
使用场景 当程序中有使用到多进程且进程数较多的情况,如下图,且需要通过控制台杀死所有的 GSM_run.py 的进程时,利用 kill 命令一个一个的去结束进程是及其耗时且繁琐的,这时就需要我们的kill多进程的命令工作了。 批量 Kill 进程…...
全流程R语言Meta分析核心技术
Meta分析是针对某一科研问题,根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法,对来源不同的研究成果进行收集、合并及定量统计分析的方法,最早出现于“循证医学”,现已广泛应用于农林生态,资源环境等方面。…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
