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

Hive本地开发/学习环境配置

前提

hive依赖hadoop的相关组件,需要启动Hadoop的相关组件。

Hive 版本:3.1.3
Hadoop版本:3.3.4

hive-env.sh

export HADOOP_HOME=$HADOOP_HOME
export HIVE_CONF_DIR=/usr/local/Cellar/hive/3.1.3/libexec/conf
export HIVE_AUX_JARS_PATH=/usr/local/Cellar/hive/3.1.3/libexec/lib

hive-site.xml

<configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value><description>JDBC connect string for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value><description>Driver class name for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value><description>username to use against metastore database</description></property><property><name>javax.jdo.option.ConnectionPassword</name><value>root</value><description>password to use against metastore database</description></property><property><name>hive.cli.print.header</name><value>true</value></property><property><name>hive.cli.print.current.db</name><value>true</value></property><property><name>hive.metastore.schema.verification</name><value>false</value></property><!-- hiveserver2运行绑定的host --><property><name>hive.server2.thrift.bind.host</name><value>localhost</value></property><!-- 远程模式部署metastore 的地址 --><property><name>hive.metastore.uris</name><value>thrift://localhost:9083</value></property><!-- 配置hiveserver2服务启动问题(不配置,则hiveserver无法监听服务,会导致beeline客户端无法连接) --><property><name>hive.metastore.event.db.notification.api.auth</name><value>false</value></property>
</configuration>

hive初始化

需要先启动Hadoop的相关组件服务。
schematool -dbType mysql -initSchema --verbose

注意:一定要先-dbType mysql然后才-initSchema,否则会出现连接MySQL的错误,

Metastore connection URL:	 jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&useSSL=false
Metastore Connection Driver :	 com.mysql.jdbc.Driver
Metastore connection User:	 root
org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
Underlying cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException : Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
SQL Error code: 0
org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.at org.apache.hadoop.hive.metastore.tools.HiveSchemaHelper.getConnectionToMetastore(HiveSchemaHelper.java:94)at org.apache.hive.beeline.HiveSchemaTool.getConnectionToMetastore(HiveSchemaTool.java:169)at org.apache.hive.beeline.HiveSchemaTool.testConnectionToMetastore(HiveSchemaTool.java:475)at org.apache.hive.beeline.HiveSchemaTool.doInit(HiveSchemaTool.java:581)at org.apache.hive.beeline.HiveSchemaTool.doInit(HiveSchemaTool.java:567)at org.apache.hive.beeline.HiveSchemaTool.main(HiveSchemaTool.java:1517)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.hadoop.util.RunJar.run(RunJar.java:323)at org.apache.hadoop.util.RunJar.main(RunJar.java:236)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.lang.reflect.Constructor.newInstance(Constructor.java:423)at com.mysql.jdbc.Util.handleNewInstance(Util.java:403)at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990)at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:335)at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2187)at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2220)at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2015)at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:768)at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.lang.reflect.Constructor.newInstance(Constructor.java:423)at com.mysql.jdbc.Util.handleNewInstance(Util.java:403)at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:385)at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:323)at java.sql.DriverManager.getConnection(DriverManager.java:664)at java.sql.DriverManager.getConnection(DriverManager.java:247)at org.apache.hadoop.hive.metastore.tools.HiveSchemaHelper.getConnectionToMetastore(HiveSchemaHelper.java:88)... 11 more
Caused by: java.net.ConnectException: Connection refused (Connection refused)at java.net.PlainSocketImpl.socketConnect(Native Method)at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)at java.net.Socket.connect(Socket.java:606)at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:211)at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:299)... 26 more
*** schemaTool failed ***

metastore服务启动

进入hive的bin目录,执行命令hive --service metastore ,或者使用nohup命令进行后台启动,nohup hive --service metastore &,这样就启动了metastore服务,可以通过jps命令查看,是否存在RunJar的进程,存在则说明启动成功,再通过hive客户端连接即可。
hive metastore服务进程查看

hive客户端连接

hiveserver2服务启动

该服务依赖于metastore服务,所以,在启动hiveserver2之前,一定确保已经启动了metastore服务,这时,可以通过hive --service hiveserver2命令启动服务,当然同样可以通过nohup命令进行后台启动,nohup hive --service hiveserver2 &,启动后,通过jps命令查看服务进程,此时会多出一个RunJar的进程,即为hiverserver2的服务。
hiveserver2服务启动
hiveserver2服务进程

通过beeline客户端进行连接,此时还没有真正连接上。

beeline客户端

还需要在当前客户端窗口输入hiveserver2的连接信息,! connect jdbc:hive2://localhost:10000,hive2默认的端口为10000,此时,会提示让你输入用户名名,然后再输入密码。

Error:Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000/default:java.net.ConnectException refused

出现上述错误

需要在hive-site。添加如下配置

<property><name>hive.metastore.event.db.notification.api.auth</name><value>false</value>
</property> 

hive.metastore.event.db.notification.api.auth的含义

然后重新启动相关服务,再使用beeline客户端连接,出现了如下错误:

beeline> !connect jdbc:hive2://localhost:10000

Connecting to jdbc:hive2://localhost:10000

Enter username for jdbc:hive2://localhost:10000: yuxiao

Enter password for jdbc:hive2://localhost:10000:

23/05/01 18:14:01 [main]: WARN jdbc.HiveConnection: Failed to connect to localhost:10000

Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: yuxiao is not allowed to impersonate yuxiao (state=08S01,code=0)

这个问题是由于不允许你当前登录的用户访问hadoop,所以需要调整hadoop的core-site.xml的配置,添加相关proxuser的访问即可,

<property><name>hadoop.proxyuser.用户名.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.用户名.groups</name><value>*</value></property>

将配置文件的用户修改上hive不允许访问的用户名,配置文件修改后,重新启动hadoop的dfs服务,

再使用beeline客户端访问,用户名输入之前提示不允许访问的用户名,密码直接回车即可,这样就可以正常访问hive了,如下图所示:

beeline客户端正常连接

查看数据库:

执行数据库相关命令

hive webui配置

hiveserver2服务具有可视化界面,查看相关信息,需要在hive-site.xml文件配置webui,如下所示:

<property><name>hive.server2.webui.host</name><value>127.0.0.1</value>
</property>
<property><name>hive.server2.webui.port</name><value>10002</value>
</property>

在启动hiveserver2服务后,访问10002端口查看webui,如下:

hiveserver2 webui

相关文章:

Hive本地开发/学习环境配置

前提 hive依赖hadoop的相关组件&#xff0c;需要启动Hadoop的相关组件。 Hive 版本&#xff1a;3.1.3 Hadoop版本&#xff1a;3.3.4 hive-env.sh export HADOOP_HOME$HADOOP_HOME export HIVE_CONF_DIR/usr/local/Cellar/hive/3.1.3/libexec/conf export HIVE_AUX_JARS_PATH/…...

《基于EPNCC的脉搏信号特征识别与分类研究》阅读笔记

目录 一、论文摘要 二、论文十问 三、论文亮点与不足之处 四、与其他研究的比较 五、实际应用与影响 六、个人思考与启示 参考文献 一、论文摘要 为了快速获取脉搏信号的完整表征信息并验证脉搏信号在相关疾病临床诊断中的敏感性和有效性。在本文中&#xff0c;提出了一…...

Linux下解压和压缩命令大全(详解+案例)

linux常用的解压和压缩命令如下&#xff1a; .zip或.zipx 压缩文件.zip、.zipx&#xff1a;都可以使用zip命令。例如&#xff0c;要将目录/home/user1/mydata压缩成一个文件mydata.zip&#xff0c;可以使用以下命令&#xff1a; zip -r mydata.zip /home/user1/mydata/要解压…...

Linux的常用指令

重启 init 6或reboot 关机 init 0 或halt如果没有执行关机命令&#xff0c;强制断电或关闭本地虚拟机的窗口&#xff0c;会导致Linux操作系统文件的损坏&#xff0c;严重的可能导致系统无法正常启动。 清屏 clear 查看服务器的ip地址 ip addr 时间操作 普通用户可以查看时间&am…...

第 5 章 HBase 优化

5.1 RowKey 设计 一条数据的唯一标识就是 rowkey&#xff0c;那么这条数据存储于哪个分区&#xff0c;取决于 rowkey 处于 哪个一个预分区的区间内&#xff0c;设计 rowkey的主要目的 &#xff0c;就是让数据均匀的分布于所有的 region 中&#xff0c;在一定程度上防止数据倾斜…...

台北房价预测

目录 1.数据理解1.1分析数据集的基本结构&#xff0c;查询并输出数据的前 10 行和 后 10 行1.2识别并输出所有变量 2.数据清洗2.1输出所有变量折线图2.2缺失值处理2.3异常值处理 3.数据分析3.1寻找相关性3.2划分数据集 4.数据整理4.1数据标准化 5.回归预测分析5.1线性回归&…...

9:00进去,9:05就出来了,这问的也太···

从外包出来&#xff0c;没想到死在另一家厂子了。 自从加入这家公司&#xff0c;每天都在加班&#xff0c;钱倒是给的不少&#xff0c;所以也就忍了。没想到8月一纸通知&#xff0c;所有人不许加班&#xff0c;薪资直降30%&#xff0c;顿时有吃不起饭的赶脚。 好在有个兄弟内推…...

debootstrap 构建 RISC-V 64 Ubuntu 根文件系统

debootstrap 构建 Ubuntu RISC-V Linux 根文件系统 flyfish 主机信息 命令 lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal制作的根文件系统为 RISC-V 64 Ubuntu 22.04 LTS 1 主机…...

腾讯云轻量应用服务器(Lighthouse)怎么样?

轻量应用服务器是否好用&#xff0c;小白这么多年的经验来看&#xff0c;跑企业站或博客都没问题&#xff0c;因为小流量站是可以的。但是限制流量的服务器只适合小站。超流量后是要扣费的。简而言之&#xff0c;超过流量是按流量计费的。如果被攻击大概率会欠费。如果是企业用…...

学习 AI 常用的一些专业词汇

学习 AI 常用的一些专业词汇 AI 词汇集 AI 词汇集 神经网络(Neural Network): 由节点(模型参数)和连接(权重)组成的网络结构&#xff0c;用于机器学习与深度学习。 深度学习(Deep Learning): 使用包含多隐藏层神经网络进行表征学习的机器学习方法。 机器学习(Machine Learnin…...

IP协议基础

文章目录 基本概念IP和TCP分别解决什么问题 以下过程都是在网络层完成的网段划分路由路由转发过程路由表 基本概念 主机: 配有IP地址, 但是不进行路由控制的设备。 路由器: 即配有IP地址, 又能进行路由控制。 节点: 主机和路由器的统称。 IP和TCP分别解决什么问题 TCP解决…...

Redis主从复制、哨兵实战

环境&#xff1a;linux centos7.x &#xff0c;虚拟机3台 版本&#xff1a;redis-6.2.6 1.下载安转redis 下载地址 wget https://download.redis.io/releases/redis-6.2.6.tar.gz解压 tar -zxvf redis-6.2.6.tar.gz移动目录 mv redis-6.2.6 /usr/local/redis编译 cd /usr/…...

README.md编写

一、摘要 项目一般会有个描述文件&#xff0c;对于项目的代码来讲&#xff0c;这个描述就是README.md文件&#xff0c;可以描述各模块功能、目录结构等。该文件可以方便让人快速了解项目的代码结构和功能。当然&#xff0c;若要深层次的了解项目&#xff0c;就得看项目总体的需…...

软件设计证书倒计时28天

从一个月前的果断报考软件设计证书&#xff0c;我没有后悔过。 软件设计证书一个月备考情况&#xff1a; 现在做选择题的正确率可以达到65%。是重复做过两遍历年真题。 接下来是继续做模拟题。 大题的题型基本是都知道&#xff0c; 第一题数据流图&#xff0c;第二题er图&…...

程序员基础的硬件知识(cpu、主板、显卡、内存条等)

一、综合简介 cpu&#xff1a;负责运算数据&#xff0c;就等于你的大脑运算速度。 显卡&#xff1a;本来没有显卡&#xff0c;后来因为大家对图片要求越来越高&#xff0c;视频要求越来越高&#xff0c;啥都让cpu算太累了&#xff0c;于是分出来一个&#xff0c;专门用来计算…...

优化Google Cloud Storage大文件上传和内存溢出

背景 我们的项目每天都会并行上传好几万份文件到下游的GCP Cloud Storage&#xff0c;当文件比较大时&#xff0c;会采用GCP的可续上传方案&#xff0c;通过把文件切分成多个数据块&#xff0c;分多次HTTP请求上传到GCP Bucket&#xff0c;具体可参考https://cloud.google.com…...

chatGPT的prompt技巧

Prompt 公式是 Prompt 的特定格式&#xff0c;通常由三个主要元素组成&#xff1a; 任务&#xff1a;明确而简洁地陈述 Prompt 要求模型生成的内容。指令&#xff1a;模型在生成文本时应遵循的指令。角色&#xff1a;模型在生成文本时应扮演的角色。 指令 Prompt 技术 指令 …...

【华为OD机试 2023最新 】统一限载货物数最小值(C语言题解 100%)

文章目录 题目描述输入描述输出描述备注用例题目解析代码思路C语言题目描述 火车站附近的货物中转站负责将到站货物运往仓库,小明在中转站负责调度2K辆中转车(K辆干货中转车,K辆湿货中转车)。 货物由不同供货商从各地发来,各地的货物是依次进站,然后小明按照卸货顺序依…...

ios 在windows chrome 联调

必要条件 1、iOS设备、数据线 2、Node.js 环境 3、Chrome 浏览器 4、电脑登录iTunes 5、手机 Safari 浏览器环境准备 1、安装Node环境参考Node安装的教程&#xff0c;确保终端输入node时可正常使用 2、安装 scoope 以及相关配置为了安装后续需要用的工具 remotedebug-ios-web…...

干翻Mybatis源码系列之第六篇:Mybatis可选缓存概述

前言 一&#xff1a;后续Mybatis我们会研究那些内容&#xff1f; Mybatis核心运行源码分析&#xff08;前面系列文章已经探讨过&#xff09; Mybatis中缓存的使用 Mybatis与Spring集成 Mybatis 插件。 Mybatis的插件可以对Mybatis内核功能或者是业务功能进行拓展&#xff0c…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...