influxdb3 源代码编译测试

创建于:2025-10-22 修改于:2025-10-22

influxdb3 源代码编译测试

influxdb3 源代码编译测试

Loading image...
Please wait a moment

https://docs.influxdata.com/influxdb3/cloud-dedicated/admin/databases/#table-limit

https://docs.influxdata.com/influxdb3/cloud-dedicated/admin/databases/create/#create-a-database-with-custom-partitioning

build influxdb3 cli

1
git clone https://github.com/influxdata/influxdb.git  
1
cargo run -- serve --object-store file --node-id node1 --data-dir ./tmp  

cd influxdb/target/debug

1
2
3
4
5
6
7
❯ ./influxdb3 create token --admin  
  
New token created successfully!  
  
Token: apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w  
HTTP Requests Header: Authorization: Bearer apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w  
  
1
./influxdb3 create database iot_sensors --retention-period 7d --token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w  
1
2
3
4
5
./influxdb3 write \  
--database iot_sensors \  
--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \  
"temperature,device=sensor_01 value=23.5"  
success  
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
  
./influxdb3 query -d _internal \  
--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \  
"SELECT database_name, retention_period_ns FROM system.databases"  
+---------------+---------------------+  
| database_name | retention_period_ns |  
+---------------+---------------------+  
| _internal | |  
| iot_sensors | 604800000000000 |  
+---------------+---------------------+  
1
2
3
4
5
6
./influxdb3 update database \  
--database iot_sensors \  
--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \  
--retention-period 1h  
  
Database "iot_sensors" updated successfully  
1
2
3
4
5
6
7
  
./influxdb3 update database \  
--database iot_sensors \  
--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \  
--retention-period none  
  
Database "iot_sensors" updated successfully  

demo

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 设置为1分钟  
❯ ./influxdb3 update database \  
--database iot_sensors \  
--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \  
--retention-period 1m  
Database "iot_sensors" updated successfully  
  
# 查看修改是否生效  
❯ ./influxdb3 query -d _internal \  
--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \  
"SELECT database_name, retention_period_ns FROM system.databases"  
+---------------+---------------------+  
| database_name | retention_period_ns |  
+---------------+---------------------+  
| _internal | |  
| iot_sensors | 60000000000 |  
+---------------+---------------------+  
# 查询数据  
❯ ./influxdb3 query \  
--database iot_sensors \  
--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \  
"SELECT * FROM temperature LIMIT 10"  
  
# 等待1分钟后,数据被清理  
❯ ./influxdb3 query \  
--database iot_sensors \  
--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \  
"SELECT * FROM temperature LIMIT 10"  
++  
++  
  

retention period 时间单位说明

单位符号 含义 示例 对应纳秒数
s 秒 (second) 30s 30 000 000 000
m 分钟 (minute) 15m 900 000 000 000
h 小时 (hour) 24h 86 400 000 000 000
d 天 (day) 7d 604 800 000 000 000
w 周 (week) 4w 2 419 200 000 000 000
mo 月 (month, 30天) 1mo 2 592 000 000 000 000

build 遇到的问题(macos arm)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#具体需要看自己的arch是什么,然后找到对应的libpython3.10.dylib路径,设置到环境变量中即可。  
❯ find /opt/homebrew -name "libpython3.10.dylib"  
/opt/homebrew/Cellar/[email protected]/3.10.18/Frameworks/Python.framework/Versions/3.10/lib/libpython3.10.dylib  
/opt/homebrew/Cellar/[email protected]/3.10.18/Frameworks/Python.framework/Versions/3.10/lib/python3.10/config-3.10-darwin/libpython3.10.dylib  
  
❯ find /usr/local -name "libpython3.10.dylib" 2>/dev/null  
/usr/local/Homebrew/Cellar/[email protected]/3.10.6_1/Frameworks/Python.framework/Versions/3.10/lib/libpython3.10.dylib  
/usr/local/Homebrew/Cellar/[email protected]/3.10.6_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/config-3.10-darwin/libpython3.10.dylib  
  
# 设置环境变量继续执行 cargo 即可  
export DYLD_LIBRARY_PATH=/opt/homebrew/Cellar/[email protected]/3.10.18/Frameworks/Python.framework/Versions/3.10/lib:$DYLD_LIBRARY_PATH  
💬 评论区