快速上手
快速上手
快速上手
本文將介紹關(guān)于 IoTDB 使用的基本流程,如果需要更多信息,請(qǐng)瀏覽我們官網(wǎng)的 指引.
安裝環(huán)境
安裝前需要保證設(shè)備上配有 JDK>=1.8 的運(yùn)行環(huán)境,并配置好 JAVA_HOME 環(huán)境變量。
設(shè)置最大文件打開(kāi)數(shù)為 65535。
安裝步驟
IoTDB 支持多種安裝途徑。用戶(hù)可以使用三種方式對(duì) IoTDB 進(jìn)行安裝——下載二進(jìn)制可運(yùn)行程序、使用源碼、使用 docker 鏡像。
使用源碼:您可以從代碼倉(cāng)庫(kù)下載源碼并編譯,具體編譯方法見(jiàn)下方。
二進(jìn)制可運(yùn)行程序:請(qǐng)從 下載 頁(yè)面下載最新的安裝包,解壓后即完成安裝。
使用 Docker 鏡像:dockerfile 文件位于 github
軟件目錄結(jié)構(gòu)
- sbin 啟動(dòng)和停止腳本目錄
- conf 配置文件目錄
- tools 系統(tǒng)工具目錄
- lib 依賴(lài)包目錄
IoTDB 試用
用戶(hù)可以根據(jù)以下操作對(duì) IoTDB 進(jìn)行簡(jiǎn)單的試用,若以下操作均無(wú)誤,則說(shuō)明 IoTDB 安裝成功。
啟動(dòng) IoTDB
用戶(hù)可以使用 sbin 文件夾下的 start-server 腳本啟動(dòng) IoTDB。
Linux 系統(tǒng)與 MacOS 系統(tǒng)啟動(dòng)命令如下:
> nohup sbin/start-server.sh -f >/dev/null 2>&1 &
or
> nohup sbin/start-server.sh -b可選參數(shù):
- 默認(rèn)不含任何參數(shù)時(shí), iotdb 將在后臺(tái)啟動(dòng),并且不在控制臺(tái)打印日志
- "-v": 查看iotdb版本
- "-f": 在控制臺(tái)前臺(tái)啟動(dòng)iotdb (v0.14前是默認(rèn)設(shè)置)
- "-b": 在后臺(tái)啟動(dòng)iotdb,控制臺(tái)不打印日志
- "-p <pidfile>": 將pid保存到指定的文件中
- "-h": 查看幫助
- "printgc"(必須是最后一個(gè)參數(shù)): 打印GC日志 (從v0.14起,該參數(shù)將被-g取代)
- "-g": 打印GC日志
- "-c <config folder>": 設(shè)置IOTDB_CONF變量的值,從而修改配置文件所在文件夾
- "-D <a=b>": 設(shè)置Java的系統(tǒng)環(huán)境變量或其他參數(shù)
- "-H <filePath> 當(dāng)OOM異常時(shí)存儲(chǔ)堆快照到<filePath> (僅 Linux/Mac生效, 且要求iotdb內(nèi)存小于16GB)"
- "-E <\filePath> save error file of JVM to <filePath> (僅 Linux/Mac生效)"
- "-X <command> 等價(jià)于JVM中 -XX:<command>"
Windows 系統(tǒng)啟動(dòng)命令如下:
> sbin\start-server.batWindows 系統(tǒng)支持 -c, -v, -f, -b 四個(gè)參數(shù)。
使用 Cli 工具
IoTDB 為用戶(hù)提供多種與服務(wù)器交互的方式,在此我們介紹使用 Cli 工具進(jìn)行寫(xiě)入、查詢(xún)數(shù)據(jù)的基本步驟。
初始安裝后的 IoTDB 中有一個(gè)默認(rèn)用戶(hù):root,默認(rèn)密碼為 root。用戶(hù)可以使用該用戶(hù)運(yùn)行 Cli 工具操作 IoTDB。Cli 工具啟動(dòng)腳本為 sbin 文件夾下的 start-cli 腳本。啟動(dòng)腳本時(shí)需要指定運(yùn)行 ip、port、username 和 password。若腳本未給定對(duì)應(yīng)參數(shù),則默認(rèn)參數(shù)為"-h 127.0.0.1 -p 6667 -u root -pw -root"
以下啟動(dòng)語(yǔ)句為服務(wù)器在本機(jī)運(yùn)行,且用戶(hù)未更改運(yùn)行端口號(hào)的示例。
Linux 系統(tǒng)與 MacOS 系統(tǒng)啟動(dòng)命令如下:
> sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw rootWindows 系統(tǒng)啟動(dòng)命令如下:
> sbin\start-cli.bat -h 127.0.0.1 -p 6667 -u root -pw root啟動(dòng)后出現(xiàn)如圖提示即為啟動(dòng)成功。
_____ _________ ______ ______
|_ _| | _ _ ||_ _ `.|_ _ \
| | .--.|_/ | | \_| | | `. \ | |_) |
| | / .'`\ \ | | | | | | | __'.
_| |_| \__. | _| |_ _| |_.' /_| |__) |
|_____|'.__.' |_____| |______.'|_______/ version x.x.x
IoTDB> login successfully
IoTDB>IoTDB 的基本操作
在這里,我們首先介紹一下使用 Cli 工具創(chuàng)建時(shí)間序列、插入數(shù)據(jù)并查看數(shù)據(jù)的方法。
數(shù)據(jù)在 IoTDB 中的組織形式是以時(shí)間序列為單位,每一個(gè)時(shí)間序列中有若干個(gè)數(shù)據(jù)-時(shí)間點(diǎn)對(duì),每一個(gè)時(shí)間序列屬于一個(gè)存儲(chǔ)組。在定義時(shí)間序列之前,要首先使用 SET STORAGE GROUP 語(yǔ)句定義存儲(chǔ)組。SQL 語(yǔ)句如下:
IoTDB> SET STORAGE GROUP TO root.ln我們可以使用 SHOW STORAGE GROUP 語(yǔ)句來(lái)查看系統(tǒng)當(dāng)前所有的存儲(chǔ)組,SQL 語(yǔ)句如下:
IoTDB> SHOW STORAGE GROUP執(zhí)行結(jié)果為:
+-------------+
|storage group|
+-------------+
| root.ln|
+-------------+
Total line number = 1存儲(chǔ)組設(shè)定后,使用 CREATE TIMESERIES 語(yǔ)句可以創(chuàng)建新的時(shí)間序列,創(chuàng)建時(shí)間序列時(shí)需要定義數(shù)據(jù)的類(lèi)型和編碼方式。此處我們創(chuàng)建兩個(gè)時(shí)間序列,SQL 語(yǔ)句如下:
IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN
IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE為了查看指定的時(shí)間序列,我們可以使用 SHOW TIMESERIES <Path>語(yǔ)句,其中、<Path>表示時(shí)間序列對(duì)應(yīng)的路徑,默認(rèn)值為空,表示查看系統(tǒng)中所有的時(shí)間序列。下面是兩個(gè)例子:
使用 SHOW TIMESERIES 語(yǔ)句查看系統(tǒng)中存在的所有時(shí)間序列,SQL 語(yǔ)句如下:
IoTDB> SHOW TIMESERIES執(zhí)行結(jié)果為:
+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
| timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
|root.ln.wf01.wt01.temperature| null| root.ln| FLOAT| RLE| SNAPPY|null| null|
| root.ln.wf01.wt01.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY|null| null|
+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
Total line number = 2查看具體的時(shí)間序列 root.ln.wf01.wt01.status 的 SQL 語(yǔ)句如下:
IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status執(zhí)行結(jié)果為:
+------------------------+-----+-------------+--------+--------+-----------+----+----------+
| timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|
+------------------------+-----+-------------+--------+--------+-----------+----+----------+
|root.ln.wf01.wt01.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY|null| null|
+------------------------+-----+-------------+--------+--------+-----------+----+----------+
Total line number = 1接下來(lái),我們使用 INSERT 語(yǔ)句向 root.ln.wf01.wt01.status 時(shí)間序列中插入數(shù)據(jù),在插入數(shù)據(jù)時(shí)需要首先指定時(shí)間戳和路徑后綴名稱(chēng):
IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status) values(100,true);我們也可以向多個(gè)時(shí)間序列中同時(shí)插入數(shù)據(jù),這些時(shí)間序列同屬于一個(gè)時(shí)間戳:
IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status,temperature) values(200,false,20.71)最后,我們查詢(xún)之前插入的數(shù)據(jù)。使用 SELECT 語(yǔ)句我們可以查詢(xún)指定的時(shí)間序列的數(shù)據(jù)結(jié)果,SQL 語(yǔ)句如下:
IoTDB> SELECT status FROM root.ln.wf01.wt01查詢(xún)結(jié)果如下:
+-----------------------+------------------------+
| Time|root.ln.wf01.wt01.status|
+-----------------------+------------------------+
|1970-01-01T08:00:00.100| true|
|1970-01-01T08:00:00.200| false|
+-----------------------+------------------------+
Total line number = 2我們也可以查詢(xún)多個(gè)時(shí)間序列的數(shù)據(jù)結(jié)果,SQL 語(yǔ)句如下:
IoTDB> SELECT * FROM root.ln.wf01.wt01查詢(xún)結(jié)果如下:
+-----------------------+--------------------------+-----------------------------+
| Time| root.ln.wf01.wt01.status|root.ln.wf01.wt01.temperature|
+-----------------------+--------------------------+-----------------------------+
|1970-01-01T08:00:00.100| true| null|
|1970-01-01T08:00:00.200| false| 20.71|
+-----------------------+--------------------------+-----------------------------+
Total line number = 2輸入 quit 或 exit 可退出 Cli 結(jié)束本次會(huì)話(huà)。
IoTDB> quit或
IoTDB> exit想要瀏覽更多 IoTDB 數(shù)據(jù)庫(kù)支持的命令,請(qǐng)瀏覽 SQL Reference.
停止 IoTDB
用戶(hù)可以使用$IOTDB_HOME/sbin 文件夾下的 stop-server 腳本停止 IoTDB。
Linux 系統(tǒng)與 MacOS 系統(tǒng)停止命令如下:
> $sbin/stop-server.shWindows 系統(tǒng)停止命令如下:
> $sbin\stop-server.batIoTDB 的權(quán)限管理
初始安裝后的 IoTDB 中有一個(gè)默認(rèn)用戶(hù):root,默認(rèn)密碼為 root。該用戶(hù)為管理員用戶(hù),固定擁有所有權(quán)限,無(wú)法被賦予、撤銷(xiāo)權(quán)限,也無(wú)法被刪除。
您可以通過(guò)以下命令修改其密碼:
ALTER USER <username> SET PASSWORD <password>;
Example: IoTDB > ALTER USER root SET PASSWORD 'newpwd';權(quán)限管理的具體內(nèi)容可以參考:權(quán)限管理
基礎(chǔ)配置
配置文件在"conf"文件夾下,包括:
- 環(huán)境配置模塊 (
iotdb-env.bat,iotdb-env.sh), - 系統(tǒng)配置模塊 (
iotdb-engine.properties) - 日志配置模塊 (
logback.xml).