InfluxDB安装

InfluxDB安装与配置详解
本文详细介绍了InfluxDB的安装步骤及配置文件各项参数的含义与作用,包括服务启动方式、各组件功能及默认配置,适用于初学者快速上手。

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.1.0.x86_64.rpm yum localinstall influxdb-1.1.0.x86_64.rpm

安装后,在/usr/bin下面有如下文件:

 

 

influxd influxdb服务器

influx influxdb命令行客户端

influx_inspect 查看工具

influx_stress 压力测试工具

influx_tsm 数据库转换工具(将数据库从b1或bz1格式转换为tsm1格式)

 

 

在/var/lib/influxdb/下面会有如下文件夹:

data 存放最终存储的数据,文件以.tsm结尾 meta 存放数据库元数据 wal 存放预写日志文件

二、启动

1、以服务方式启动

service influxdb start

2、以非服务方式启动

influxd

需要指定配置文件的话,可以使用 --config 选项,具体可以help下看看

三、配置

配置文件路径 :/etc/influxdb/influxdb.conf

可以通过以下命令生成默认配置文件:

influxd config > default.conf

reporting-disabled

该选项用于上报influxdb的使用信息给InfluxData公司,默认值为false

对应源码文件:

influxdb-1.1.0/cmd/influxd/run/config.go

Config中的ReportingDisabled配置项

bind-address

备份恢复时使用,默认值为8088

对应源码文件:

influxdb-1.1.0/cmd/influxd/run/config.go

Config中的BindAddress配置项

[meta]

meta相关配置

对应源码文件:

influxdb-1.1.0/services/meta/config.go

dir

meta数据存放目录,默认值:/var/lib/influxdb/meta

retention-autocreate

用于控制默认存储策略,数据库创建时,会自动生成autogen的存储策略,默认值:true

logging-enabled

是否开启meta日志,默认值:true

[data]

tsm1引擎配置

对应源码文件:

influxdb-1.1.0/tsdb/config.go

dir

最终数据(TSM文件)存储目录,默认值:/var/lib/influxdb/data

wal-dir

预写日志存储目录,默认值:/var/lib/influxdb/wal

query-log-enabled

是否开启tsm引擎查询日志,默认值: true

cache-max-memory-size

用于限定shard最大值,大于该值时会拒绝写入,默认值:

DefaultCacheMaxMemorySize = 1024 * 1024 * 1024 // 1GB

cache-snapshot-memory-size

用于设置快照大小,大于该值时数据会刷新到tsm文件,默认值:

DefaultCacheSnapshotMemorySize = 25 * 1024 * 1024 // 25MB

cache-snapshot-write-cold-duration

tsm1引擎 snapshot写盘延迟,默认值:

DefaultCacheSnapshotWriteColdDuration = time.Duration(10 * time.Minute)

compact-full-write-cold-duration

tsm文件在压缩前可以存储的最大时间,默认值:

DefaultCompactFullWriteColdDuration = time.Duration(4 * time.Hour)

max-series-per-database

限制数据库的级数,该值为0时取消限制,默认值:

DefaultMaxSeriesPerDatabase = 1000000

measurement, tag set, retention policy 相同的数据集合算做一个serie,级数算法示例如下:

假设monitor1这个measurement有两个tags:id 和 name id 的数量为10,name的数量为 100,则 series 基数为 10 * 100 = 1000

max-values-per-tag

一个tag最大的value数,0取消限制,默认值:

DefaultMaxValuesPerTag = 100000

trace-logging-enabled

是否开启trace日志,默认值: false

[coordinator]

查询管理的配置选项

对应源码文件:

influxdb-1.1.0/coordinator/config.go

write-timeout

写操作超时时间,默认值: 10s

max-concurrent-queries

最大并发查询数,0无限制,默认值: 0

query-timeout

查询操作超时时间,0无限制,默认值:0s

log-queries-after

慢查询超时时间,0无限制,默认值:0s

max-select-point = 0

SELECT语句可以处理的最大点数(points),0无限制,默认值:0

max-select-series = 0

SELECT语句可以处理的最大级数(series),0无限制,默认值:0

max-select-buckets = 0

SELECT语句可以处理的最大"GROUP BY time()"的时间周期,0无限制,默认值:0

[retention]

旧数据的保留策略

对应源码文件:

influxdb-1.1.0/services/retention/config.go

enabled

是否启用该模块,默认值 : true

check-interval

检查时间间隔,默认值 :"30m0s"

[shard-precreation]

分区预创建

对应源码文件:

influxdb-1.1.0/services/precreator/config.go

enabled

是否启用该模块,默认值 : true

check-interval

检查时间间隔,默认值 :"10m0s"

advance-period

预创建分区的最大提前时间,默认值 :"30m0s"

[admin]

influxdb提供的简单web管理页面

对应源码文件:

influxdb-1.1.0/services/admin/config.go

enabled

是否启用该模块,默认值 : false

bind-address

绑定地址,默认值 :":8083"

https-enabled

是否开启https ,默认值 :false

https-certificate

https证书路径,默认值:"/etc/ssl/influxdb.pem"

[monitor]

这一部分控制InfluxDB自有的监控系统。 默认情况下,InfluxDB把这些数据写入_internal 数据库,如果这个库不存在则自动创建。 _internal 库默认的retention策略是7天,如果你想使用一个自己的retention策略,需要自己创建。

对应源码文件:

influxdb-1.1.0/monitor/config.go

store-enabled

是否启用该模块,默认值 :true

store-database

默认数据库:"_internal"

store-interval

统计间隔,默认值:"10s"

[subscriber]

控制Kapacitor接受数据的配置

对应源码文件:

influxdb-1.1.0/services/subscriber/config.go

enabled

是否启用该模块,默认值 :true

http-timeout

http超时时间,默认值:"30s"

insecure-skip-verify

是否允许不安全的证书,当测试自己签发的证书时比较有用。默认值: false

ca-certs

设置CA证书,无默认值

write-concurrency

设置并发数目,默认值:40

write-buffer-size

设置buffer大小,默认值:1000

[http]

influxdb的http接口配置

对应源码文件:

influxdb-1.1.0/services/httpd/config.go

enabled

是否启用该模块,默认值 :true

bind-address

绑定地址,默认值:":8086"

auth-enabled

是否开启认证,默认值:false

log-enabled

是否开启日志,默认值:true

write-tracing

是否开启写操作日志,如果置成true,每一次写操作都会打日志,默认值:false

pprof-enabled

是否开启pprof,默认值:true

https-enabled

是否开启https,默认值:false

https-certificate

设置https证书路径,默认值:"/etc/ssl/influxdb.pem"

https-private-key

设置https私钥,无默认值

max-row-limit

配置查询返回最大行数,默认值:10000

max-connection-limit

配置最大连接数,0无限制,默认值:0

shared-secret

用于JWT签名的共享密钥,无默认值

realm

配置JWT realm,默认值: "InfluxDB"

unix-socket-enabled

是否使用unix-socket,默认值:false

bind-socket

unix-socket路径,默认值:"/var/run/influxdb.sock"

[[graphite]]

graphite相关配置

具体参考:https://github.com/influxdata/influxdb/blob/master/services/graphite/README.md

对应源码文件:

influxdb-1.1.0/services/graphite/config.go

enabled

是否启用该模块,默认值 :false

bind-address

绑定地址,默认值:":2003"

database

数据库名称,默认值:"graphite"

retention-policy

存储策略,无默认值

protocol

协议,默认值:"tcp"

batch-size

批量size,默认值:5000

batch-pending

配置在内存中等待的batch数,默认值:10

batch-timeout

超时时间,默认值:"1s"

consistency-level

一致性级别,默认值:"one"

separator

多个measurement间的连接符,默认值: "."

udp-read-buffer = 0

udp读取buffer的大小,0表示使用操作系统提供的值,如果超过操作系统的默认配置则会出错。 该配置的默认值:0

[[collectd]]

具体参考:https://github.com/influxdata/influxdb/tree/master/services/collectd

对应源码文件:

influxdb-1.1.0/services/collectd/config.go

enabled

是否启用该模块,默认值 :false

bind-address

绑定地址,默认值: ":25826"

database

数据库名称,默认值:"collectd"

retention-policy = ""

存储策略,无默认值

batch-size

默认值:5000

batch-pending

默认值:10

batch-timeout

默认值:"10s"

read-buffer

udp读取buffer的大小,0表示使用操作系统提供的值,如果超过操作系统的默认配置则会出错。默认值:0

typesdb

路径,默认值:"/usr/share/collectd/types.db"

[[opentsdb]]

opentsdb配置

对应源码文件:

influxdb-1.1.0/services/opentsdb/config.go

enabled

是否启用该模块,默认值:false

bind-address

绑定地址,默认值:":4242"

database

默认数据库:"opentsdb"

retention-policy

存储策略,无默认值

consistency-level

一致性级别,默认值:"one"

tls-enabled = false

是否开启tls,默认值:false

certificate

证书路径,默认值:"/etc/ssl/influxdb.pem"

batch-size

默认值:1000

batch-pending

默认值:5

batch-timeout

超时时间,默认值:"1s"

log-point-errors

出错时是否记录日志,默认值:true

[[udp]]

udp配置,具体参考:

https://github.com/influxdata/influxdb/blob/master/services/udp/README.md

对应源码文件:

influxdb-1.1.0/services/udp/config.go

enabled

是否启用该模块,默认值:false

bind-address

绑定地址,默认值:":8089"

database

数据库名称,默认值:"udp"

retention-policy

存储策略,无默认值

batch-size

默认值:5000

batch-pending

默认值:10

read-buffer

udp读取buffer的大小,0表示使用操作系统提供的值,如果超过操作系统的默认配置则会出错。 该配置的默认值:0

batch-timeout

超时时间,默认值:"1s"

precision

时间精度,无默认值

[continuous_queries]

CQs配置

对应源码文件:

influxdb-1.1.0/services/continuous_querier/config.go

log-enabled

是否开启日志,默认值:true

enabled 是否开启CQs,默认值:true

run-interval

时间间隔,默认值:"1s"

 

<think>我们正在处理用户关于InfluxDB安装的问题。根据提供的引用,我们有三个引用来源,分别涉及InfluxDB安装配置、Linux安装步骤以及CentOS7上的安装实践。用户意图是了解如何在不同操作系统上安装和配置InfluxDB。我们将按照以下步骤进行:1.概述InfluxDB及其安装前的准备。2.分别介绍在Linux(以CentOS为例)和Windows上的安装步骤。3.提供安装后的基本配置和验证方法。4.生成相关问题。注意:引用内容中主要提供了Linux(CentOS)的安装步骤,对于Windows,我们需要参考官方文档或其他可靠来源进行补充(尽管引用中没有提供Windows的安装,但为了回答用户问题,我们需要涵盖不同操作系统,因此将根据一般知识补充Windows安装方法,并注明来源)。由于引用中并没有提供Windows的安装方法,我们将基于InfluxDB官方文档的通用知识来补充。同时,在回答中,我们将引用提供的参考作为Linux安装的主要依据。步骤:一、InfluxDB简介InfluxDB是一个用Go语言编写的时序数据库,常用于监控系统等场景。二、安装前的准备-确定操作系统:Linux(如CentOS、Ubuntu)或Windows。-下载安装包:根据操作系统从官网下载对应的安装包。三、Linux系统(以CentOS为例)安装步骤根据引用[2]和[3]:1.创建安装目录(可选):```bashmkdir/usr/local/influxdb```2.解压安装包(以InfluxDB2.x版本为例):```bashtar -zxvfinfluxdb2-2.7.5_linux_amd64.tar.gz-C/usr/local/influxdb```3.进入解压后的目录,运行可执行文件:```bashcd/usr/local/influxdb/influxdb2-2.7.5_linux_amd64./influxd```或者将可执行文件移动到系统路径下,以便全局运行。4.作为服务运行(可选):创建systemd服务文件(例如:/etc/systemd/system/influxdb.service),内容如下:```[Unit]Description=InfluxDB ServiceAfter=network.target[Service]ExecStart=/usr/local/influxdb/influxdb2-2.7.5_linux_amd64/influxdRestart=always[Install]WantedBy=multi-user.target```然后启动服务:```bashsystemctldaemon-reloadsystemctlstart influxdbsystemctl enableinfluxdb```四、Windows系统安装步骤参考InfluxDB官方文档(由于引用中没有提供,我们根据通用步骤):1.下载Windows版本的安装包(ZIP文件)。2.解压到指定目录(如C:\influxdb)。3.打开命令提示符(以管理员身份),进入解压目录,运行:```cmdinfluxd.exe```4.也可以将influxd.exe的路径添加到系统环境变量PATH中,以便在任何目录运行。五、安装后的基本配置和验证1.启动InfluxDB后,默认监听端口为8086(HTTPAPI)和8088(RPC服务,用于备份等)。2.通过浏览器访问http://localhost:8086,进入设置界面(InfluxDB2.x版本需要初始设置,包括创建初始用户、组织、bucket等)。3.命令行操作(InfluxDB2.x):使用`influx`命令行工具(在Linux中,如果解压包中有influx可执行文件,同样运行;在Windows中为influx.exe):```bashinflux```然后执行命令创建用户、组织等(在2.x版本中,初始设置通常通过Web界面完成)。六、注意事项- InfluxDB1.x和2.x的安装和配置有较大差异,上述步骤以2.x为例。1.x的安装步骤类似,但配置文件和初始化方式不同。-安全配置:建议设置认证(2.x默认开启,1.x需要手动配置)。根据引用[1]:InfluxDB无需外部依赖,安装配置非常方便[^1]。生成相关问题:1. InfluxDB1.x和2.x版本在安装和配置上有什么主要区别?2.如何配置InfluxDB的数据持久化路径?3.InfluxDB在启动时遇到端口冲突怎么办?注意:在回答中,我们引用了提供的引用[1]、[2]、[3]中的信息,并补充了Windows安装的通用步骤(但未引用具体来源,因为用户提供的引用中没有Windows安装内容)。如果用户需要更详细的Windows安装步骤,建议参考官方文档。现在,我们按照上述结构组织回答。</think>### 在不同操作系统上安装和配置 InfluxDB #### 一、Linux 系统安装(以 CentOS 7 为例) 1. **下载安装包** 从[官网](https://portal.influxdata.com/downloads/)获取最新版,或使用命令行下载: ```bash wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.7.5_linux_amd64.tar.gz ``` 2. **解压安装** ```bash mkdir /usr/local/influxdb # 创建安装目录[^3] tar -zxvf influxdb2-2.7.5_linux_amd64.tar.gz -C /usr/local/influxdb[^3] ``` 3. **启动服务** ```bash cd /usr/local/influxdb/influxdb2-2.7.5_linux_amd64 ./influxd # 启动服务(前台运行) ``` 4. **配置系统服务(可选)** 创建服务文件 `/etc/systemd/system/influxdb.service`: ```ini [Unit] Description=InfluxDB Service After=network.target [Service] ExecStart=/usr/local/influxdb/influxdb2-2.7.5_linux_amd64/influxd Restart=always [Install] WantedBy=multi-user.target ``` 启用服务: ```bash systemctl daemon-reload systemctl start influxdb systemctl enable influxdb ``` 5. **初始化配置** 访问 `http://localhost:8086` 完成初始设置(创建管理员账户、组织、存储桶)。 --- #### 二、Windows 系统安装 1. **下载安装包** 从官网下载 Windows 版 `.zip` 文件。 2. **解压并运行** 解压到目录(如 `C:\influxdb`),打开命令行: ```cmd cd C:\influxdb\influxdb2-2.7.5_windows_amd64 influxd.exe # 启动服务 ``` 3. **配置环境变量(可选)** 将解压目录添加到系统 `PATH`,方便全局调用命令。 --- #### 三、基础配置与验证 1. **命令行操作** ```bash influx # 进入CLI > CREATE USER admin WITH PASSWORD 'yourpass' WITH ALL PRIVILEGES # 创建用户[^2] > CREATE DATABASE mydb # 创建数据库 ``` 2. **端口配置** 修改默认端口(8086)需编辑配置文件: ```yaml # 在 influxdb.conf 中修改 [http] bind-address = ":8087" # 更改端口 ``` 3. **验证安装** ```bash curl http://localhost:8086/health # 返回 {"status":"pass"} 表示成功 ``` --- #### 四、数据导入导出(引用操作) ```bash # 导出整个数据库[^2] influx inspect export-lp --bucket mybucket > backup.lp # 导入数据[^2] influx write -b mybucket -f backup.lp ``` > **注意**:InfluxDB 2.x 与 1.x 配置差异较大,以上步骤针对 2.x 版本。1.x 版本需使用 `influxdb.conf` 文件配置认证和端口[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chavaz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值