influxdb3 源代码编译测试
influxdb3 源代码编译测试
Loading image...
Please wait a moment
Retry 0
PNG
🖼️
Failed to Load Image
Unable to load the image. Please check your connection.
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
|
- create database use
retention-period
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
|