开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC在本地启动就是好的,放在flink上就报这个找不到驱动了?

Flink CDC在本地启动就是好的,放在flink上就报这个找不到驱动了?image.png
咋回事呀?

展开
收起
真的很搞笑 2023-12-04 07:46:09 78 0
3 条回答
写回答
取消 提交回答
  • oracle的jar包没打进去吧 ,此回答整理自钉群“Flink CDC 社区”

    2023-12-05 09:01:46
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    Flink CDC 在本地启动时,会自动加载驱动程序。但当它在 Flink 集群上运行时,需要确保驱动程序已经正确安装并配置了正确的路径。如果驱动程序没有正确安装或配置,可能会导致找不到驱动程序的错误。为了解决这个问题,你可以尝试以下步骤:1. 确保你已经在本地环境中安装了所需的驱动程序。2. 在 Flink 集群的配置文件中,指定驱动程序的路径。例如,在 flink-conf.yaml 文件中添加如下配置项:env.java.opts: -Djava.sql.driver=<驱动程序路径>将 <驱动程序路径> 替换为实际的驱动程序路径。3. 重新启动 Flink 集群并检查是否仍然出现找不到驱动程序的错误。

    2023-12-04 14:25:19
    赞同 展开评论 打赏
  • 这个问题是因为Flink CDC在本地启动时可以找到Oracle驱动,但在Flink集群上找不到。为了解决这个问题,你需要将Oracle驱动的jar包添加到Flink集群的classpath中。具体操作如下:

    1. 下载Oracle驱动的jar包,可以从Oracle官网下载:https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19c-downloads.html
    2. 将下载好的jar包上传到Flink集群的某个目录下,例如/flink/lib
    3. 修改Flink配置文件(如flink-conf.yaml),添加以下内容:
    taskmanager.numberOfTaskSlots: 1
    taskmanager.network.memory.min: 64mb
    taskmanager.network.memory.max: 1024mb
    taskmanager.network.memory.fraction: 0.7
    taskmanager.network.memory.large.min: 256mb
    taskmanager.network.memory.large.max: 512mb
    taskmanager.network.memory.off-heap.min: 64mb
    taskmanager.network.memory.off-heap.max: 1024mb
    taskmanager.network.memory.off-heap.fraction: 0.1
    taskmanager.rpc.address: localhost
    taskmanager.rpc.port: 6123
    taskmanager.rest.port: 8081
    taskmanager.query.port: 9069
    jobmanager.rpc.address: localhost
    jobmanager.rpc.port: 6121
    jobmanager.webui.port: 8082
    state.backend: fs
    state.backend.fs.checkpointdir: hdfs://localhost:9000/flink/checkpoints
    state.backend.fs.checkpointdir.fallback: hdfs://localhost:9000/flink/checkpoints_fallback
    state.backend.fs.checkpointdir.completed: hdfs://localhost:9000/flink/checkpoints_completed
    state.backend.fs.checkpointdir.discarded: hdfs://localhost:9000/flink/checkpoints_discarded
    state.backend.fs.checkpointdir.retained: hdfs://localhost:9000/flink/checkpoints_retained
    state.backend.fs.checkpointdir.expired: hdfs://localhost:9000/flink/checkpoints_expired
    state.backend.fs.checkpointdir.inprogress: hdfs://localhost:9000/flink/checkpoints_inprogress
    state.backend.fs.checkpointdir.pending: hdfs://localhost:9000/flink/checkpoints_pending
    state.backend.fs.checkpointdir.subdirectory: hdfs://localhost:9000/flink/checkpoints/subdirectory
    state.backend.rocksdb.localdirs: "hdfs://localhost:9000/flink/checkpoints"
    state.backend.rocksdb.async: false
    state.backend.rocksdb.writebuffersize: 64mb
    state.backend.rocksdb.writebuffercount: 4
    state.backend.rocksdb.blockcachesize: 1gb
    state.backend.rocksdb.blockcachecompressedsizelimit: 512mb
    state.backend.rocksdb.blockcachecompressiontype: BLOCK_COMPRESSION_LZ4
    state.backend.rocksdb.blockcachefilterpolicy: BLOCK_CACHE_FILTER_DEFAULT
    redis.address: localhost
    redis.port: 6379
    
    1. 重启Flink集群。

    这样,Flink CDC应该可以在Flink集群上正常运行了。

    2023-12-04 11:53:24
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载