CentOS7安裝時序數據庫InfluxDB2簡易教程
InfluxDB是一個開源的時間序列數據庫,它專門用于處理大規模的時間序列數據。時間序列數據是在特定時間點上收集的數據,例如傳感器數據、監控數據、應用程序日志等。
InfluxDB設計用于高效地存儲、查詢和分析大量的時間序列數據。它具有高性能、可擴展性和靈活性的特點。它支持快速的寫入和讀取操作,并提供強大的時間序列數據查詢功能。
InfluxDB提供了一種靈活的數據模型,可以輕松地存儲和查詢不同種類的時間序列數據。它支持標簽(tags)和字段(fields)的概念,用于對時間序列數據進行標識和分類。標簽可以用于快速篩選和聚合數據,而字段則用于存儲實際的測量值。
InfluxDB還提供了一套豐富的API和工具,用于數據的導入、導出和可視化。它與許多常見的數據處理和可視化工具(如Grafana)集成良好,方便用戶使用。
總之,InfluxDB是一個用于存儲和查詢時間序列數據的強大工具,適用于各種應用場景,包括監控、物聯網、日志分析等。
InfluxDB和InfluxDB2是兩個不同版本的時序數據庫,它們有以下區別:
- 數據存儲結構:InfluxDB1采用的是基于TSM(The Storage Machine)的存儲引擎,而InfluxDB2則采用了新的存儲引擎,稱為InfluxDB IOx。InfluxDB IOx引擎支持更高的寫入和查詢性能,以及更高的數據壓縮比。
- 數據模型:InfluxDB1采用的是tag和field的模型,tag用于標識數據的維度,field用于存儲數據的值。而InfluxDB2引入了新的概念,如bucket、measurement和tag。Bucket類似于數據庫的概念,Measurement類似于表,Tag和Field的概念與InfluxDB1相同。
- 查詢語言:InfluxDB1使用的查詢語言是InfluxQL,而InfluxDB2引入了新的查詢語言,稱為Flux。Flux具有更強大和靈活的查詢功能,支持更復雜的數據操作和分析。
- 可擴展性:InfluxDB2在可擴展性方面進行了改進,支持更大規模的數據集和更多的并發查詢。它使用了分布式計算模型,可以水平擴展,提高系統的性能和容錯性。
綜上所述,InfluxDB2相對于InfluxDB1具有更好的性能、更靈活的數據模型和查詢語言,更適合處理大規模的時序數據,下面我們來介紹下載并安裝最新版本的InfluxDB2。
一、下載安裝InfluxDB2
下載InfluxDB2安裝包 https://github.com/influxdata/influxdb/releases ,這里選擇rpm安裝包 influxdb2-2.7.3-1.x86_64.rpm ,可以直接在服務器執行 :
wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.7.3-1.x86_64.rpm
在服務器,切換到influxdb2-2.7.3-1.x86_64.rpm文件所在目錄,執行安裝命令。
yum localinstall -y ./influxdb2-2.7.3-1.x86_64.rpm
執行結果如下,Complete!表示安裝成功。
Loaded plugins: fastestmirror
Examining ./influxdb2-2.7.3-1.x86_64.rpm: influxdb2-2.7.3-1.x86_64
Marking ./influxdb2-2.7.3-1.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package influxdb2.x86_64 0:2.7.3-1 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=================================================================================================================================================================================================================================================
Package Arch Version Repository Size
=================================================================================================================================================================================================================================================
Installing:
influxdb2 x86_64 2.7.3-1 /influxdb2-2.7.3-1.x86_64 99 M
Transaction Summary
=================================================================================================================================================================================================================================================
Install 1 Package
Total size: 99 M
Installed size: 99 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : influxdb2-2.7.3-1.x86_64 1/1
Created symlink from /etc/systemd/system/influxd.service to /usr/lib/systemd/system/influxdb.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/influxdb.service to /usr/lib/systemd/system/influxdb.service.
Verifying : influxdb2-2.7.3-1.x86_64 1/1
Installed:
influxdb2.x86_64 0:2.7.3-1
Complete!
啟動influxdb服務。
sudo systemctl start influxdb
查看influxdb服務啟動狀態,結果顯示Active: active (running)表示正在運行,服務啟動成功。
sudo systemctl status influxdb
設置開機啟動。
sudo systemctl enable influxdb
停止influxdb服務。
sudo systemctl stop influxdb
二、配置InfluxDB2
第一步我們安裝并啟動好Influxdb數據庫之后,接下來就是配置數據庫,默認是沒有用戶名密碼的,我們可以通過配置界面進行初始化配置。
訪問InfluxDB2管理界面,ip:8086 ,將會出現以下界面:
點擊 GET STARTED按鈕進入到用戶配置界面,填寫用戶名/密碼,Organization Name(工作區組織名稱),填寫Bucket Name,Bucket相當于Mysql數據庫的庫名。
點擊 CONTINUE按鈕之后會出現一個api token記住這個token,在api調用時需要用到。
點擊 QUICK START 按鈕,就可以進入到Influxdb后臺管理界面了。
請注意,InfluxDB2的高可用集群功能是收費的。在InfluxDB1中,可以借助使用influxdb-proxy的功能來實現集群及負載均衡。
InfluxDB Proxy 是一個用于 InfluxDB 的代理服務器,它能夠處理代理讀寫請求,并將請求轉發到 InfluxDB 服務器。
InfluxDB Proxy 提供了以下功能:
- 負載均衡:能夠將讀寫請求分發到多個 InfluxDB 服務器上,實現負載均衡,提高系統的容錯性和性能。
- 緩存:能夠緩存查詢結果,減輕 InfluxDB 服務器的負載,并提高查詢性能。
- 查詢優化:能夠對查詢進行優化,例如聚合、剪裁和壓縮數據,提供更高效的查詢結果。
- 安全性:提供用戶身份驗證和授權功能,確保只有經過授權的用戶才能訪問 InfluxDB 服務器。
總之,InfluxDB Proxy 是一個非常有用的工具,可以提高 InfluxDB 的性能和可用性,并提供額外的安全和查詢優化功能。