開源BI工具Metabase安裝

2021-03-02 全棧架構
安裝Metabase:

Metabase是作為Java jar文件構建和打包的,可以在有Java環境的任何地方運行。下面我們提供有關如何在各種常見配置中安裝和運行Metabase的詳細說明。

本篇只介紹jar安裝方式,其他方式請參考官方文檔:https://www.metabase.com/docs/latest/operations-guide/start.html#installing-and-running-metabase

運行jar文件:

這是運行Metabase的最簡單和最基本的方式。這裡將介紹運行Metabase的一般要求,並介紹如何定製安裝。

要運行Metabase jar文件,需要在系統上安裝Java。目前Metabase需要Java 7或更高版本,並且可以在OpenJDK或Oracle JDK上運行。

Metabase團隊傾向於儘可能使用開源解決方案。

下載 Metabase

下載地址:http://www.metabase.com/start/jar.html

驗證Java已安裝

在啟動應用程式之前,必須驗證是否安裝了Java:

java -version

你應該看到如下輸出:

java version "1.8.0_31"

Java(TM) SE Runtime Environment (build 1.8.0_31-b13)

Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)

如果你沒有看到上面的輸出,而是看到一個錯誤或者你的Java版本低於1.7,那麼你需要安裝Java運行時。

啟動Metabase

現在您已經有了一個可運行的Java Runtime,現在可以通過以下方式從終端運行jar:

java -jar metabase.jar

很簡單,使用默認設置啟動Metabase應用程式,應該看到一些日誌條目開始在終端窗口中運行,顯示應用程式啟動時的進度。一旦Metabase完全啟動,將看到如下確認信息:

2015-10-14 22:17:50,960 [INFO ] metabase.core :: Metabase Initialization COMPLETE

2015-10-14 22:17:51,004 [INFO ] metabase.core :: Launching Embedded Jetty Webserver with config:

{:port 3000, :host "localhost"}

2015-10-14 22:17:51,024 [INFO ] org.eclipse.jetty.server.Server :: jetty-9.2.z-SNAPSHOT

2015-10-14 22:17:51,049 [INFO ] org.eclipse.jetty.server.ServerConnector :: Started ServerConnector@30aba609{HTTP/1.1}{localhost:3000}

2015-10-14 22:17:51,050 [INFO ] org.eclipse.jetty.server.Server :: Started @35910ms

此時最簡單的安裝方式已經完成了,現在訪問 localhost:3000 試試吧!

第一次啟動Metabase,會看到:

這個時候我們可以去試用Metabase了,但是還不能在生產環境運行,如果好奇心重,可以點擊 Let’sgetstarted 按鈕,如果想更深入的了解,請繼續往下看。

配置應用程式資料庫

應用程式資料庫是Metabase存儲用戶信息,保存的問題,儀錶板以及運行應用程式所需的任何其他數據的地方。默認設置使用嵌入式H2資料庫,但這是可配置的。

註:在應用程式運行時,您無法更改應用程式資料庫。這些值在應用程式啟動時只讀一次,並在應用程式的整個運行過程中保持不變。

注意:目前Metabase不提供將數據從一個應用程式資料庫遷移到另一個應用程式資料庫的自動化支持,所以如果您從H2開始然後想要遷移到Postgres,則必須從H2中轉儲數據並將其導入Postgres,然後再重新啟動應用。

H2(默認)

Metabase實例使用H2資料庫,不需要做其他配置。當應用程式首次啟動時,它將嘗試在啟動應用程式的相同文件系統位置創建一個新的H2資料庫。

您可以從終端看到這些資料庫文件:

ls metabase.*

您應該看到以下文件:

metabase.db.h2.db  # Or metabase.db.mv.db depending on when you first started using Metabase.

metabase.db.trace.db

如果出於任何原因想要在啟動Metabase的位置的單獨位置使用H2資料庫文件,則可以使用環境變量。例如:

export MB_DB_TYPE=h2

export MB_DB_FILE=/the/path/to/my/h2.db

java -jar metabase.jar

需要注意的是H2自動追加.mv.db或.h2.db將路徑指定; 不要包括你的路徑!換句話說,MBDBFILE應該是類似的東西/path/to/metabase.db,而不是類似的東西/path/to/metabase.db.mv.db(儘管這是實際創建的文件)。

Postgres

對於Metabase的生產安裝,我們建議用戶用更強大的選項(如Postgres)替換H2資料庫。當Metabase與許多用戶一起運行時,這提供了更高程度的性能和可靠性。

您可以使用幾個簡單的環境變量來更改應用程式資料庫以使用Postgres。例如:

export MB_DB_TYPE=postgres

export MB_DB_DBNAME=metabase

export MB_DB_PORT=5432

export MB_DB_USER=<username>

export MB_DB_PASS=<password>

export MB_DB_HOST=localhost

java -jar metabase.jar

這將告訴Metabase使用提供的Postgres連接信息查找其應用程式資料庫。

MySQL

如果你更喜歡使用MySQL,我們已經介紹了你。您可以使用這些環境變量將應用程式資料庫更改為使用MySQL。例如:

export MB_DB_TYPE=mysql

export MB_DB_DBNAME=metabase

export MB_DB_PORT=3306

export MB_DB_USER=<username>

export MB_DB_PASS=<password>

export MB_DB_HOST=localhost

java -jar metabase.jar

這將告訴Metabase使用提供的MySQL連接信息來查找其應用程式資料庫。

自定義Metabase Jetty Web伺服器

在大多數情況下,沒有理由修改Metabase運行其嵌入式Jetty Web伺服器來託管應用程式的任何設置,但是如果您希望直接使用Metabase伺服器運行HTTPS,或者需要在另一個埠上運行,那就是全部可配置。

在另一個埠上運行Metabase

默認情況下,Metabase將在埠3000上啟動,但是如果您希望在另一個埠上運行應用程式,則可以通過設置以下環境變量來實現:

export MB_JETTY_PORT=12345

java -jar metabase.jar

在本例中,一旦應用程式啟動,您將在埠上訪問它,12345而不是默認埠3000。

監聽特定的網絡接口

默認情況下,元資料庫將在偵聽localhost。在某些生產環境中,您可能想要在不同的界面上進行監聽,這可以通過使用MBJETTYHOST環境變量來完成:

export MB_JETTY_HOST=0.0.0.0

java -jar metabase.jar

處理Metabase中的時區

元資料庫盡最大努力確保在您想要的任何時區進行正確和準確的報告,但時區是一個複雜的野獸,所以遵守下面列出的一些建議以確保您的報告按預期發布非常重要。

以下設置時區的地方都會影響您看到的數據:

Database - 包括全局資料庫時區設置,特定列類型設置,甚至包括單個數據值。OS & JVM - 在任何運行Metabase的系統上,作業系統的時區設置以及Java虛擬機都會影響您的報告。Metabase - 在Metabase中報告時區設置(如果設置)將影響您的數據報告方式。為了確保正確的報告,重要的是在所有地方始終如一地設置時區。配置資料庫推薦以下設置:

確保所有資料庫列都已正確設置,以包含時區知曉。

除非您有特殊需要,否則最好將資料庫報告時區設置為UTC並將所有與日期/時間相關的值存儲為UTC。配置您的JVM以使用您想要用於報告的相同時區,這在理想情況下也應該與資料庫的時區匹配。將元資料庫設置Report Timezone為與要查看報告的時區相匹配,再次,這應該與您所做的其他時區設置相匹配。常見陷阱:

您的資料庫使用的日期/時間列沒有任何時區信息。通常,當發生這種情況時,您的資料庫將假定所有數據來自資料庫配置的任何時區,或者可能只是默認為UTC(請檢查資料庫供應商是否確定)。您的JVM時區與您的元資料庫Report Timezone選擇不同。這是一個非常常見的問題,可以通過啟動java來-Duser.timezone=正確地設置選項來匹配元資料庫報告時區。

配置日誌記錄級別

默認情況下,Metabase會記錄相當多的信息。幸運的是,Metabase使用了Log4j,意味著日誌記錄是完全可配置的。

元資料庫的默認日誌配置可以在這裡找到。您可以覆蓋此屬性文件,並-Dlog4j.configuration在運行Metabase時通過傳遞參數來告訴Metabase使用您自己的日誌記錄配置文件:

java -Dlog4j.configuration=file:/path/to/custom/log4j.properties -jar metabase.jar開始自定義日誌記錄的最簡單方法是使用log4j.properties與上面連結的默認文件的副本並進行調整以滿足您的需求。請記住,您需要重新啟動Metabase才能使文件的更改生效。

通過JMX監控

診斷性能相關問題可能是一個挑戰。幸運的是,JVM附帶了可以幫助診斷許多常見問題的工具。啟用JMX並使用像VisualVM這樣的工具可以幫助診斷與內存耗盡,掛起的元資料庫實例以及響應時間緩慢相關的問題。有關設置的更多信息,請參閱通過JMX監控。

Java版本

配置資料庫將運行在Java版本7或更高版本上,但Java 8是最簡單和最常見的chioce。Java 7已於2015年4月由Oracle終身使用,因此,Metabase對Java 7的支持已被棄用。我們鼓勵用戶升級到Java 8,因為我們將在未來版本中放棄對Java 7的支持。有關安裝/升級Windows或MacOS系統的更多信息,請參閱Oracle安裝說明。Linux用戶可能會發現OpenJDK更易於安裝/升級,更多信息可在OpenJDK安裝頁面上找到。

在Java 7上運行

在Java版本7上運行Metabase需要Java調用的附加參數:

java -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=256m -jar metabase.jar

請注意,這些額外的參數在Java 8上不是必需的。對Java 7的支持已被棄用,並且鼓勵用戶進行升級。

在Java 8上運行

在Java 8上運行是運行Metabase的最簡單途徑。沒有額外的參數要求,如果從Jar啟動,下面的調用將會起作用:

java -jar metabase.jar

在Java 9上運行

Java版本9引入了一個新的模塊系統,對類加載有一些額外的限制。元資料庫(和它的依賴)仍然依賴於舊的行為。Metabase在Java 9上運行,但需要額外的參數才能解決模塊系統中的這些更改:

java --add-opens=java.base/java.net=ALL-UNNAMED -jar metabase.jar

生產環境配置建議:

export MB_DB_TYPE=mysql

export MB_DB_DBNAME=metabase

export MB_DB_PORT=3306

export MB_DB_USER=<username>

export MB_DB_PASS=<password>

export MB_DB_HOST=localhost

java -jar -Duser.timezone=UTC metabase.jar

更詳細的配置請參考官方文檔:https://www.metabase.com/docs/latest/operations-guide/start.html

《全棧架構》

相關焦點

  • 1小時搞定BI數據可視化——Metabase開源大數據BI工具簡介
    雖然對於擁有大量數據的企業,仍舊建議商業化的BI工具,因為對於軟體而言,其有很大一部分報價在於服務,不過研究開源BI工具對於思路的開拓和功能的探索也有很重要意義。今天便為大家推薦一個免費開源的可視化工具Metabase,Metabase是一個開源的BI數據可視化平臺。
  • 開源BI才是企業的未來
    商業的bi見得很多,說下商業bi存在的問題,以及實施了一段時間棄用的原因。用過下面的BI,說下心得感受。選型選錯誤,就會越錯越遠。缺點3:功能特別多功能特別多的BI產品,因為人家做SaaS的,用起來很重,設置起來很麻煩說說我知道的大公司,在用的開源BI。
  • Metabase 0.37.5 發布,公司團隊數據分析工具
    Metabase 是一個簡單的分析工具,通過給公司成員提問,從得到的數據中進行分析、學習。此版本更新內容如下:Bug 修復 Linked filters 在 v0.37.2 上打破了 SQL 問題。Docker 鏡像:metabase/metabase:v0.37.5下載 JAR:https : //downloads.metabase.com/v0.37.5/metabase.jarNotesSHA-256 checksum for the 0.37.5 JAR:e6a3ca20fe4fc11c5ba69e2d1b4f9f0f8ac11e28c67b6e2c471c093fba2d78f3
  • 自助式BI工具分享:淺析FineBI
    目前,市面上可以找到的自助式BI工具並不少,如:Tableau、Qlikview、PowerBI、FineBI、Superset等。既有開源的也有商業的,應該如何選擇?  顯然,正確選擇一款適合的工具,不僅能簡化數據分析的繁雜工作,而且能極大提高分析效率與質量。而筆者認為,除非你所在企業技術實力足夠強,否則不建議使用開源的,不如花點錢上商業產品。
  • 小米開源NLP分詞工具
    近日,小米NLP團隊開源了其分詞工具minlp-tokenizer,該分詞工具支持細粒度和
  • bi軟體和報表工具有哪些區別?
    當數據分析師加入大數據行業時,他們肯定會聽到的兩個詞是「報表工具」和「bi軟體」。但是,許多人以為報表和BI是同一個東西,所以不了解兩者的概念和區別。實際上,這是一個非常錯誤的理解。形成這個錯誤概念的原因是,兩者都是大數據時代下的分析工具。新一代bi軟體和報表工具的功能有些重疊。
  • 開源免費殺毒:Ubuntu安裝ClamAV實戰
    因為該殺毒軟體是開源免費,有眾多的開源社區技術人員支撐,所以受到不少的技術員的青睞,現在就讓我們來認識一下ClamAV。    Clam AntiVirus是一個類UNIX系統上使用的反病毒軟體包。主要應用於郵件伺服器,採用多線程後臺操作,可以自動升級病毒庫。Clam AntiVirus(ClamAV)是免費而且開放原始碼的防毒軟體,軟體與病毒碼的的更新皆由社群免費發布。
  • 兩大開源UML建模工具UMLet和ArgoUML用法解析
    兩大開源UML建模工具UMLet和ArgoUML用法解析 UML建模工具大家應該比較熟悉了,那麼開源UML建模工具你是否了解,本文就向大家介紹兩款開源UML建模工具:UMLet和ArgoUML,希望本文的介紹對你的學習有所幫助。
  • 10 個強大的開源 Web 流量分析工具
    Web 流量分析工具多不勝數,從 WebTrends 這樣專業而昂貴的,到 Google Analytics 這樣強大而免費的,從需要在伺服器端單獨部署的,到可以從前端集成的,不一而足。本文收集並介紹了10個功能強大的開源 Web 流量分析工具,因為是開源的,因此可以免費部署到你的網站。
  • 截屏、文字提取一氣呵成,超實用OCR開源小工具
    機器之心報導機器之心編輯部這個文本 OCR 小工具,能讓你「所截即所得」。在我們辦公時,是不是經常遇到圖片內容轉文字的需求?你是用什麼工具解決的呢?是手機自帶拍照轉文字功能?還是使用 QQ 裡面的工具?
  • Top 7大開源數據可視化分析工具!
    Top 7大開源數據可視化分析工具! Top 7大開源數據可視化分析工具!關鍵詞: 開源 數據   目前,我們可以在市場上找到很多用於網絡分析和數據可視化的開源工具,例如NetworkX,R和Gephi中的iGraph包等。
  • 谷歌又一開源利器Atheris,Python代碼安全掃描工具
    近日谷歌開源了一款Python代碼安全漏洞掃描工具Atheris,希望開發者在漏洞被利用之前能夠用它來發現安全漏洞並修補漏洞。pythonAtheris介紹Atheris目前基於Apache-2.0 License開源在github上,Atheris是一個典型的漏洞檢查工具
  • iOS 14 越獄工具更新,SEP 漏洞開源降級有望?
    U盤 運行【軟碟通U盤寫入工具.exe】再點擊安裝 左上角文件選擇打開,選擇checkra1n.iso 再點啟動-寫入硬碟映像,選擇U盤再點寫入 重啟電腦,修改電腦啟動項,改為USB啟動 使用 checkra1n 引導設備
  • 以及如何使用開源網絡情報工具?
    什麼是OSINT開源網絡情報框架?從網際網路各種各樣的來源收集信息是一項耗時的工作,但是有許多工具可以使情報收集更加簡單。你可能聽說過Shodan之類的工具以及Nmap和Zenmap之類的埠掃描儀,但所有工具種類繁多。
  • GitHub 上的十一款熱門開源安全工具 - OSCHINA - 中文開源技術...
    作為廣為人知的Linus定律,當討論開源模式在安全方面的優勢時,開放代碼能夠提高項目漏洞檢測效率的理論也被IT專業人士們所普遍接受。惡意軟體分析、滲透測試、計算機取證——GitHub託管著一系列引人注目的安全工具、足以應對各類規模下計算環境的實際需求。
  • 20個免費和開源數據可視化工具
    通過使用正確的工具,您可以從原始數據中勾勒出令人信服的視覺故事。以下是一些用於數據可視化的免費和開源工具。1.Candela如果您了解JavaScript,那麼您可以使用此開源工具進行豐富的數據可視化。Candela是一個開源的可互操作網絡可視化組件。
  • 60款流行網絡工具的開源替代選擇
    開源網絡工具能派得上用處。無論你是在管理大型企業數據中心中成千上萬的系統,還是僅僅把你家裡的幾臺電腦連接起來,開源網絡工具都能幫助你搭建和維護一個低成本的網絡。本文整理出了讓這項任務變得更容易一點的60款開源網絡工具。
  • IDC評測:六大開源搜尋引擎工具
    下面,IDC評述網與大家分享6個搜尋引擎工具。 1. PhpDig PhpDig是一個採用PHP開發的Web爬蟲和搜尋引擎。通過對動態和靜態頁面進行索引建立一個詞彙表。當搜索查詢時,它將按一定的排序規則顯示包含關鍵字的搜索結果頁面。適用於專業化強、層次深的個性化搜尋引擎。 2.
  • N 個免費 DevOps 開源工具,沒用過,至少應該了解!
    在DevOps環境中,開發人員和系統管理員會構建一些關係、流程和工具,從而更好的與客戶互動,最終提供更好的服務。簡單了解了Devops是個啥之後,一起來看看下面這60多款最棒的開源工具,可以幫助你很好的實行 DevOps。