Flink Native Library xxx is being loaded in another classloader

在使用flink连接tdengine时,第一次连接没有问题,当重启任务时,出现flink Native Library libtaos.so already loaded  in another classloader异常。简单来说原因就是java的类加载机制,多个flink任务的类加载器,对tdengine的客户端库libtaos.so进行了多次加载。

解决的办法:

将tdengine客户端的jar包放到flink所在服务器的java环境的扩展依赖环境中,这样java应用的依赖就直接使用ext加载的类库,不再自己加载,就能保证不再重复加载。

将taos-jdbcdriver-2.0.38.jar及其依赖包,放入到/opt/java/jdk/jre/lib/ext文件夹下,java工程的pom文件中再把该依赖包的scope设置为provided。


        <dependency>
            <groupId>com.taosdata.jdbc</groupId>
            <artifactId>taos-jdbcdriver</artifactId>
            <version>2.0.38</version>
            <scope>provided</scope>
        </dependency>

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-01 09:02:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-01 09:02:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-01 09:02:02       87 阅读
  4. Python语言-面向对象

    2024-02-01 09:02:02       96 阅读

热门阅读

  1. sql注入之字符型注入

    2024-02-01 09:02:02       39 阅读
  2. kylin启动memcached缓存

    2024-02-01 09:02:02       51 阅读
  3. 倒计时68天

    2024-02-01 09:02:02       65 阅读
  4. Django如何调用机器学习模型进行预测

    2024-02-01 09:02:02       51 阅读
  5. linux系统ansible工具中的剧本playbook基础内容

    2024-02-01 09:02:02       46 阅读
  6. vim 编辑器 查找和替换文本 命令

    2024-02-01 09:02:02       49 阅读
  7. 5种改进生产 Web 应用服务器设置的方法

    2024-02-01 09:02:02       51 阅读
  8. 如何让Go程序以后台进程或daemon方式运行

    2024-02-01 09:02:02       68 阅读