influxdb 2.0.3 的安装与配置
- 下载地址: https://dl.influxdata.com/influxdb/releases/influxdb2-2.0.3_linux_amd64.tar.gz
- 官方文档: https://docs.influxdata.com/influxdb/v2.0/install/
安装
1### 解压
2[root@jyzbdb2 soft]# tar -zxf influxdb2-2.0.3_linux_amd64.tar.gz
3
4### 设置环境变量
5[root@jyzbdb2 influxdb2-2.0.3_linux_amd64]# vim /etc/profile
6...
7export PATH=$PATH:/app/soft/influxdb2-2.0.3_linux_amd64
8...
9
10### 使环境变量生效
11[root@jyzbdb2 influxdb2-2.0.3_linux_amd64]# source /etc/profile
启动
方式一
直接在终端中启动(该方式启动后,退出终端进程也随之终止,原因不明):
1[root@jyzbdb2 influxdb2-2.0.3_linux_amd64]# nohup influxd >> /app/soft/influxdb2-2.0.3_linux_amd64/influx.log 2>&1 &
方式二
设置成服务启动:
1### 添加 influxdb 用户,用于启动 influxdb 服务
2[root@jyzbdb2 influxdb2-2.0.3_linux_amd64]# groupadd influxdb
3[root@jyzbdb2 influxdb2-2.0.3_linux_amd64]# useradd -g influxdb -s /bin/false influxdb
4
5### 新增 influxdb 配置文件(这个文件主要用于 influxdb 的优化;如果没有性能问题,也可以不用配置)
6[root@jyzbdb2 influxdb2-2.0.3_linux_amd64]# vim config.yml
7storage-cache-max-memory-size: 4294967296
8
9### 修改文件的权限
10[root@jyzbdb2 influxdb2-2.0.3_linux_amd64]# chown -R influxdb:influxdb /app/soft/influxdb2-2.0.3_linux_amd64
11
12### 新增系统服务的启动文件
13### ExecStart后面的参数可以不加,也可以根据实际更改。具体参考:https://docs.influxdata.com/influxdb/v2.0/reference/config-options
14[root@jyzbdb2 influxdb2-2.0.3_linux_amd64]# vim /usr/lib/systemd/system/influxdb.service
15[Unit]
16Description=InfluxDB is an open-source, distributed, time series database
17Documentation=https://docs.influxdata.com/influxdb/
18After=network-online.target
19
20[Service]
21User=influxdb
22Group=influxdb
23LimitNOFILE=65536
24ExecStart=/app/soft/influxdb2-2.0.3_linux_amd64/influxd --storage-cache-max-memory-size=4294967296 --bolt-path=/data/influxdb-data/influxd.bolt --engine-path=/data/influxdb-data/engine
25KillMode=control-group
26Restart=on-failure
27
28[Install]
29WantedBy=multi-user.target
30
31### 启动服务
32[root@jyzbdb2 influxdb2-2.0.3_linux_amd64]# systemctl start influxdb
33
34### 查看服务状态
35[root@jyzbdb2 influxdb2-2.0.3_linux_amd64]# systemctl status influxdb
36
37### 设置为开机启动
38[root@jyzbdb2 influxdb2-2.0.3_linux_amd64]# systemctl enable influxdb
配置
1### 初始化
2[root@jyzbdb2 influxdb2-2.0.3_linux_amd64]# influx setup
3Welcome to InfluxDB 2.0!
4Please type your primary username: jygz
5
6Please type your password:
7
8Please type your password again:
9
10Please type your primary organization name: copote
11
12Please type your primary bucket name: gps
13
14Please type your retention period in hours.
15Or press ENTER for infinite.:
16
17
18You have entered:
19Username: jygz
20Organization: copote
21Bucket: gps
22Retention Period: infinite
23Confirm? (y/n): y
24
25Config default has been stored in /root/.influxdbv2/configs.
26User Organization Bucket
27jygz copote gps
28
29### 查看 token(客户端一般通过token进行操作)
30[root@jyzbdb2 influxdb2-2.0.3_linux_amd64]# cat /root/.influxdbv2/configs
31[default]
32url = "http://localhost:8086"
33token = "qPhb-sP__WM3w0U_nhJIYIcfDB0Q1yJ26PqiqwE9_8wL0LrAXoTjm4cT1j0hC4wGWUJsu4BSN-5bev_nS4GRmA=="
34org = "copote"
35active = true
关于防火墙
1# 开放端口
2firewall-cmd --zone=public --add-port=8086/tcp --permanent
3# 配置立即生效
4firewall-cmd --reload
5# 查看防火墙所有开放的端口
6firewall-cmd --zone=public --list-ports
8086 端口:使用该端口与influxdb客户端进行数据交互。
基本操作
使用 influxdb api的方式进行操作
1### 添加数据(多条):
2curl --request POST 'http://200.200.200.71:8086/api/v2/write?org=copote&bucket=gps&precision=ms' \
3--header 'Authorization: Token N6M048DSeVq6s93aZRkjX5bqqCAQKaPCbf56NjjjuO28J3EZdywx0_df7RNlGy925AYRi2NS_rRwxsfsUVaVEA==' \
4--data '
5test,id=1 username="tom" 1609299009330
6test,id=1 age=12 1609299009330
7'
8
9### 添加数据(单条):
10curl --request POST 'http://200.200.200.71:8086/api/v2/write?org=copote&bucket=gps&precision=ms' \
11--header 'Authorization: Token N6M048DSeVq6s93aZRkjX5bqqCAQKaPCbf56NjjjuO28J3EZdywx0_df7RNlGy925AYRi2NS_rRwxsfsUVaVEA==' \
12--data 'test,id=1 realname="汤姆" 1609299009330'
13
14
15### 查询数据:
16curl --request POST 'http://200.200.200.71:8086/api/v2/query?org=copote' \
17--header 'Authorization: Token N6M048DSeVq6s93aZRkjX5bqqCAQKaPCbf56NjjjuO28J3EZdywx0_df7RNlGy925AYRi2NS_rRwxsfsUVaVEA==' \
18--header 'Accept: application/csv' \
19--header 'Content-type: application/vnd.flux' \
20--data 'import "experimental/geo"
21from(bucket:"gps")
22|> range(start: -12h)
23|> filter(fn: (r) => r._measurement == "test")
24|> geo.toRows()'
25
26
27### 删除数据:
28curl --request POST 'http://200.200.200.71:8086/api/v2/delete?org=copote&bucket=gps' \
29--header 'Authorization: Token N6M048DSeVq6s93aZRkjX5bqqCAQKaPCbf56NjjjuO28J3EZdywx0_df7RNlGy925AYRi2NS_rRwxsfsUVaVEA==' \
30--header 'Content-Type: application/json' \
31--data '{
32"start": "2020-12-30T00:00:00Z",
33"stop": "2020-12-31T00:00:00Z",
34"predicate": "_measurement=\"test\" and id=\"1\""
35}'
使用 influxdb 客户端命令的方式进行操作
1### 删除数据:
2influx delete --bucket gps --org copote \
3--host 'http://200.200.200.71:8086' \
4--token 'N6M048DSeVq6s93aZRkjX5bqqCAQKaPCbf56NjjjuO28J3EZdywx0_df7RNlGy925AYRi2NS_rRwxsfsUVaVEA==' \
5--start '2020-12-30T00:00:00Z' \
6--stop '2020-12-31T00:00:00Z' \
7--predicate '_measurement="test" and id="1"'
评论