mac m1跑flink 我使用rocksdb状态后端碰到 /librocksdbjni-osx.jnilib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')) 这个问题,大神们知道怎么解决吗?
楼主你好,这个问题是因为您的RocksDB JNI库文件是x86_64架构的,不兼容M1芯片的arm64e架构。解决方法是重新编译RocksDB JNI库文件,生成适合M1芯片的arm64e架构的库文件。
具体步骤如下:
打开终端,运行以下命令:
xcode-select --install
从RocksDB的Github仓库中下载源代码并编译,运行以下命令:
git clone https://github.com/facebook/rocksdb.git
cd rocksdb
make static_lib
使用RocksDB源代码中的mk文件,生成RocksDB JNI库文件,运行以下命令:
make jni
将生成的librocksdbjni.jnilib文件复制到Flink的lib目录下,替换原来的库文件即可。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。