
# 如何处理Flink任务配置State Backend为RocksDB时报错GLIBC版本问题
#### 问题
Flink任务配置State Backend为RocksDB时，运行报如下错误：
```
Caused by: java.lang.UnsatisfiedLinkError: /srv/BigData/hadoop/data1/nm/usercache/***/appcache/application_****/rocksdb-lib-****/librocksdbjni-linux64.so: /lib64/libpthread.so.0: version `GLIBC_2.12` not found (required by /srv/BigData/hadoop/***/librocksdbjni-linux64.so)
at java.lang.ClassLoader$NativeLibrary.load(Native Method) 
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1965) 
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1890) 
at java.lang.Runtime.load0(Runtime.java:795) 
at java.lang.System.load(System.java:1062) 
at org.rocksdb.NativeLibraryLoader.loadLibraryFromJar(NativeLibraryLoader.java:78)
at org.rocksdb.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:56)
at org.apache.flink.contrib.streaming.state.RocksDBStateBackend.ensureRocksDBIsLoaded(RocksDBStateBackend.java:734)
... 11 more
```
#### 可能原因
运行的系统和编译环境所在的系统版本不同，造成GLIBC的版本不兼容。
#### 定位思路
使用**strings /lib64/libpthread.so.0 \| grep GLIBC**命令查看GLIBC是否版本低于2.12。
#### 处理步骤
如果GLIBC版本太低，则需要使用含有较高版本的（此处为2.12）的文件替换掉"libpthread-\*.so"（注意，这是一个链接文件，执行时只需要替换掉它所指向的文件即可）。
#### 参考信息
无
