Linux 安装InfluxDB1.8版本(CentOS 7)

Linux 安装InfluxDB1.8,配置及使用

1.安装以及服务端启动

官网地址:https://docs.influxdata.com/platform/getting-started/


https://docs.influxdata.com/influxdb/v1.8/introduction/install/?t=%3Cfont+style%3D%22vertical-align%3A+inherit%3B%22%3E%3Cfont+style%3D%22vertical-align%3A+inherit%3B%22%3E%E7%BA%A2%E5%B8%BD%E5%92%8C+CentOS%3C%2Ffont%3E%3C%2Ffont%3E
# root状态下 进入local目录
cd /usr/local

# 新建influxDB目录
mkdir influxDB

# 然后执行 进行等待下载
wget wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.10_linux_amd64.tar.gz

# 解压下载好的influxdb-1.81.0_linux_amd64.tar.gz
tar -zxvf influxdb-1.8.10_linux_amd64.tar.gz

# 修改解压好的目录名,我这里解压好没有修改的目录名是influxdb-1.8.0-1, 修改后influxdb-1.8.10
mv influxdb-1.8.10-1 influxdb-1.8.10

# 进入修改好的influxdb-1.8里的bin目录;
cd influxdb-1.8.10/usr/bin
# 进入之后此时的路径是/usr/local/influxDB/influxdb-1.8/usr/bin,用pwd命令查看(验证路径是否正确)
pwd

# 书写启动脚本(用于: 后台启动脚本)
vi startup.sh
# 输入内容如下(注意这也是内容#!/bin/bash),保存退出
#!/bin/bash
nohup /usr/local/influxDB/influxdb-1.8.10/usr/bin/influxd -config \
/usr/local/influxDB/influxdb-1.8.10/etc/influxdb/influxdb.conf \
&>/usr/local/influxDB/influxdb-1.8/var/log/influxdb.log &

#保存退出然后授执行权
chmod +x startup.sh

# 书写开机自动启动服务
vi /etc/systemd/system/influxdb-server.service
# 输入内容:
[Unit]
Description=influxdb-server
After=network.tartget

[Service]
Type=forking
ExecStart=/usr/local/influxDB/influxdb-1.8/usr/bin/startup.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target

# 重新加载服务
systemctl daemon-reload
# 使服务开机自动运行
systemctl enable influxdb-server
# 现在启动服务
systemctl start influxdb-server



#无需操作此处:-----------------------------------------------------------------------------#
## 基本systemctl命令
# 重新加载服务(新加了服务之后进行)
systemctl daemon-reload
# 使服务开启自动运行
systemctl enable influxdb-server
# 启动服务
systemctl start influxdb-server
# 停止服务
systemctl stop influxdb-server
# 重启服务
systemctl restart influxdb-server
# 查看服务状态(Active: inactive (dead)无效; Active: failed失败; Active: active (running)成功)
systemctl status influxdb-server



## 后台运行: nohup 参数 &
# 后台启动 (会在当前路径下生成一个nohup.out类似启动后的信息日志)
nohup influxd &
# 后台启动 (当前路径把启动后的信息指定输出在日志文件上)
nohup influxd &>inf.log &



## 查看进程是否 启动 以及 端口 是否给程序使用 -aux 与 -ef(区别是-ef Unix/Linux都直接支持)
# 查看influxdb服务端进程是否启动 (注意这是只启动influxd命令,不带 -config influxdb.conf,用此命令才能看到)
ps -ef | grep influxd
# 查看influxdb服务端进程是否启动 (注意这是只启动influxd命令,不带 -config influxdb.conf,用此命令是看不到的)
ps -ef | grep influxdb
#是否启动判断 (一行没有启动)
root     21806  21618  0 23:07 pts/0    00:00:00 grep --color=auto influx
#是否启动判断 (两行已经启动)
root     21822     1 42 23:07 pts/0    00:00:02 influxd -config influxdb.conf
root     21842  21618  0 23:07 pts/0    00:00:00 grep --color=auto influx
# 查看influxdb服务端端口是否启动
netstat -tunlp | grep 8086
#是否已启用端口判断 (没有显示就是没有; 显示就是启动如下 pid/influxd)
tcp6	0	0 :::8086	:::*	LISTEN		23701/influxd    


2.客户端启动及使用

# 进入bin目录
cd /usr/local/influxDB/influxdb-1.8/usr/bin/

# 启动连接-port 8086端口 数据库
./influx -port 8086

# 添加管理员
create user "root" with password '123456' with all privileges

# 创建数据库test_aemesc
create database test_aemesc

# 使用test_aemesc数据库
use test_aemesc

# 创建表(InfluxDB中没有显式的新建表的语句,只能通过insert数据的方式来建立新表)
insert TestData,devKey=黄敏婷,identi=对不起 value="今天实在没能回你信息" 1617840905000186512

# 查询是否数据保存
select * from TestData



#无需操作此处:----------------------------------------------------------------------#
## 基本操作指令
# 显示用户
show users
# 查看数据库
show databases
# 查看所有的表(使用某个库才能进行具体操作表)
show measurements
# 查询某个表的数据
select * from 表名


# 创建数据库
create database test
# 使用数据库(使用某个库才能进行具体操作)
use test
# 创建表(InfluxDB中没有显式的新建表的语句,只能通过insert数据的方式来建立新表)
insert TestData,devKey=黄敏婷,identi=对不起 value="今天实在没能回你信息" 1617840905000186512
#TestData表的结构:timestamp + tag + filed的组成
	#timestamp : 时间戳,ms单位,每个记录都必然有这个属性,没有显示添加时,默认当前时间戳
    #tag: 标签,在database中,tag + measurement 一起构建索引参与索引创建,适合作为查询的过滤条件
       	#都是string类型,不需要引号将value包裹
    #field:存储数据,数据类型为: long, String, boolean, float
		#field如果创建时是string类型,需要加引号""
	#tag与tag之间用逗号分隔;field与field之间用逗号分隔
    #tag与field之间用空格分隔
		#insert measurement,tag=value,tag=value field=value,field=value timestamp
# 查看表内容
select * from TestData
#字段: time					devKey		identi		value 
#内容:1617840905000186512 	黄敏婷 		对不起 		今天实在没能回你信息
# 查看所有tag  说明: 有devKey、identi tagType值都是String
show tag keys from TestData
# 查看所有field  说明: 有value fieIdType值是String "今天实在没能回你信息"
show field keys from TestData
# 条件查询  说明: 只能用单引号''
select * from TestData where devKey = '黄敏婷'
# 时间范围查询  说明: time 是时间戳(前面5分钟后的所有数据)
SELECT * FROM TestData WHERE time > now() - 5m


# 删除数据库
drop database test
# 删除表
drop measurement 表名


# 进入本地 port 8086端口数据库
influx -port 8086
# 可以使用-host和-port选项,连接到其他机器或者端口
influx -host 127.0.0.1 -port 8086

# 修改配置文件influxdb.conf
vi influxdb.conf
#[http]
  enabled = true 			#开启HTTP API
  bind-address = ":8086" 	#绑定的端口号
  auth-enabled = true 		#开启授权
#重新启动服务端,进入客户端需要验证登录(才能进行有效的操作)
influx -username root -password 123456



3.安装supervisor

3.1 Supervisor安装

# yum install 的方式
yum install -y supervisor
可以直接systemd管理

3.2 Supervisor的配置

如果使用yum install -y supervisor的命令安装,会生成默认配置/etc/supervisord.conf和目录/etc/supervisord.d,如果没有则自行创建。

在/etc/supervisord.d的目录下创建conf和log两个目录,conf用于存放管理进程的配置,log用于存放管理进程的日志。

cd /etc/supervisord.d
mkdir conf log

修改/etc/supervisord.conf[include]部分,即载入/etc/supervisord.d/conf目录下的所有配置。

vi /etc/supervisord.conf
...
[include]
files = supervisord.d/conf/*.conf
...

3.3 管理应用的配置

进入到/etc/supervisord.d/conf目录,创建管理应用的配置,可以创建多个应用配置。

例如,创建confd.conf配置模板。

[program:confd]
directory = /usr/local/bin ; 程序的启动目录
command = /usr/local/bin/confd -config-file /etc/confd/confd.toml ; 启动命令,与命令行启动的命令是一样的
autostart = true     ; 在 supervisord 启动的时候也自动启动
startsecs = 5        ; 启动 5 秒后没有异常退出,就当作已经正常启动了
autorestart = true   ; 程序异常退出后自动重启
startretries = 3     ; 启动失败自动重试次数,默认是 3
user = root          ; 用哪个用户启动
redirect_stderr = true  ; 把 stderr 重定向到 stdout,默认 false
stdout_logfile_maxbytes = 20MB  ; stdout 日志文件大小,默认 50MB
stdout_logfile_backups = 20     ; stdout 日志文件备份数
; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)
stdout_logfile = /etc/supervisord.d/log/confd.log  ;日志统一放在log目录下
; 可以通过 environment 来添加需要的环境变量,一种常见的用法是修改 PYTHONPATH
; environment=PYTHONPATH=$PYTHONPATH:/path/to/somewhere
[program:influxdb]
directory = /usr/local/influxdb-1.8/usr/bin
command = /usr/local/influxdb-1.8/usr/bin/influxd -config /usr/local/influxdb-1.8/etc/influxdb/influxdb.conf
autostart = true
startsecs = 5
autorestart = true
startretries = 3
user = root
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /etc/supervisord.d/log/influxdb.log


3.4 Surpervisor的启动

# supervisord二进制启动
supervisord -c /etc/supervisord.conf
# 检查进程
ps aux | grep supervisord

#system管理

systemctl start supervisord

systemctl enable supervisord


3.5 supervisorctl&supervisord

supervisorctl stop programxxx,停止某一个进程(programxxx),programxxx 为 [program:beepkg] 里配置的值,这个示例就是 beepkg。
supervisorctl start programxxx,启动某个进程。
supervisorctl restart programxxx,重启某个进程。
supervisorctl status,查看进程状态。
supervisorctl stop groupworker ,重启所有属于名为 groupworker 这个分组的进程(start,restart 同理)。
supervisorctl stop all,停止全部进程,注:start、restart、stop 都不会载入最新的配置文件。
supervisorctl reload,载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
supervisorctl update,根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启

3.6. 查看supervisor的状态

[root@VM-0-11-centos haihang]# supervisorctl status
authelia                         RUNNING   pid 5247, uptime 0:00:08
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值