溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Apache IoTDB部署運維的方法是什么

發(fā)布時間:2022-01-06 17:03:57 來源:億速云 閱讀:162 作者:iii 欄目:互聯(lián)網科技

本篇內容主要講解“Apache IoTDB部署運維的方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Apache IoTDB部署運維的方法是什么”吧!

開箱即用

IoTDB 的理念就是系統(tǒng)運維要簡單,要一鍵啟動、開箱即用。就從啟動開始說起吧,需要安裝 jdk8 或者 jdk11,下載發(fā)布版,,解壓縮后是這樣的目錄結構:

Apache IoTDB部署運維的方法是什么

內存在 conf/iotdb-env.sh 里,配置 MAX_HEAP_SIZE,要去掉前邊的注釋。其他所有配置都在 conf/iotdb-engine.properties 里。

可能需要給腳本加個執(zhí)行權限,接下來后臺啟動 server:

nohup sbin/start-server.sh >/dev/null 2>&1 &

目錄結構

使用默認配置啟動并且寫數(shù)據之后,項目根目錄會生成下面這些文件夾,都在 data 目錄下:

Apache IoTDB部署運維的方法是什么

其中主要包括 3 部分,數(shù)據文件data/data,系統(tǒng)文件data/system,寫前日志data/wal。

數(shù)據目錄:data/data

目錄組織方式為 順序/亂序數(shù)據 -> 存儲組 -> 分區(qū)號(目前默認一個分區(qū)) -> 數(shù)據文件.tsfile及索引文件.resource。

數(shù)據文件 TsFile (Timeseries File) 是我們設計的列存文件格式,主要存儲各個時間序列原始數(shù)據,TsFile 有單獨的 API,可以當做一個獨立的工具使用,就像 Parquet、ORC 一樣。 數(shù)據文件可以配置多目錄,通過 data_dirs 參數(shù)配置。

系統(tǒng)目錄:data/system

里面有幾個重要的文件。

mlog.txt:元數(shù)據日志,采用追加的方式,記錄了所有的元數(shù)據操作,包括增刪存儲組、增刪時間序列等。重啟的時候會重做這個文件里的日志,遇到錯誤的會跳過。

system.properties:系統(tǒng)屬性,記錄了一些啟動后不可更改的參數(shù),如分區(qū)粒度、時間精度等。

tlog.txt:標簽和屬性信息,如果沒創(chuàng)建,這個文件就是空的。

寫前日志目錄:data/wal

寫入的數(shù)據會先記錄寫前日志,然后寫到內存里。當內存里的數(shù)據刷盤之后,寫前日志才會被清理。當你發(fā)現(xiàn)寫了一些數(shù)據之后,數(shù)據目錄還是空的,這時候數(shù)據就在寫前日志和內存里。 

寫前日志是按照存儲組組織的,一個寫前日志文件對應一個 TsFile 文件。

如果想強制將內存的數(shù)據刷盤,可以通過 CLI 執(zhí)行 flush 命令。會持久化內存數(shù)據,并且清楚寫前日志。

系統(tǒng)日志:data/logs

除了上邊那三個最重要的,還有系統(tǒng)日志,日志文件按照日期歸檔,沒有日期的就是今天的。

Apache IoTDB部署運維的方法是什么

出現(xiàn)問題可以來這里拷日志發(fā)給我們。

重新來過

測試了一些之后,想重新來過,很方便,把上邊那三個目錄都刪掉,重新啟動就可以了。還是整條街最靚的 IoTDB 。

數(shù)據遷移

遷移之前,最好用 CLI 控制臺執(zhí)行一次 flush 命令,持久化內存數(shù)據(這樣就沒有寫前日志了)。重啟一次 IoTDB 也是類似的效果。遷移的IoTDB版本要相同。

介紹幾個場景:

1. 把 A 機器上的 IoTDB 整體遷移到 B 機器上(調試、數(shù)據備份等)

可以把整個data目錄(包括數(shù)據目錄、系統(tǒng)目錄)都拷過去,在 B 機器配置好根目錄,啟動 B 機器的 IoTDB 即可。

2. 把 A 機器上的 IoTDB 的部分存儲組的數(shù)據遷移到 B 機器上

想遷移數(shù)據,元數(shù)據一定要遷移。首先把 A 機器的 data/system 目錄拷貝到 B 機器上,接下來把 A 機器數(shù)據目錄里的部分存儲組目錄拷貝到 B 機器,在 B 機器配置好對應的目錄。啟動 B 機器的 IoTDB 即可。

3. 把 A 機器上的 IoTDB 的元數(shù)據遷移到 B 機器上,但是不要數(shù)據

把 A 機器的 data/system 目錄拷貝到 B 機器的相應位置,啟動 B 機器的 IoTDB 即可。

系統(tǒng)監(jiān)控

監(jiān)控系統(tǒng)的內存和CPU還是很爽的,現(xiàn)在讓大家也爽一下,以下適用于 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 端口,連上之后就能看到了:

Apache IoTDB部署運維的方法是什么

到此,相信大家對“Apache IoTDB部署運維的方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI