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

flink 写入es的依赖导入问题(踩坑记录)

flink 写入es的依赖导入问题(踩坑记录)

ps:可能只是flink低版本才会有这个问题

1. 按照官网的导入方式:
2. 你会在运行sql-client的时候完美得到一个错误:

Exception in thread "main" org.apache.flink.table.client.SqlClientException: Unexpected exception. This is a bug. Please consider filing an issue.
        at org.apache.flink.table.client.SqlClient.startClient(SqlClient.java:201)
        at org.apache.flink.table.client.SqlClient.main(SqlClient.java:161)
Caused by: org.apache.flink.table.api.TableException: Could not instantiate the executor. Make sure a planner module is on the classpath
        at org.apache.flink.table.client.gateway.context.ExecutionContext.lookupExecutor(ExecutionContext.java:165)
        at org.apache.flink.table.client.gateway.context.ExecutionContext.createTableEnvironment(ExecutionContext.java:114)
        at org.apache.flink.table.client.gateway.context.ExecutionContext.<init>(ExecutionContext.java:66)
        at org.apache.flink.table.client.gateway.context.SessionContext.create(SessionContext.java:246)
        at org.apache.flink.table.client.gateway.local.LocalContextUtils.buildSessionContext(LocalContextUtils.java:87)
        at org.apache.flink.table.client.gateway.local.LocalExecutor.openSession(LocalExecutor.java:87)
        at org.apache.flink.table.client.SqlClient.start(SqlClient.java:88)
        at org.apache.flink.table.client.SqlClient.startClient(SqlClient.java:187)
        ... 1 more
Caused by: org.apache.flink.table.api.TableException: Could not load service provider for factories.
        at org.apache.flink.table.factories.FactoryUtil.discoverFactories(FactoryUtil.java:627)
        at org.apache.flink.table.factories.FactoryUtil.discoverFactory(FactoryUtil.java:378)
        at org.apache.flink.table.client.gateway.context.ExecutionContext.lookupExecutor(ExecutionContext.java:156)
        ... 8 more
Caused by: java.util.ServiceConfigurationError: org.apache.flink.table.factories.Factory: Provider org.apache.flink.streaming.connectors.elasticsearch.table.Elasticsearch7DynamicSinkFactory could not be instantiated
        at java.util.ServiceLoader.fail(ServiceLoader.java:232)
        at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
        at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
        at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
        at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
        at java.util.Iterator.forEachRemaining(Iterator.java:116)
        at org.apache.flink.table.factories.FactoryUtil.discoverFactories(FactoryUtil.java:623)
        ... 10 more
Caused by: java.lang.NoClassDefFoundError: org/apache/flink/streaming/connectors/elasticsearch/table/ElasticsearchConnectorOptions
        at org.apache.flink.streaming.connectors.elasticsearch.table.Elasticsearch7DynamicSinkFactory.<clinit>(Elasticsearch7DynamicSinkFactory.java:61)
        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 java.lang.Class.newInstance(Class.java:442)
        at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
        ... 14 more
Caused by: java.lang.ClassNotFoundException: org.apache.flink.streaming.connectors.elasticsearch.table.ElasticsearchConnectorOptions
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 21 more

3. 通过idea下载jar包之后,会发现org.apache.flink.streaming.connectors.elasticsearch.table.ElasticsearchConnectorOptions在另一个包
在这里插入图片描述

4.解决方法:往lib下面导入这个对应版本的flink-connector-elasticsearch-base_2.12-1.14.6.jar

相关文章:

  • 高并发下保证接口幂等性
  • vscode终端不识别npm 无法解析npm
  • 微信小程序登陆之反向代理
  • llama-factory 微调 Qwen2.5-3B-Instruct
  • python3使用lxml解析xml时踩坑记录
  • 基于STC89C51的太阳自动跟踪系统的设计与实现—单片机控制步进电机实现太阳跟踪控制(仿真+程序+原理图+PCB+文档)
  • 解决stm32引脚如果选择输入模式
  • 响应压缩导致的接口请求response没有响应体问题排查
  • 群晖 DS923 + 功能简介
  • macOS使用brew切换Python版本【超详细图解】
  • 蓝牙音频软件开发--杰理可视化SDK系列学习笔记汇总(持续更新)
  • 求职招聘网站源码,找工作招工系统,支持H5和各种小程序
  • TypeScript 生成指定范围内的随机数,并支持控制小数点后的位数
  • wsl2配置xv6全解(包括22.04Jammy)
  • 针对 pdf.mjs 文件因 MIME 类型错误导致的 Failed to load module script 问题解决方案
  • 【python】OpenCV—Hand Landmarks Detection
  • Siddon算法的公式和参数详细说明
  • 乐维网管平台核心功能解析(三)——告警关联资产
  • [vue]属性绑定
  • OceanBase 4.3.3 AP 解析:应用 RoaringBitmaps 类型处理海量数据的判重和基数统计
  • 日月谭天丨这轮中美关税会谈让台湾社会看清了什么?
  • 万科:存续债券均正常付息兑付
  • 上海能源科技发展有限公司原董事长李海瑜一审获刑13年
  • 做街坊们的“健康管家”,她把专科护理服务送上门
  • 普京:俄中关系是国家间关系的真正典范
  • 7月打卡乐高乐园,还可以去千年古镇枫泾参加这个漫画艺术季