hive metastore使用mysql作为backend db遇到的问题

文章目录

    • 问题
    • 解决

问题

hms使用mysql作为Backend metadata database, 但是启动爆如下错误.

Underlying cause: com.mysql.cj.jdbc.exceptions.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.

docker 文件

FROM docker.io/apache/hive:4.0.0
COPY ./mysql-connector-java-8.0.25.jar /opt/hive/lib/
COPY ./postgresql-42.7.3.jar /opt/hive/lib/

原生的hive不带pg以及mysql的驱动包,所以这里要自己构建镜像添加这两个包到/opt/hive/lib目录下.

docker-compose 文件

version: '3'
services:hms:image: custom_hive:latestports:- "9083:9083"environment:SERVICE_NAME: metastoreDB_DRIVER: mysqlSERVICE_OPTS: -Djavax.jdo.option.ConnectionDriverName=com.mysql.cj.jdbc.Driver -Djavax.jdo.option.ConnectionURL=jdbc:mysql://metadb:3306/metastore?createDatabaseIfNotExist=true -Djavax.jdo.option.ConnectionUserName=root -Djavax.jdo.option.ConnectionPassword=abcdvolumes:- warehouse:/opt/hive/data/warehouselinks:- metadbdepends_on:- metadbmetadb:image: mysql:8.0container_name: metadbports: - "3306:3306"environment:- "MYSQL_ROOT_PASSWORD=abcd"volumes:warehouse:networks:default:name: test-net

解决

原因是连接的urljdbc:mysql://metadb:3306/metastore?createDatabaseIfNotExist=true即便有参数createDatabaseIfNotExist=true设置为true还是不能自动创建databse.所以要预先在mysql上面创建好metastore这个数据库,hms才能启动成功.

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

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

相关文章

[MAC] mac电脑更新 git的安装homebrew

官方网站需要翻墙,不能下载。试了网上好几种方法,以下方法完胜。 1、国内镜像进行下载的homebrew,一步到位 mac电脑打开终端输入: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 2、查看 原有g…

【opencv】示例-train_HOG.cpp 训练和测试基于支持向量机(SVM)的行人检测器

#include "opencv2/imgproc.hpp" // 包含OpenCV图像处理头文件 #include "opencv2/highgui.hpp" // 包含OpenCV高层GUI(图形用户界面)头文件 #include "opencv2/ml.hpp" // 包含OpenCV机器学习模块头文件 #includ…

typora支持的流程图的语法

流程图 typora支持以下代码块画流程图 flow:流程图,会自动被 flowchart.js 渲染。sequence:序列图,会自动被 js-sequence 解析和渲染mermaid:mermaid图。 要使 Typora 支持代码绘图,需要对 Typora 软件进…

数据结构初阶:二叉树(二)

二叉树链式结构的实现 前置说明 在学习二叉树的基本操作前,需先要创建一棵二叉树,然后才能学习其相关的基本操作。由于现在对二叉树结构掌握还不够深入,为了降低学习成本,此处手动快速创建一棵简单的二叉树,快速进入二…

设计模式之工厂模式(python3)

一、简单工厂模式 什么是简单工厂模式? 专门定义一个类来负责创建其他类的实例,根据参数的不同创建不同类的实例,被创建的实例通常具有共同的父类,这个模式叫简单工厂模式(Simple Factory Pattern)。 &qu…

二、Flask会话技术和模板语言

Cookie Session # views.py: 路由 视图函数 import datetimefrom flask import Blueprint, render_template, request, redirect, session from .models import *# 蓝图 blue Blueprint(user, __name__)# 首页 可以写两个路由,都是访问同一个函数 blue.route(/) b…

【数据结构】泛型(分享重点)

什么是泛型&#xff1f; 泛型就是适用于许多许多类型&#xff0c;对类型参数化。 怎么创建一个泛型呢 class 泛型类名称<类型形参列表> { // 这里可以使用类型参数 } class ClassName<T1, T2, ..., Tn> { } class 泛型类名称<类型形参列表> extends 继承类…

微服务之LoadBalancer负载均衡服务调用

一、概述 1.1什么是负载均衡 LB&#xff0c;既负载均衡&#xff08;Load Balancer&#xff09;,是高并发、高可用系统必不可少的关键组件&#xff0c;其目标是尽力将网络流量平均分发到多个服务器上&#xff0c;以提高系统整体的响应速度和可用性。 负载均衡的主要作用 高并发…

回归预测 | Matlab基于RIME-SVR霜冰算法优化支持向量机的数据多输入单输出回归预测

回归预测 | Matlab基于RIME-SVR霜冰算法优化支持向量机的数据多输入单输出回归预测 目录 回归预测 | Matlab基于RIME-SVR霜冰算法优化支持向量机的数据多输入单输出回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab基于RIME-SVR霜冰算法优化支持向量机的数…

多线程八股文常见面试题总结(一)

java多线程基本面试题 目录 前言 一、创建多线程的方式有哪些&#xff1f; 二、runable接口和callable接口有什么区别&#xff1f; 三、run和start有什么区别&#xff1f; 四、线程的状态之间是如何变化的&#xff1f; 五、新建T1、T2、T3如何保证他们的顺序执行&#xff1f; …

MySQL优化慢SQL的6种方式

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《mysql经验总结》 &#x1f30a;山高路远&#xff0c;行路漫漫&#xff0c;终有归途 目录 写在前面 优化思路 优化方法 1.避免查询不必要的列 2.分页优化 3.索引优化 4.JOIN优化 5.排序优化 6.UNION 优化…

无线网络2.4和5G的区别

无线网络2.4和5的区别 无线网络2.4GHz和5GHz的主要区别在于频率、覆盖范围、传输速度、干扰能力和穿透性。以下是详细介绍&#xff1a;12 频率不同。2.4GHz的频率较低&#xff0c;而5GHz的频率较高。频率越低&#xff0c;信号在传播过程中的损失越小&#xff0c;因此覆盖范围…

如何在 Ubuntu 14.04 上配置一个生产就绪的 Mesosphere 集群

简介 Mesosphere 是一个系统&#xff0c;它结合了许多组件&#xff0c;可以在现有操作系统层之上有效地管理服务器集群和高可用部署。与 CoreOS 等系统不同&#xff0c;Mesosphere 不是一个专门的操作系统&#xff0c;而是一组软件包。 在本指南中&#xff0c;我们将介绍如何…

linux学习:文件属性

在操作文件的时候&#xff0c;经常需要获取文件的属性&#xff0c;比如类型、权限、大小、所有者等等&#xff0c; 这些信息对于比如文件的传输、管理等是必不可少的&#xff0c;而这些信息 这三个函数的功能完全一样&#xff0c;区别是&#xff1a;stat( )参数是一个文件的名字…

网络篇05 | 应用层 http/https

网络篇05 | 应用层 http/https 01 HTTP请求报文协议&#xff08;Request&#xff09;1&#xff09;Request简述2&#xff09;请求行&#xff08;首行&#xff09;3&#xff09;请求头&#xff08;Request Headers&#xff09;4&#xff09;空行5&#xff09;正文&#xff08;Re…

【机器学习300问】67、均方误差与交叉熵误差,两种损失函数的区别?

一、均方误差&#xff08;Mean Squared Error, MSE&#xff09; 假设你是一个教练&#xff0c;在指导学生射箭。每次射箭后&#xff0c;你可以测量子弹的落点距离靶心的差距&#xff08;误差&#xff09;。MSE就像是计算所以射击误差的平方后的平均值。它强调了每一次偏离靶心的…

ARM v8 Cortex R52内核 04 时钟和复位 Clocking and Resets

ARM v8 Cortex R52内核 04 时钟和复位 Clocking and Resets 4.1 Clock and clock enables 时钟和时钟使能 Cortex-R52处理器具有一个单一的时钟&#xff0c;驱动着所有的触发器和RAM。各种输入&#xff0c;包括复位输入&#xff0c;都有同步逻辑使它们可以与处理器时钟异步操…

appium控制手机一直从下往上滑动

用于使用Appium和Selenium WebDriver在Android设备上滚动设置应用程序的界面。具体来说&#xff0c;它通过WebDriverWait和expected_conditions等待元素出现&#xff0c;然后使用ActionChains移动到该元素并执行滚动动作。在setUp中&#xff0c;它初始化了Appium的WebDriver和c…

Android中的Zygote进程介绍

在Android系统中&#xff0c;Zygote是一个特殊的进程&#xff0c;主要负责孵化&#xff08;fork&#xff09;新的应用进程&#xff0c;从而加速应用的启动过程。Zygote进程是系统启动过程中创建的第一个进程&#xff0c;它会在系统启动时被初始化并一直运行在后台。 以下是Zyg…

如何在MacOS上使用OpenHarmony SDK交叉编译?

本文以cJSON三方库为例介绍如何通过OpenHarmony的SDK在Mac平台进行交叉编译。 环境准备 SDK准备 我们可以通过 openHarmony SDK 官方发布渠道下载对应mac版本的SDK&#xff0c;当前OpenHarmony MAC版本的SDK有2种&#xff0c;一种是x86架构&#xff0c;另一种是arm64&#x…