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

简述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&amp;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的三种部署模式&#xff0c;主要按Metastore 的运行模式进行区分。 在安装Hive之前&#xff0c;要求先预装JDK 8、Hadoop、MySQL &#xff1b; 1.下载hive&#xff0c;并解压缩到用户主目录下 tar -xzvf apache-hive-2.3.6-bin.t…...

小米AI音箱联网升级折腾记录(解决配网失败+升级失败等问题)

小米AI音箱&#xff08;一代&#xff09;联网升级折腾记录 我折腾了半天终于勉强能进入下载升级包这步&#xff0c;算是成功一半吧… 总结就是&#xff0c;网络信号一定要好&#xff0c;需要不停换网找到兼容的网&#xff0c;还需要仔细配置DNS让音响连的上api.mina.mi.com 推荐…...

tensorRT安装

官方指导文档&#xff1a;Installation Guide :: NVIDIA Deep Learning TensorRT Documentation 适配很重要&#xff01;&#xff01;&#xff01;&#xff01; 需要cuda, cuDNN, tensorRT三者匹配。我的cuda11.3 所以对应的cuDNN和tensorRT下载的是如下版本&#xff1a; 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 多领域统一建模仿真语言&#xff0c;特此做学习入门介绍&#xff0c;希望可以帮助需要的小伙伴。 文章目录 1.为什么要学习Modelica语言一、背景二、系统建模与仿真2.1 系统仿真与系统模型2.2 仿真价值与可靠性 三、物理建模…...

opencv 进阶20-随机森林示例

OpenCV中的随机森林是一种强大的机器学习算法&#xff0c;旨在解决分类和回归问题。随机森林使用多个决策树来进行预测&#xff0c;每个决策树都是由随机选择的样本和特征组成的。在分类问题中&#xff0c;随机森林通过投票来确定最终的类别&#xff1b;在回归问题中&#xff0…...

Spring Boot进阶(58):集成PostgreSQL数据库及实战使用 | 万字长文,超级详细

1. 前言&#x1f525; PostgreSQL是一种广泛使用的开源关系型数据库&#xff0c;具有可靠性高、性能优异、拥有丰富的数据类型和扩展等优点&#xff0c;越来越多的企业和开发者开始使用它来存储和管理数据。而Spring Boot是一种快速开发的框架&#xff0c;可以简化开发过程并提…...

Java | 使用ServerSocket查找TCP可用端口

关注&#xff1a;CodingTechWork 引言 在项目开发中&#xff0c;有一个程序是专门给服务下发tcp端口占用的&#xff0c;但是tcp端口有时候会被其他服务给占用&#xff0c;此时端口就会冲突。本文提供一个工具类进行端口占用判断并返回可用端口。 代码 工具类 Slf4j public …...

【深入浅出C#】章节 9: C#高级主题:LINQ查询和表达式

C#高级主题涉及到更复杂、更灵活的编程概念和技术&#xff0c;能够让开发者更好地应对现代软件开发中的挑战。其中&#xff0c;LINQ查询和表达式是C#高级主题中的一项关键内容&#xff0c;具有以下重要性和优势&#xff1a; 数据处理和操作&#xff1a; 在现代软件中&#xff…...

【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 实例并执行诸如创建群组、项目、用户和上传代码等操作时&#xff0c;涉及到多个步骤&#xff0c;每个步骤都有特定的目的。让我们逐步解释每个步骤并说明其背后的原因&#xff1a; 安装必需的软件&#xff1a; yum install -y curl policycoreutils-python…...

CTFhub-sqli注入-报错注入

用到的函数 updatexml(1&#xff0c; &#xff0c;1) concat(0x7e, ,0x7e) group_concat(目标值) right(&#xff0c;32) 1 1 1 union select updatexml(1,concat(0x7e,database(),0x7e),1) 1 union select updatexml(1,concat(0x7e,(select(group_concat(ta…...

中国人民大学与加拿大女王大学金融硕士让金融界短暂迷茫的你发现新的方向

此刻金融职场的你已经站在了金融金字塔的哪个层级&#xff1f;是正在金融界不断的改变自己&#xff0c;迎接着一个又一个的挑战成为了职场精英&#xff1f;还是转行的想法不断敲打着你&#xff0c;但是又不知道自己该干什么&#xff0c;能干什么&#xff0c;发现自己的职业核心…...

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简介及安装

&#x1f353; 简介&#xff1a;java系列技术分享(&#x1f449;持续更新中…&#x1f525;) &#x1f353; 初衷:一起学习、一起进步、坚持不懈 &#x1f353; 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正&#x1f64f; &#x1f353; 希望这篇文章对你有所帮助,欢…...

Python 密码破解指南:10~14

协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【OpenDocCN 饱和式翻译计划】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 收割 SB 的人会被 SB 们封神&#xff0c;试图唤醒 SB 的人是 SB 眼中的 SB。——SB 第三定律 十、加…...

Spring、SpringMVC、SpringBoot三者的区别

目录 Spring是什么&#xff1f; SpringMVC是什么&#xff1f; SpringBoot是什么&#xff1f; Spring、SpringMVC、SpringBoot三者之间的关系 Spring是什么&#xff1f; Spring是一个开源的应用程序框架&#xff0c;它提供了一种简易的开发方式&#xff0c;通过依赖注入和面…...

探索PDF校对:为何这是现代数字文档的关键步骤

在今日的数字化浪潮中&#xff0c;文档的创建与分享从未如此频繁。尤其是PDF&#xff0c;作为一个普遍接受的标准文件格式&#xff0c;其在企业、学术和日常生活中的应用已经无处不在。但随之而来的挑战是如何确保文档的准确性和专业性。让我们深入探索PDF校对的重要性以及它为…...

linux 同时kill杀死多进程实践

使用场景 当程序中有使用到多进程且进程数较多的情况&#xff0c;如下图&#xff0c;且需要通过控制台杀死所有的 GSM_run.py 的进程时&#xff0c;利用 kill 命令一个一个的去结束进程是及其耗时且繁琐的&#xff0c;这时就需要我们的kill多进程的命令工作了。 批量 Kill 进程…...

全流程R语言Meta分析核心技术

Meta分析是针对某一科研问题&#xff0c;根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法&#xff0c;对来源不同的研究成果进行收集、合并及定量统计分析的方法&#xff0c;最早出现于“循证医学”&#xff0c;现已广泛应用于农林生态&#xff0c;资源环境等方面。…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

ubuntu22.04 安装docker 和docker-compose

首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...

鸿蒙HarmonyOS 5军旗小游戏实现指南

1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;采用DevEco Studio实现&#xff0c;包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...

深入理解 React 样式方案

React 的样式方案较多,在应用开发初期,开发者需要根据项目业务具体情况选择对应样式方案。React 样式方案主要有: 1. 内联样式 2. module css 3. css in js 4. tailwind css 这些方案中,均有各自的优势和缺点。 1. 方案优劣势 1. 内联样式: 简单直观,适合动态样式和…...

英国云服务器上安装宝塔面板(BT Panel)

在英国云服务器上安装宝塔面板&#xff08;BT Panel&#xff09; 是完全可行的&#xff0c;尤其适合需要远程管理Linux服务器、快速部署网站、数据库、FTP、SSL证书等服务的用户。宝塔面板以其可视化操作界面和强大的功能广受国内用户欢迎&#xff0c;虽然官方主要面向中国大陆…...