RedHat & CentOS
yum安装
RedHat和CentOS用户可以直接用`yum`包管理来安装最新版本的InfluxDB
cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
一旦加到了`yum`源里面,就可以运行下面的命令来安装和启动InfluxDB服务
sudo yum install influxdb
sudo service influxdb start
wget https://mirrors.tuna.tsinghua.edu.cn/influxdata/yum/el7-x86_64/influxdb2-2.1.1.x86_64.rpm
yum localinstall -y ./influxdb2-2.1.1.x86_64.rpm
influxdb配置文件官网:
InfluxDB configuration options | InfluxDB OSS v2 Documentation
Docker
拉取镜像
docker pull influxdb
docker pull influxdb:2.0.9
启动容器
docker run -d \
--name influxdb \
-p 8086:8086 \
-v /opt/influxdb2:/var/lib/influxdb2 \
influxdb:2.0.9
-d:deamon,后台启动
-p:port, 端口映射,宿主机端口:容器内端口;8083是influxdb的web管理工具端口,8086是influxdb的HTTP API端口
8083: Web admin管理服务的端口, http://localhost:8083
8086: HTTP API的端口
8088: 集群端口(目前还不是很清楚, 配置在全局的bind-address,默认不配置就是开启的)
--expose:允许容器接受外部传入的数据
--name:容器名称,此处为influxdb
influxdb:镜像名
安装influx cli
wget https://download.influxdata.com/influxdb/releases/influxdb2-client-2.7.5-linux-amd64.tar.gz
tar xvzf ./influxdb2-client-2.7.5-linux-amd64.tar.gz
cp ./influx /usr/local/bin/
客户端的配置:Install and use the influx CLI | InfluxDB OSS v2 Documentation
influx config create \
-n CONFIG_NAME \
-u http://localhost:7999 \
-p USERNAME:PASSWORD \
-o ORG
通过influx cli执行一些命令
influxdb概念
组织是一组用户的工作区。所有仪表盘、任务、存储桶、成员等都属于一个组织。
桶是存储时间序列数据的命名位置。所有存储桶都有一个保留期,即每个数据点持续的时间。InfluxDB丢弃时间戳早于存储桶保留期的所有点。桶属于一个组织。
使用influx cli操作influxdb
创建组:influx org create -n <org-name>
浏览组:influx org list
更新组:influx org update -i <org-id> -n <new-org-name>
删除组:influx org delete -i <org-id>
创建桶:influx bucket create -n yn-bucket -o yn -r 72h
浏览桶:influx bucket list
更新桶:influx bucket update -i <bucket-id> -n <new-bucket-name>
删除桶:influx bucket delete -n <bucket-name> -o <org-name>
创建成员:influx user create -n <username> -o <org-name>
influx user create -n <username> -p <password> -o <org-name>
浏览成员:influx user list
更新成员:influx user update -i <user-id> -n <new-username>
删除成员:influx user delete -i <user-id>
修改密码:influx user password -n <username> -t <token>
通过influxdb api对组织、桶、用户进行操作,例如:创建桶
INFLUX_TOKEN="1xJM7-EcQIM4fgWap1kD5s_E83q_D9rIPspQbbhA-tzDe_pLrHxR1XmHRA31vS30DKErOdg9cpGXAOSYo4Pu4w=="
INFLUX_ORG_ID="35789255ef1de416"
curl --request POST \
"http://xxxx:7999/api/v2/buckets" \
--header "Authorization: Token ${INFLUX_TOKEN}" \
--header "Content-type: application/json" \
--data '{
"orgID": "'"${INFLUX_ORG_ID}"'",
"name": "iot-center",
"retentionRules": [
{
"type": "expire",
"everySeconds": 86400,
"shardGroupDurationSeconds": 0
}
]
}'