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

news/2025/2/16 0:39:01/

文章目录

    • 问题
    • 解决

问题

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.ppmy.cn/news/1418713.html

相关文章

【保姆级讲解Element UI】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

数据结构-堆详解

堆 图片: 二叉堆的父节点为这个子树的最值。 如何维护它。 我们发现它是一棵二叉树,那就自然满足若父节点为 x x x 则左儿子节点为 x 2 x\times2 x2 右儿子为 x 2 1 x\times 2 1 x21 这是显然的,但如果写成指针或结构体就太麻烦了&…

云计算:Linux 部署 OVN 集群

目录 一、实验 1.环境 2.Linux 部署 OVN 集群(中心端) 3.Linux 部署 OVN 集群(业务端1) 4.Linux 部署 OVN 集群(业务端2) 4.OVN 中心端 连接数据库 5.OVN 业务端1 加⼊控制器 6.OVN 业务端2 加⼊控…

Adobe Photoshop 2024 v25.6 (macOS, Windows) - 照片和设计软件

Adobe Photoshop 2024 v25.6 (macOS, Windows) - 照片和设计软件 Acrobat、After Effects、Animate、Audition、Bridge、Character Animator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、Lightroom Classic、Media Encoder、Photoshop、Premiere Pro、Adobe XD …

Spring Boot 经典面试题(七)

1. Spring Boot中如何集成Swagger生成API文档 在Spring Boot中集成Swagger生成API文档非常简单&#xff0c;以下是基本的步骤&#xff1a; 首先&#xff0c;在pom.xml文件中添加Swagger依赖&#xff1a; <dependency><groupId>io.springfox</groupId><…

zustand状态库在react类组件中使用

如果想在React类组件中使用zustand状态管理库&#xff0c;可以在类组件中调用create函数创建一个状态store&#xff0c;并使用useStore钩子来访问和更新状态。虽然zustand通常与函数式组件一起使用&#xff0c;但也可以在类组件中使用。 以下是一个简单的示例&#xff0c;展示…

pyqt和opencv结合01:读取图像、显示

在这里插入图片描述 1 、opencv读取图像用于pyqt显示 # image cv2.imread(file_path)image cv2.cvtColor(image, cv2.COLOR_BGR2RGB)# 将图像转换为 Qt 可接受的格式height, width, channel image.shapebytes_per_line 3 * widthq_image QImage(image.data, width, hei…

【C++】详解类的--封装思想(让你丝滑的从C语言过度到C++!!)

目录 一、前言 二、【面向过程】 与 【面向对象】 三、结构体 与 类 &#x1f34e;C中结构体的变化 &#x1f349;C中结构体的具体使用 &#x1f350;结构体 --> 类 ✨类-----语法格式&#xff1a; ✨类的两种定义方式&#xff1a; 四、类的访问限定符及封装【⭐】 …