今天介紹 IoTDB 的部署運維相關知識,幫助你們玩轉 IoTDB!nginx
正文 1859 字,預計閱讀時間 5 分鐘。
apache
開箱即用服務器
IoTDB 的理念就是系統運維要簡單,要一鍵啓動、開箱即用。就從啓動開始提及吧,須要安裝 jdk8 或者 jdk11,下載發佈版,http://iotdb.apache.org/Download/ ,解壓縮後是這樣的目錄結構:運維
內存在 conf/iotdb-env.sh 裏,配置 MAX_HEAP_SIZE,要去掉前邊的註釋。其餘全部配置都在 conf/iotdb-engine.properties 裏。工具
可能須要給腳本加個執行權限,接下來後臺啓動 server:測試
nohup sbin/start-server.sh >/dev/null 2>&1 &
目錄結構spa
使用默認配置啓動而且寫數據以後,項目根目錄會生成下面這些文件夾,都在 data 目錄下:命令行
其中主要包括 3 部分,數據文件data/data,系統文件data/system,寫前日誌data/wal。設計
數據目錄:data/data
調試
目錄組織方式爲 順序/亂序數據 -> 存儲組 -> 分區號(目前默認一個分區) -> 數據文件.tsfile及索引文件.resource。
數據文件 TsFile (Timeseries File) 是咱們設計的列存文件格式,主要存儲各個時間序列原始數據,TsFile 有單獨的 API,能夠當作一個獨立的工具使用,就像 Parquet、ORC 同樣。 數據文件能夠配置多目錄,經過 data_dirs 參數配置。
系統目錄:data/system
裏面有幾個重要的文件。
mlog.txt:元數據日誌,採用追加的方式,記錄了全部的元數據操做,包括增刪存儲組、增刪時間序列等。重啓的時候會重作這個文件裏的日誌,遇到錯誤的會跳過。
system.properties:系統屬性,記錄了一些啓動後不可更改的參數,如分區粒度、時間精度等。
tlog.txt:標籤和屬性信息,若是沒建立,這個文件就是空的。
寫前日誌目錄:data/wal
寫入的數據會先記錄寫前日誌,而後寫到內存裏。當內存裏的數據刷盤以後,寫前日誌纔會被清理。當你發現寫了一些數據以後,數據目錄仍是空的,這時候數據就在寫前日誌和內存裏。
寫前日誌是按照存儲組組織的,一個寫前日誌文件對應一個 TsFile 文件。
若是想強制將內存的數據刷盤,能夠經過 CLI 執行 flush 命令。會持久化內存數據,而且清楚寫前日誌。
系統日誌:data/logs
除了上邊那三個最重要的,還有系統日誌,日誌文件按照日期歸檔,沒有日期的就是今天的。
出現問題能夠來這裏拷日誌發給咱們。
從新來過
測試了一些以後,想從新來過,很方便,把上邊那三個目錄都刪掉,從新啓動就能夠了。仍是整條街最靚的 IoTDB 。
數據遷移
遷移以前,最好用 CLI 控制檯執行一次 flush 命令,持久化內存數據(這樣就沒有寫前日誌了)。重啓一次 IoTDB 也是相似的效果。遷移的IoTDB版本要相同。
介紹幾個場景:
1. 把 A 機器上的 IoTDB 總體遷移到 B 機器上(調試、數據備份等)
能夠把整個data目錄(包括數據目錄、系統目錄)都拷過去,在 B 機器配置好根目錄,啓動 B 機器的 IoTDB 便可。
2. 把 A 機器上的 IoTDB 的部分存儲組的數據遷移到 B 機器上
想遷移數據,元數據必定要遷移。首先把 A 機器的 data/system 目錄拷貝到 B 機器上,接下來把 A 機器數據目錄裏的部分存儲組目錄拷貝到 B 機器,在 B 機器配置好對應的目錄。啓動 B 機器的 IoTDB 便可。
3. 把 A 機器上的 IoTDB 的元數據遷移到 B 機器上,可是不要數據
把 A 機器的 data/system 目錄拷貝到 B 機器的相應位置,啓動 B 機器的 IoTDB 便可。
系統監控
監控系統的內存和CPU仍是很爽的,如今讓你們也爽一下,如下適用於 0.9.2 之後的版本,主要是用 jvisualvm,本地須要有 jdk8。
若是是本機運行 IoTDB,直接在本機命令行輸入 jvisualvm 就能夠鏈接本機的 IoTDB 進程了。
若是要在服務器運行 IoTDB,須要先修改配置文件 conf/iotdb-env.sh,
JMX_LOCAL="false" JMX_IP="the_real_iotdb_server_ip" # 填寫實際IoTDB的IP地址
查看 conf/jmx.password,這裏記錄了默認的 JMX 的用戶和密碼,能夠修改。各個用戶的權限在 conf/jmx.access 中。
而後創建遠程鏈接,默認 31999 端口,連上以後就能看到了:
總結
今天介紹了 IoTDB 的目錄結構,從新來過和遷移方式,最後介紹了系統監控方式。歡迎關注、轉發!