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

mac m1跑flink 我使用rocksdb状态后端碰到 /librocksdbjni-osx

mac m1跑flink 我使用rocksdb状态后端碰到 /librocksdbjni-osx.jnilib' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')) 这个问题,大神们知道怎么解决吗?

展开
收起
游客3oewgrzrf6o5c 2022-07-03 17:42:38 1149 0
1 条回答
写回答
取消 提交回答
  • 十分耕耘,一定会有一分收获!

    楼主你好,这个问题是因为您的RocksDB JNI库文件是x86_64架构的,不兼容M1芯片的arm64e架构。解决方法是重新编译RocksDB JNI库文件,生成适合M1芯片的arm64e架构的库文件。

    具体步骤如下:

    1. 安装Xcode命令行工具

    打开终端,运行以下命令:

    xcode-select --install
    
    1. 下载并编译RocksDB

    从RocksDB的Github仓库中下载源代码并编译,运行以下命令:

    git clone https://github.com/facebook/rocksdb.git
    cd rocksdb
    make static_lib
    
    1. 生成RocksDB JNI库文件

    使用RocksDB源代码中的mk文件,生成RocksDB JNI库文件,运行以下命令:

    make jni
    
    1. 将生成的库文件复制到Flink目录下

    将生成的librocksdbjni.jnilib文件复制到Flink的lib目录下,替换原来的库文件即可。

    2023-08-22 16:29:53
    赞同 展开评论 打赏

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

相关产品

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

    更多
    十分钟上线-使用函数计算构建支付宝小程序服务 立即下载
    机器学习在互联网后端技术中的应用 立即下载
    《基于 Flink 的全新 Pulsar Connector 的设计、开发和使用》 立即下载