RocksDB 在 macOS M 系列 上運行時報錯的解決方案

問題現象

項目中引入可Kafka Stream ,Windows下啟動不報錯 ,但是在 macOS M系列 環境下就會報錯,初步定位是使用 Java 項目調用 RocksDB 時,運行過程中出現以下報錯:

  • UnsatisfiedLinkError: no rocksdbjni in java.library.path
  • 或者 librocksdbjni.dylib 無法被正確加載。
Exception in thread "kafka-streams-app001-f566769f-d99b-45fa-9a5a-5ebf722fd601-StreamThread-1" java.lang.UnsatisfiedLinkError: Can't load library: /var/folders/qj/l1h4j0mj0bs56qd20d4sr3_40000gn/T/librocksdbjni13358465134412954828.jnilibat java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2622)at java.base/java.lang.Runtime.load0(Runtime.java:765)at java.base/java.lang.System.load(System.java:1852)at org.rocksdb.NativeLibraryLoader.loadLibraryFromJar(NativeLibraryLoader.java:78)at org.rocksdb.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:56)at org.rocksdb.RocksDB.loadLibrary(RocksDB.java:64)at org.rocksdb.RocksDB.<clinit>(RocksDB.java:35)at org.rocksdb.DBOptions.<clinit>(DBOptions.java:21)at 

原因分析

  1. 缺少 JNI 動態庫依賴:RocksDB Java 依賴 rocksdbjni,需要正確的本地動態庫(.dylib)文件。

  2. 依賴未引入:Java 層需要 rocksdbjni 的 Maven 依賴

解決方案

  1. 添加 Java 依賴
    在項目的 pom.xml 中引入 RocksDB Java 依賴:

    <dependency><groupId>org.rocksdb</groupId><artifactId>rocksdbjni</artifactId><version>8.3.2</version> <!-- 請使用最新穩定版本 -->
    </dependency>
    

添加依賴之后 RocksDB 會以內嵌庫的形式打包進應用,無需單獨安裝系統級 RocksDB。

總結

  • 必須引入 rocksdbjni 依賴,否則缺少 JNI 支持。

這樣 macOS M系列 上即可成功運行 RocksDB。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/97794.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/97794.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/97794.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深度學習之第五課卷積神經網絡 (CNN)如何訓練自己的數據集(食物分類)

簡介 之前一直使用的是現有人家的數據集&#xff0c;現在我們將使用自己的數據集進行訓練。 基于卷積神經網絡 (CNN) 的 MNIST 手寫數字識別模型 一、訓練自己數據集 1.數據預處理 我們現在有這樣的數據集如下圖&#xff1a; 每一個文件夾里面有著對應的圖片。我們要將這些…

【Big Data】AI賦能的ClickHouse 2.0:從JIT編譯到LLM查詢優化,下一代OLAP引擎進化路徑

目錄 1. 什么是ClickHouse&#xff1f; 2. 誕生背景與發展歷程 3. 架構設計解析 3.1 存儲引擎&#xff1a;MergeTree家族 3.2 分布式模型&#xff1a;分片與副本 3.3 執行流程&#xff1a;向量化與并行計算 4. 解決的問題與適用場景 4.1 典型問題 4.2 適用場景 5. 關…

Vue實踐篇-02,AI生成代碼

問題描述這個是需求&#xff1a;動態表格、表格里邊下拉框&#xff0c;彈框選擇基礎的列表&#xff0c;還行&#xff0c;這種真的是一時不知如何是好。打算晚上吃了飯找前端同事&#xff0c;幫忙看看。晚飯前&#xff0c;AI一下看看。結果&#xff0c;驚為天人&#xff01;&…

2025-08-28-zabbix5.0創建監控項通過腳本簡單實現監控oracle11g的磁盤組和表空間的使用量

title: zabbix5.0創建監控項通過腳本簡單實現監控oracle11g的磁盤組和表空間的使用量 authors: Loong date: 2025-08-28使用SQLPLUS配合crontab任務 用來執行sql獲取信息的腳本 /home/oracle/zabbix_oracle_check.sh #!/bin/bash #用于zabbix agent被動模式的 非入侵性的檢測 #…

MySQL-Redo Log(重做日志)

MySQL 的 Redo Log&#xff08;重做日志&#xff09;是 InnoDB 存儲引擎的核心組件之一&#xff0c;是保證數據庫持久性&#xff08;Durability&#xff09; 和崩潰恢復&#xff08;Crash Recovery&#xff09; 的關鍵機制。1. 什么是 Redo Log&#xff1f;它的核心作用是什么&…

嵌入式linux相機(2)

本人從0開始學習linux&#xff0c;使用的是韋東山的教程&#xff0c;在跟著課程學習的情況下的所遇到的問題的總結,理論雖枯燥但是是基礎。本人將前幾章的內容大致學完之后&#xff0c;考慮到后續驅動方面得更多的開始實操&#xff0c;后續的內容將以韋東山教程Linux項目的內容…

云計算學習100天-第34天 -zabbix監控2

SourceURL:file:///home/student/Documents/zabbix.doczabbix服務器配置1. 拷貝zabbix軟件包到pubserver#在此之前先從真機拷貝安裝包[rootserver1 ~]# scp /linux-soft/s2/zzg/zabbix_soft/*.rpm 192.168.88.5:/root/#然后拷貝到pubserver[rootzabbixserver ~]# scp /linux-so…

貓頭虎AI分享:無需OCR,基于ColQwen2、Qwen2.5和Weaviate對PDF進行多模態RAG的解決方案

無需OCR&#xff0c;基于ColQwen2、Qwen2.5和Weaviate對PDF進行多模態RAG的解決方案 關鍵詞&#xff1a;多模態RAG、ColQwen2、Qwen2.5-VL、Weaviate 向量數據庫、PDF 檢索問答、無需 OCR、ColBERT 多向量、跨模態檢索、MaxSim 相似度、知識庫構建、AI 文檔處理、視覺語言模型、…

HTML第三課:特殊元素

HTML第三課&#xff1a;特殊元素特殊元素代碼展示特殊元素 不在行級元素和塊級元素概念里面的元素無法控制沒有寬高的元素 代碼展示 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewpo…

藍橋杯算法之基礎知識(5)

目錄 Ⅰ.in方法的使用 Ⅱ.字典的使用 Ⅲ.1MB 、KB、 B、 b(即bit)的轉換&#xff08;必學&#xff09; Ⅳ.閏年or平年 Ⅴ.count和counter方法 1. count() 方法的使用場景 2. Counter 類的介紹 3. count() 與 Counter 的區別 4. Counter 的高級應用 5.Counter的另一種使用 Ⅵ.ma…

lesson52:CSS進階指南:雪碧圖與邊框技術的創新應用

目錄 一、CSS雪碧圖&#xff1a;從性能優化到交互革命 1.1 技術原理與現代價值 1.2 2025年實現工具與自動化流程 1.2.1 構建工具集成方案 1.2.2 在線生成工具推薦 1.3 高級應用案例與代碼實現 1.3.1 多狀態按鈕系統 1.3.2 響應式雪碧圖實現 1.4 最佳實踐與性能優化 二…

案例——從零開始搭建 ASP.NET Core 健康檢查實例

1. 項目創建與基礎設置 創建新項目 首先&#xff0c;創建一個新的 ASP.NET Core Web API 項目&#xff1a; dotnet new webapi -n HealthCheckDemo cd HealthCheckDemo添加必要的 NuGet 包 添加健康檢查相關的 NuGet 包&#xff1a; dotnet add package Microsoft.AspNetCore.D…

【Java生產級避坑指南】8. Tomcat線程池下的內存地雷:ThreadLocal泄漏檢測與實戰解決

摘要:某金融交易系統(Spring Boot 2.7 + Tomcat 9)在線上運行時出現嚴重內存泄漏:堆內存(4GB)72小時內耗盡并觸發OOM,日均200萬請求場景下,Full GC頻率從正常1次/天飆升至6次/小時。排查發現,根源是ThreadLocal未清理——Tomcat線程池復用線程時,UserInfo等大對象被T…

云端職達:你的AI求職專屬獵頭,顛覆傳統招聘模式

在求職的“金三銀四”或“金九銀十”&#xff0c;每一分每一秒都彌足珍貴。面對浩如煙海的招聘信息&#xff0c;你是否還在花費大量時間一條條篩選、重復投遞簡歷&#xff0c;最終卻常常石沉大海&#xff1f;傳統求職方式的低效和“已讀不回”的窘境&#xff0c;讓許多求職者感…

Parasoft C/C++test如何實現開發環境內嵌的安全檢測

Parasoft 作為嵌入式質量與安全領域的全球領先供應商&#xff0c;其 C/Ctest 平臺依托 IDE 級原生集成、實時合規檢測引擎與缺陷閉環治理框架&#xff0c;將傳統靜態應用安全測試由項目末期集中執行前移至編碼階段&#xff0c;顯著降低缺陷修復成本并縮短認證周期&#xff0c;為…

leetcode-每日一題-人員站位的方案數-C語言

3025. 人員站位的方案數 I 輸入&#xff1a; 2 < n < 50 points[i].length 2 0 < points[i][0], points[i][1] < 50 points[i] 點對兩兩不同。 // 按x降序&#xff0c;按y升序 int cmp(const void *a, const void *b) {int *p *(int **)a;int *q *(int **)b;if(…

ClickHouse中的ON CLUSTER關鍵字

目錄 ClickHouse中的ON CLUSTER關鍵字 前置基礎 ClickHouse 中的 MergeTree 與 ReplicatedMergeTree ON CLUSTER 查詢在集群上的正確用法(為什么 查詢/寫入數據 不用 ON CLUSTER) 與不使用 ON CLUSTER 的區別 注意事項與坑 常用配套命令 ClickHouse中的ON CLUSTER關鍵字 前置…

Python繪圖動態可視化:實時音頻流

在數據可視化中&#xff0c;動畫是一種非常有效的方式&#xff0c;可以幫助我們更好地理解數據的變化和動態過程。Python 的 matplotlib.animation 模塊提供了強大的功能來創建動畫。本文將介紹如何使用 matplotlib.animation 創建簡單的動畫&#xff0c;并展示一個更復雜的實時…

【Vue2 ?】Vue2 入門之旅(七):事件處理

在前幾篇文章中&#xff0c;我們學習了指令與過濾器。本篇將介紹 事件處理&#xff0c;重點包括 v-on、事件修飾符以及鍵盤事件。 目錄 事件綁定 v-on事件修飾符鍵盤事件小結 事件綁定 v-on Vue 使用 v-on&#xff08;縮寫 &#xff09;來監聽事件。 <div id"app&qu…

高效數據傳輸的秘密武器:Protobuf

當涉及到網絡通信和數據存儲時&#xff0c;數據序列化一直都是一個重要的話題&#xff1b;特別是現在很多公司都在推行微服務&#xff0c;數據序列化更是重中之重&#xff0c;通常會選擇使用 JSON 作為數據交換格式&#xff0c;且 JSON 已經成為業界的主流。但是 Google 這么大…