influxdb3 源代码编译测试
influxdb3 源代码编译测试
Loading image...
Please wait a moment
- 参考资料
https://docs.influxdata.com/influxdb3/cloud-dedicated/admin/databases/#table-limit
build influxdb3 cli
- clone source code
1git clone https://github.com/influxdata/influxdb.git
- debug test
1cargo run -- serve --object-store file --node-id node1 --data-dir ./tmp
cd influxdb/target/debug
- 创建token
1❯ ./influxdb3 create token --admin
2
3New token created successfully!
4
5Token: apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w
6HTTP Requests Header: Authorization: Bearer apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w
7
- create database use
retention-period
1./influxdb3 create database iot_sensors --retention-period 7d --token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w
- write data
1./influxdb3 write \
2--database iot_sensors \
3--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \
4"temperature,device=sensor_01 value=23.5"
5success
- query system table
1
2./influxdb3 query -d _internal \
3--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \
4"SELECT database_name, retention_period_ns FROM system.databases"
5+---------------+---------------------+
6| database_name | retention_period_ns |
7+---------------+---------------------+
8| _internal | |
9| iot_sensors | 604800000000000 |
10+---------------+---------------------+
- modify retention period
1./influxdb3 update database \
2--database iot_sensors \
3--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \
4--retention-period 1h
5
6Database "iot_sensors" updated successfully
- clean retention period
1
2./influxdb3 update database \
3--database iot_sensors \
4--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \
5--retention-period none
6
7Database "iot_sensors" updated successfully
demo
1# 设置为1分钟
2❯ ./influxdb3 update database \
3--database iot_sensors \
4--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \
5--retention-period 1m
6Database "iot_sensors" updated successfully
7
8# 查看修改是否生效
9❯ ./influxdb3 query -d _internal \
10--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \
11"SELECT database_name, retention_period_ns FROM system.databases"
12+---------------+---------------------+
13| database_name | retention_period_ns |
14+---------------+---------------------+
15| _internal | |
16| iot_sensors | 60000000000 |
17+---------------+---------------------+
18# 查询数据
19❯ ./influxdb3 query \
20--database iot_sensors \
21--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \
22"SELECT * FROM temperature LIMIT 10"
23
24# 等待1分钟后,数据被清理
25❯ ./influxdb3 query \
26--database iot_sensors \
27--token apiv3_O12FEWfXA0H8UcSHYsEAfuTuKbHLbNCAB56Qcv9Bp4UKbruuK2Q0bUNdTMc5ny3A4-V_3zlM3whj3Wn4_ZMH7w \
28"SELECT * FROM temperature LIMIT 10"
29++
30++
31
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)
-
Q1: dyld: Library not loaded: @rpath/libpython3.10.dylib
-
解决方法:设置环境变量DYLD_LIBRARY_PATH
1#具体需要看自己的arch是什么,然后找到对应的libpython3.10.dylib路径,设置到环境变量中即可。
2❯ find /opt/homebrew -name "libpython3.10.dylib"
3/opt/homebrew/Cellar/[email protected]/3.10.18/Frameworks/Python.framework/Versions/3.10/lib/libpython3.10.dylib
4/opt/homebrew/Cellar/[email protected]/3.10.18/Frameworks/Python.framework/Versions/3.10/lib/python3.10/config-3.10-darwin/libpython3.10.dylib
5
6❯ find /usr/local -name "libpython3.10.dylib" 2>/dev/null
7/usr/local/Homebrew/Cellar/[email protected]/3.10.6_1/Frameworks/Python.framework/Versions/3.10/lib/libpython3.10.dylib
8/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
9
10# 设置环境变量继续执行 cargo 即可
11export DYLD_LIBRARY_PATH=/opt/homebrew/Cellar/[email protected]/3.10.18/Frameworks/Python.framework/Versions/3.10/lib:$DYLD_LIBRARY_PATH