Flink CDC在本地启动就是好的,放在flink上就报这个找不到驱动了?
咋回事呀?
Flink CDC 在本地启动时,会自动加载驱动程序。但当它在 Flink 集群上运行时,需要确保驱动程序已经正确安装并配置了正确的路径。如果驱动程序没有正确安装或配置,可能会导致找不到驱动程序的错误。为了解决这个问题,你可以尝试以下步骤:1. 确保你已经在本地环境中安装了所需的驱动程序。2. 在 Flink 集群的配置文件中,指定驱动程序的路径。例如,在 flink-conf.yaml 文件中添加如下配置项:env.java.opts: -Djava.sql.driver=<驱动程序路径>将 <驱动程序路径> 替换为实际的驱动程序路径。3. 重新启动 Flink 集群并检查是否仍然出现找不到驱动程序的错误。
这个问题是因为Flink CDC在本地启动时可以找到Oracle驱动,但在Flink集群上找不到。为了解决这个问题,你需要将Oracle驱动的jar包添加到Flink集群的classpath中。具体操作如下:
/flink/lib
。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
这样,Flink CDC应该可以在Flink集群上正常运行了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。