在influxDB2.1 中执行了一次超大规模的查询,导致数据库的服务占用资源飙升宕机,top下能看到influxd进程但是CPU和MEM的占用非常高并且服务不可用。
执行重启无效,提示启动超时,有进程且占用资源很高,查看日志是对原有数据目录无权限,
10月 10 16:34:11 node2 influxd-systemd-start.sh[43457]: ts=2022-10-10T08:34:11.721529Z lvl=info msg="Welcome to InfluxDB" log_id=0dSGKQYG000 version=2.1.1 commit=657e1839de build_date=2021-11-09T03:03:48Z
10月 10 16:34:11 node2 influxd-systemd-start.sh[43457]: ts=2022-10-10T08:34:11.723423Z lvl=error msg="Failed opening bolt" log_id=0dSGKQYG000 error="unable to open boltdb: open /home/influxdata2/influxd.bolt: permission denied"
10月 10 16:34:11 node2 influxd-systemd-start.sh[43457]: Error: unable to open boltdb: open /home/influxdata2/influxd.bolt: permission denied
遂加权限
解决办法
vim /usr/lib/systemd/system/influxdb.service
# /usr/lib/systemd/system/influxdb.service
# If you modify this, please also make sure to edit init.sh
[Unit]
Description=InfluxDB is an open-source, distributed, time series database
Documentation=https://docs.influxdata.com/influxdb/
After=network-online.target
[Service]
User=root
Group=root
LimitNOFILE=65536
EnvironmentFile=-/etc/default/influxdb
ExecStart=/usr/bin/influxd -config /etc/influxdb/influxdb.conf ${INFLUXD_OPTS}
KillMode=control-group
Restart=on-failure
TimeoutStartSec=45m
[Install]
WantedBy=multi-user.target
Alias=influxd.service
# /etc/systemd/system/influxdb.service.d/override.conf
[Service]
ExecStart=
ExecStart=/usr/bin/influxd -config /dashboard/influxdb.conf ${INFLUXD_OPTS}
将USER和Group修改为root 再次启动
[root@node2 ~]# sudo service influxdb start
依然失败,尝试增加等待时间
增加参数
[Service]
TimeoutStartSec=45m
执行命令
[root@node2 ~]# systemctl enable influxdb
[root@node2 ~]# systemctl start influxdb
漫长的等待之后 成功启动
参数设置参考了1.*版本的配置文件引用[07 部署Indluxdb-telegraf_MappleZF的博客-优快云博客]
【其他知识】
influxDB 2.1 的配置文件路径
/etc/influxdb/config.toml
查看日志命令
journalctl -u influxdb -f