或许您可以尝试参考下[1] 再验证下加载的问题。 BTW,目前看起来是有些依赖库找不到,librocksdbjni-win64.dll 当时是基于 VS2022 编译出来的,您也尝试下在本地安装下VS2022后重试。
[1] https://github.com/facebook/rocksdb/issues/2531#issuecomment-313209314 ha.fen...@aisino.com <ha.fen...@aisino.com> 于2024年5月7日周二 10:22写道: > > idea工具,win10操作系统 > java.io.IOException: Could not load the native RocksDB library > at > org.apache.flink.contrib.streaming.state.EmbeddedRocksDBStateBackend.ensureRocksDBIsLoaded(EmbeddedRocksDBStateBackend.java:940) > ~[flink-statebackend-rocksdb-1.19.0.jar:1.19.0] > at > org.apache.flink.contrib.streaming.state.EmbeddedRocksDBStateBackend.ensureRocksDBIsLoaded(EmbeddedRocksDBStateBackend.java:870) > ~[flink-statebackend-rocksdb-1.19.0.jar:1.19.0] > at > org.apache.flink.contrib.streaming.state.EmbeddedRocksDBStateBackend.createKeyedStateBackend(EmbeddedRocksDBStateBackend.java:400) > ~[flink-statebackend-rocksdb-1.19.0.jar:1.19.0] > at > org.apache.flink.contrib.streaming.state.EmbeddedRocksDBStateBackend.createKeyedStateBackend(EmbeddedRocksDBStateBackend.java:90) > ~[flink-statebackend-rocksdb-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.lambda$keyedStatedBackend$3(StreamTaskStateInitializerImpl.java:393) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.api.operators.BackendRestorerProcedure.attemptCreateAndRestore(BackendRestorerProcedure.java:173) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.api.operators.BackendRestorerProcedure.createAndRestore(BackendRestorerProcedure.java:137) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.keyedStatedBackend(StreamTaskStateInitializerImpl.java:399) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.streamOperatorStateContext(StreamTaskStateInitializerImpl.java:180) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.api.operators.AbstractStreamOperator.initializeState(AbstractStreamOperator.java:266) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.runtime.tasks.RegularOperatorChain.initializeStateAndOpenOperators(RegularOperatorChain.java:106) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.restoreStateAndGates(StreamTask.java:799) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.lambda$restoreInternal$3(StreamTask.java:753) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$1.call(StreamTaskActionExecutor.java:55) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.restoreInternal(StreamTask.java:753) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.restore(StreamTask.java:712) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:958) > [flink-runtime-1.19.0.jar:1.19.0] > at org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:927) > [flink-runtime-1.19.0.jar:1.19.0] > at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:751) > [flink-runtime-1.19.0.jar:1.19.0] > at org.apache.flink.runtime.taskmanager.Task.run(Task.java:566) > [flink-runtime-1.19.0.jar:1.19.0] > at java.lang.Thread.run(Thread.java:745) [?:1.8.0_60] > Caused by: java.lang.UnsatisfiedLinkError: > C:\Users\Administrator\AppData\Local\Temp\minicluster_3997ce9addcd45323f4b8d2891c63181\tm_0\tmp\rocksdb-lib-b92bf66b523726cc074235a82f4c40f1\librocksdbjni-win64.dll: > Can't find dependent libraries > at java.lang.ClassLoader$NativeLibrary.load(Native Method) ~[?:1.8.0_60] > at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938) ~[?:1.8.0_60] > at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1821) ~[?:1.8.0_60] > at java.lang.Runtime.load0(Runtime.java:809) ~[?:1.8.0_60] > at java.lang.System.load(System.java:1086) ~[?:1.8.0_60] > at > org.rocksdb.NativeLibraryLoader.loadLibraryFromJar(NativeLibraryLoader.java:102) > ~[frocksdbjni-6.20.3-ververica-2.0.jar:?] > at org.rocksdb.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:82) > ~[frocksdbjni-6.20.3-ververica-2.0.jar:?] > at > org.apache.flink.contrib.streaming.state.EmbeddedRocksDBStateBackend.ensureRocksDBIsLoaded(EmbeddedRocksDBStateBackend.java:914) > ~[flink-statebackend-rocksdb-1.19.0.jar:1.19.0] > ... 20 more > 10:18:44,556 WARN org.apache.flink.runtime.taskmanager.Task > [] - TumblingEventTimeWindows -> Sink: Print to Std. Out (2/4)#0 > (2500c455c9c458780199da504300da05_90bea66de1c231edf33913ecd54406c1_1_0) > switched from INITIALIZING to FAILED with failure cause: > java.lang.Exception: Exception while creating StreamOperatorStateContext. > at > org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.streamOperatorStateContext(StreamTaskStateInitializerImpl.java:294) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.api.operators.AbstractStreamOperator.initializeState(AbstractStreamOperator.java:266) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.runtime.tasks.RegularOperatorChain.initializeStateAndOpenOperators(RegularOperatorChain.java:106) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.restoreStateAndGates(StreamTask.java:799) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.lambda$restoreInternal$3(StreamTask.java:753) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$1.call(StreamTaskActionExecutor.java:55) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.restoreInternal(StreamTask.java:753) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.runtime.tasks.StreamTask.restore(StreamTask.java:712) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:958) > ~[flink-runtime-1.19.0.jar:1.19.0] > at org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:927) > [flink-runtime-1.19.0.jar:1.19.0] > at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:751) > [flink-runtime-1.19.0.jar:1.19.0] > at org.apache.flink.runtime.taskmanager.Task.run(Task.java:566) > [flink-runtime-1.19.0.jar:1.19.0] > at java.lang.Thread.run(Thread.java:745) [?:1.8.0_60] > Caused by: org.apache.flink.util.FlinkException: Could not restore keyed > state backend for WindowOperator_90bea66de1c231edf33913ecd54406c1_(2/4) from > any of the 1 provided restore options. > at > org.apache.flink.streaming.api.operators.BackendRestorerProcedure.createAndRestore(BackendRestorerProcedure.java:165) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.keyedStatedBackend(StreamTaskStateInitializerImpl.java:399) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > at > org.apache.flink.streaming.api.operators.StreamTaskStateInitializerImpl.streamOperatorStateContext(StreamTaskStateInitializerImpl.java:180) > ~[flink-streaming-java-1.19.0.jar:1.19.0] > ... 12 more > > > > From: Yanfei Lei > Date: 2024-05-07 10:07 > To: user-zh > Subject: Re: java.io.IOException: Could not load the native RocksDB library > 请问是什么开发环境呢? windows吗? > 可以分享一下更详细的报错吗?比如xxxx.dll 找不到 > > ha.fen...@aisino.com <ha.fen...@aisino.com> 于2024年5月7日周二 09:34写道: > > > > Configuration config = new Configuration(); > > config.set(StateBackendOptions.STATE_BACKEND, "rocksdb"); > > config.set(CheckpointingOptions.CHECKPOINT_STORAGE, "filesystem"); > > config.set(CheckpointingOptions.CHECKPOINTS_DIRECTORY, "file:\\d:\\cdc"); > > > > 开发环境Flink1.17包中运行没有问题 > > 开发环境Flink1.19包中运行提示 > > > > java.io.IOException: Could not load the native RocksDB library > > > > -- > Best, > Yanfei -- Best, Yanfei