wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.3.x86_64.rpm
sudo yum localinstall influxdb-1.8.3.x86_64.rpm
按照后 配置文件在 /etc/influxdb/influxdb.conf
該選項用于上報influxdb的使用信息給InfluxData公司,默認值為false,將此選項設置為true將禁用報告。
備份恢復時使用,默認值為8088。
本部分控制InfluxDB metastore的參數,該metastore存儲有關用戶,數據庫,保留策略,分片和連續查詢的信息。
meta數據存放目錄。
用于控制默認存儲策咯,數據庫創建時,會自動生成autogen的存儲策略,默認值:true。
是否開啟meta日志,默認值:true
[data]設置控制InfluxDB的實際分片數據在何處以及如何從預寫日志(WAL)中清除。 dir可能需要更改為適合您的系統的位置,但是WAL設置是高級配置。 默認值適用于大多數系統。
存儲最終數據(TSM文件)的目錄,此目錄可能會更改。
用于新分片的分片索引的類型,默認inmem索引是在啟動時重新創建的內存中索引。要啟用基于時間序列(TSI)磁盤的索引,請將其值設置為tsi1。
預寫日志(WAL)文件的存儲目錄。
寫入在fsyncing之前等待的時間。 持續時間大于0可用于批量處理多個fsync調用。 這對于較慢的磁盤或遇到WAL寫入爭用時很有用。 每次寫入WAL時值為0s fsyncs。 對于非SSD磁盤,建議使用0-100ms范圍內的值。
驗證傳入的寫操作以確保密鑰僅具有有效的unicode字符。 因為必須檢查每個密鑰, 所以此設置會產生少量的開銷,默認值false。
是否開啟tsm引擎查詢日志,默認值: true。 查詢日志對于故障排除很有用,但會記錄查詢中包含的所有敏感數據。
是否開啟跟蹤(trace)日志,默認值:false。
用于限定shard最大值,大于該值時會拒絕寫入,默認值:1000MB,單位:byte。
用于設置快照大小,大于該值時數據會刷新到tsm文件,默認值:25MB,單位:byte。
如果分片尚未收到寫入或刪除操作,則tsm引擎將對緩存進行快照(snapshot)并將其寫入新的TSM文件的時間間隔,默認值:10Minute。
如果TSM引擎未收到寫入或刪除操作,則該時間間隔會將所有TSM文件壓縮到一個分片中,默認值:4h。
可以一次運行的最大并發完全和級別壓縮數。 默認值0導致50%的CPU內核在運行時用于壓縮。 如果明確設置,則用于壓縮的核數將限制為指定值。 此設置不適用于緩存快照,默認值:0。
是我們允許TSM壓縮寫入磁盤的速率限制(以字節/秒為單位)。 請注意,短脈沖串允許以可能更大的值發生,由Compact-Throughput-Burst設置,默認值:48m。
是我們允許TSM壓縮寫入磁盤的速率限制(以每秒字節數為單位),默認值:48m。
如果為true,則mmap advise值MADV_WILLNEED會就輸入/輸出頁面調度向內核建議如何處理映射的內存區域。 由于此設置在某些內核(包括CentOS和RHEL)上存在問題,因此默認值為false。 將值更改為true可能會在某些情況下幫助磁盤速度較慢的用戶。
限制數據庫的series數,該值為0時取消限制,默認值:1000000。
一個tag最大的value數,該值為0時取消限制,默認值:100000。
索引預寫日志(WAL)文件壓縮到索引文件中時的閾值(以字節為單位)。 較小的大小將導致日志文件更快地壓縮,并導致較低的堆使用率,但會降低寫入吞吐量。 更高的大小將更少壓縮,在內存中存儲更多序列,并提供更高的寫入吞吐量。有效大小的后綴為k,m或g(不區分大小寫,1024 = 1k)。沒有大小后綴的值以字節為單位,默認值:1m。
TSI索引中用于存儲先前計算的系列結果的內部緩存的大小。 高速緩存的結果將從高速緩存中快速返回,而不是在執行具有匹配的標簽鍵值謂詞的后續查詢時需要重新計算。 將此值設置為0將禁用緩存,這可能會導致查詢性能問題。 僅當已知數據庫的所有度量中經常使用的標記鍵值謂詞的集合大于100時,才應增加此值。高速緩存大小的增加可能會導致堆使用率的增加。
本部分包含查詢管理的配置設置。
寫操作超時時間,默認值: 10s。
最大并發查詢數,0無限制,默認值: 0。
查詢操作超時時間,0無限制,默認值:0s。
慢查詢超時時間,0無限制,默認值:0s
select語句可以處理的最大點數(points),0無限制,默認值:0。
SELECT語句可以處理的最大級數(series),0無限制,默認值:0
select語句可以處理的最大"GROUP BY time()"的時間周期,0無限制,默認值:0。
[retention]設置用于控制淘汰舊數據的保留策略的執行。
是否啟用該模塊,默認值 : true,設置為false可以防止InfluxDB強制執行保留策略。
檢查時間間隔,默認值 :“30m”。
[shard-precreation]設置控制分片的增量,以便在數據到達之前可以使用分片。 只有在創建后將在未來具有開始時間和結束時間的分片才會被創建。 永遠不會預先創建全部或部分過去的碎片。
是否啟用該模塊,默認值 : true。
檢查時間間隔,默認值 :“10m”。
預創建分區的最大提前時間,默認值 :30m。
[monitor]部分的設置可控制InfluxDB系統的自我監視。
默認情況下,InfluxDB將數據寫入_internal數據庫。 如果該數據庫不存在,InfluxDB會自動創建它。 _internal數據庫上的DEFAULT保留策略為7天。 如果要使用7天保留策略以外的保留策略,則必須創建它。
是否啟用該模塊,默認值 :true。
默認數據庫:"_internal"
統計間隔,默認值:"10s"
[http]部分的設置控制InfluxDB如何配置HTTP端點。 這些是將數據傳入和傳出InfluxDB的主要機制。 編輯此部分中的設置以啟用HTTPS和身份驗證。
是否啟用該模塊,默認值 :true。
是否啟用流查詢端點,默認值 :false。
是否啟用流查詢日志。
綁定地址,默認值:":8086"。
是否開啟認證,默認值:false。
是否開啟http請求日志,默認值:true。
在啟用日志時是否應禁止HTTP寫入請求日志,默認值:false。
是否開啟寫操作日志,如果置成true,每一次寫操作都會打日志,默認值:false。
是否開啟pprof,此端點用于故障排除和監視,默認值:true。
是否在/debug端點上啟用身份驗證。
啟用默認的/ pprof端點并綁定到localhost:6060。 對于調試啟動性能問題很有用。默認值:false。
在/ ping,/ metrics和已棄用的/ status端點上啟用身份驗證。 如果auth-enabled設置為false,則此設置無效。
確定是否啟用HTTPS。 要啟用HTTPS,請將值設置為true。
啟用HTTPS時要使用的SSL證書文件的路徑。
設置https私鑰,無默認值。
系統在非分塊查詢中可以返回的最大行數。 默認設置(0)允許無限制的行數。 如果查詢結果超過指定的值,則InfluxDB在響應正文中包含一個“ partial”:true標記。
一次可以打開的最大連接數。 超出限制的新連接將被刪除。
默認值0禁用該限制。
用于使用JWT令牌驗證公共API請求的共享密鑰。
發出基本身份驗證質詢時發送回的默認域,默認值: “InfluxDB”。
通過UNIX域套接字啟用HTTP服務。 要通過UNIX域套接字啟用HTTP服務,請將值設置為true。
unix-socket路徑,默認值:"/var/run/influxdb.sock"。
客戶端請求正文的最大大小(以字節為單位), 將此值設置為0將禁用該限制。默認值:25000000。
啟用HTTP請求日志記錄時,此選項指定應寫入日志條目的路徑。
并發處理的最大寫入次數,將此設置為0將禁用該限制。默認值:0。
排隊等待處理的最大寫入次數。將此設置為0將禁用該限制。默認值:0。
寫入等待隊列中寫入的最長持續時間。將此設置為0或將max-concurrent-write-limit設置為0將禁用該限制。默認值:0。
控制記錄器如何將日志發送到輸出。
確定用于日志的日志編碼器。 可用選項包括auto,logfmt和json。 如果輸出終端是TTY,則auto將使用更加用戶友好的輸出格式,但格式不易于機器讀取。 當輸出是非TTY時,auto將使用logfmt。默認值:“auto”。
確定將發出的日志級別。 可用的級別包括錯誤,警告,信息和調試。 將發出等于或高于指定級別的日志。默認值:“info”。
禁止在程序啟動時打印的徽標輸出。 如果STDOUT不是TTY,則始終禁止使用徽標。默認值:false。
[subscriber]部分控制Kapacitor如何接收數據。
是否啟用該模塊,默認值 :true。
http超時時間,默認值:“30s”。
是否允許不安全的證書,當測試自己簽發的證書時比較有用。默認值: false。
設置CA證書,無默認值。
設置并發數目,默認值:40。
設置buffer大小,默認值:1000。
是否啟用該模塊,默認值 :false。
默認端口。
數據庫名稱,默認值:“graphite”。
存儲策略,無默認值。
一致性等級,默認值:“one”。
是否開啟tls,默認值:false。
證書路徑,默認值:"/etc/ssl/influxdb.pem"。
這些下一行控制批處理的工作方式。 您應該已啟用此功能,否則您可能會丟失指標或性能不佳。 僅通過telnet協議接收的指標進行批處理。如果這么多點被緩沖,請刷新。默認值:1000。
內存中可能掛起的批次數,默認值:5。
即使輸入未達到配置的批量大小,輸入也會至少刷新一次。默認值:“1s”。
出錯時是否記錄日志,默認值:true。
[[udp]]設置使用UDP控制InfluxDB線路協議數據的偵聽器。
是否啟用該模塊,默認值:false。
綁定地址,默認值:":8089"。
數據庫名稱,默認值:“udp”。
存儲策略,無默認值。
接下來的行控制批處理的工作原理。 您應該已啟用此功能,否則您可能會丟失指標或性能不佳。 如果有很多進入,批處理將緩沖內存中的點。如果這么多點被緩沖,則刷新,默認值:5000。
如果這么多點被緩沖,請刷新,默認值:10。
udp讀取buffer的大小,0表示使用操作系統提供的值,如果超過操作系統的默認配置則會出錯。 默認值:0。
即使輸入未達到配置的批量大小,輸入也會至少刷新一次。默認值:“1s”。
解碼時間值時使用的時間精度。 默認值為納秒,這是數據庫的默認值。
[continuous_queries]設置控制InfluxDB中連續查詢(CQ)的運行方式。 連續查詢是在最近的時間間隔內執行的自動查詢批次。 InfluxDB每個GROUP BY time()間隔執行一個自動生成的查詢。
是否開啟日志,默認值:true。
是否開啟CQs,默認值:true。
控制是否將查詢記錄到自我監視數據存儲。默認值:false。
檢查連續查詢是否需要運行的時間間隔,默認值:“1s”。
InfluxDB中TLS的全局配置設置。
將協商的tls協議的最低版本。 如果未指定,則使用Go的crypto / tls包中的默認設置,默認值:“tls1.2”。
將協商的tls協議的最大版本。 如果未指定,則使用Go的crypto / tls包中的默認設置,默認值:“tls1.2”。
狀態:service influxdb status
啟動:service influxdb start
關閉:service influxdb start
以下語句都可以直接在InfluxDB的Web管理界面中調用:
# 顯示用戶
SHOW USERS
# 創建用戶
CREATE USER "username" WITH PASSWORD 'password'
# 創建管理員權限的用戶
CREATE USER <username> WITH PASSWORD '<password>' WITH ALL PRIVILEGES
# 刪除用戶
DROP USER "username"
需要在配置文件里把 [http] 下的 auth-enabled 選項設置為 true 。
vim /etc/influxdb/influxdb.conf
[http]
enabled = true
bind-address = ":8086"
auth-enabled = true # ?
log-enabled = true
write-tracing = false
pprof-enabled = false
https-enabled = false
https-certificate = "/etc/ssl/influxdb.pem"
最后重啟 influxd 即可。以后使用 influx 就需要username和password。
influx -username -password
influx 啟動influxdb客戶端,如同mysql -u xxx功能
create database db1 創建數據庫db1
show databases 查看數據庫列表
use db1 使用數據庫db1,是不是和mysql中功能類似
show measurements 查看measurement列表
drop database db1 刪除數據庫db1
drop measurement mt1 刪除表mt1
delete from measurement [WHERE <tag_key> ]
drop shard <shard_id_num> 刪除分片
select * from measurement_name [WHERE <tag_key> ] [limit xx] 查看數據
show series [on dbname] [from measurement] [WHERE <tag_key> ] [limit xx] 查看series信息
show tag keys [on dbname] [from measurement] [WHERE <tag_key> ] [limit xx] 查看tag keys信息
show field keys [on dbname] [from measurement] 查看field keys
https://github.com/CymaticLabs/InfluxDBStudio/releases/tag/v0.2.0-beta.1
本文分享自華為云社區《【云小課】EI第39課 MRS基礎原理之Hudi介紹》,作者:Hello EI。
閱識風云是華為云信息大咖,擅長將復雜信息多元化呈現,其出品的一張圖(云圖說)、深入淺出的博文(云小課)或短視頻(云視廳)總有一款能讓您快速上手華為云。
Hudi是數據湖的文件組織層,對Parquet格式文件進行管理提供數據湖能力,支持多種計算引擎,提供IUD接口,在 HDFS的數據集上提供了插入更新和增量拉取的流原語。
Hudi的架構如下圖所示:
寫時復制表也簡稱cow表,使用parquet文件存儲數據,內部的更新操作需要通過重寫原始parquet文件完成。
讀時合并表也簡稱mor表,使用列格式parquet和行格式Avro兩種方式混合存儲數據。其中parquet格式文件用于存儲基礎數據,Avro格式文件(也可叫做log文件)用于存儲增量數據。
優點:由于寫入數據先寫delta log,且delta log較小,所以寫入成本較低。
缺點:需要定期合并整理compact,否則碎片文件較多。讀取性能較差,因為需要將delta log 和 老數據文件合并。
實時視圖:該視圖提供當前hudi表最新的快照數據,即一旦有最新的數據寫入hudi表,通過該視圖就可以查出剛寫入的新數據。
cow表和mor均支持這種視圖能力。
增量視圖:該視圖提供增量查詢的能力,可以查詢指定COMMIT之后的增量數據,可用于快速拉取增量數據。
cow表支持該種視圖能力, mor表也可以支持該視圖,但是一旦mor表完成compact操作其增量視圖能力消失。
讀優化視圖:該視圖只會提供最新版本的parquet文件中存儲的數據。
該視圖在cow表和mor表上表現不同:
目前Hudi集成在MRS集群的Spark2x服務中,使用Hudi需要安裝Spark2x組件,并安裝客戶端。
好了,本期云小課就介紹到這里,快去體驗MapReduce(MRS)更多功能吧!(https://support.huaweicloud.com/mrs/index.html)
關注我,第一時間了解華為云新鮮技術~