InfluxDB Enterprise 1.11 发布说明
InfluxDB 企业版和 FIPS 合规性
InfluxDB Enterprise 1.11+ 引入符合 联邦信息处理标准 (FIPS) 并遵循严格的安全标准的版本。提供标准版和FIPS合规的 InfluxDB Enterprise 版本。有关更多信息,请参见 FIPS合规的 InfluxDB Enterprise 版本。
v1.11.8
错误修复
- 在进行字符串比较之前,从
/api/v2/delete兼容性API中的测量名称中去除双引号(例如,为了允许测量名称中的特殊字符)。 - 为FIPS RPM启用SHA256。
v1.11.7
错误修复
- 当 RPC 调用失败时记录错误,适用于
MetaExecutor操作,如SHOW TAG VALUES和SHOW TAG KEYS。 - 防止
GROUP BY查询在跨越夏令时边界时失败。 - 确保
range()对所有年份进行正确过滤。
特点
- 如果可用,运行
FIPS POST并记录结果。 - 添加对SSL(LDAPS)上的LDAP的支持。
- 通过优化查询来限制仅访问用户有权限访问的标签值,提高
SHOW TAG VALUES在使用FGA时的性能。
其他
- 升级到 Go 1.22.7。
- 升级
jwt-go。 - 将
dvsekhvalnov/jose2go升级到 v1.6.0。
版本1.11.6
错误修复
- 防止保留服务挂起,这可能导致无法移除旧的碎片。
- 修复分片预创建服务,以便为超过第一个数据库预创建分片。
- 修复由浮点文字四舍五入导致的远程迭代器的问题,这可能导致精度丢失并显著改变结果。
这影响需要创建远程迭代器的 InfluxQL 语句。
在所有数据节点间进行复制的集群不太可能遇到此问题。
此修复的额外可见更改包括:
- 更改与 InfluxQL 相关的错误消息中浮点数的精度。
- 更改“EXPLAIN”和“EXPLAIN ANALYZE”输出中浮点数的精度。
- 更改包含在跟踪跨度中的 InfluxQL 表达式的浮点数精度。
- 修复查询空标签时的崩溃问题。
- 修复
influx_inspect在删除最后一个测量时的错误。 - 改善TSM错误处理。
其他
- 升级 Flux 至 v0.194.5。
- 将Go升级到1.21.10。
- 升级
protobuf库。
v1.11.5
从 InfluxDB Enterprise v1.11.3 升级
如果从 InfluxDB Enterprise v1.11.3+ 升级到 1.11.8,您现在可以配置 InfluxDB 是否在启动时压缩系列文件,使用您的 compact-series-file 配置选项 在 InfluxDB Enterprise 数据节点配置文件 中。
错误修复
- 防止保留服务创建孤立的分片文件。
- 修复LDAP身份验证和授权问题。
其他
- 升级 Flux 至 v0.194.5。
版本1.11.4
系列文件压缩
使用 InfluxDB Enterprise v1.11.4+,可以选择将
系列文件压缩
在启动数据节点之前进行配置。
系列文件存储在 _series 目录中,位于
InfluxDB 数据目录下。
默认值: /var/lib/data/。
要在启动时压缩序列文件,请在您的 InfluxDB Enterprise 数据节点配置文件 中将 compact-series-file 配置选项 设置为 true。
- 如果任何系列文件损坏,数据节点上的
influx_inspect或influxd进程可能无法启动。在这两种情况下,请在重新启动数据库之前删除系列文件目录。InfluxDB 在重新启动时会自动重新生成必要的系列目录和文件。 - 在启动数据库之前检查系列文件是否损坏,请在数据库离线状态下运行
influx_inspect verify-seriesfile命令。 - 如果系列文件很大(超过20吉字节),那么在启动数据库之前删除系列文件目录可能会更快。
错误修复
- 添加
compact-series-file配置设置,以便在启动期间可选地执行系列压缩。
其他
- 将InfluxDB更新到1.11中的最新提交
版本1.11.3
启动时的系列文件压缩
在 InfluxDB Enterprise v1.11.3 中,启动时,InfluxDB 运行 influxd_inspect -compact-series-file 命令,以在数据节点启动之前 压缩系列文件。系列文件存储在 _series 目录中,位于 InfluxDB 数据目录 内。默认:/var/lib/data/
- InfluxDB Enterprise v1.11.4+ 引入了一项配置设置,可以选择在启动时压缩系列。
- 如果任何序列文件已损坏,数据节点上的
influx_inspect或influxd进程可能无法启动。在这两种情况下,在重新启动数据库之前,请删除序列文件目录。当数据库重启时,InfluxDB 将自动重新生成已删除的序列文件。 - 在启动数据库之前检查系列文件是否损坏,请在数据库离线时运行
influx_inspect verify-seriesfile命令。 - 如果系列文件很大(超过20个千兆字节),在启动数据库之前删除系列文件目录可能会更快。
错误修复
- 在括号中包围二进制表达式。
- 杂项构建系统和持续集成修复。
其他
- 为每个发布生成
DIGESTS.tag。 - 更新
golang.org/x/crypto版本以匹配go.mod。 - 升级 Go 到 1.20.10。
版本1.11.2
特点
- 将加密实现信息添加到
/debug/vars。 - 显式地运行FIPS POST并记录结果以确保POST被运行。
- 消除被替换模块的错误FIPS审计失败。
Flux 更新
- 为
iox.sqlInterval()添加微秒和纳秒支持。 - 添加
onNonmonotonic参数到histogramQuantile()以定义当区间计数不是单调递增时的行为。 - 添加
geo.totalDistance()以汇总连续点的总距离。 - 添加
iox.sqlInterval()以将 Flux 持续时间转换为 SQL 间隔字符串。 - 添加
contrib/qxip/hash包,其中包含哈希函数。 - 添加
contrib/qxip/logql包,它提供用于处理 Grafana Loki 和 LogQL 的函数。 - 添加
contrib/qxip/clickhouse包,该包提供从Clickhouse查询数据的函数。 - 添加
types.isNumeric()以测试数值型值。 - 添加
dynamic.isType()函数。 - 添加
dynamic.asArray()函数。 - 添加与动态值一起使用的JSON函数:
- 添加
iox.sql()函数。 - 添加 动态类型。
- 添加动态包装函数。
- 将数组类型转换函数添加到实验性
array包。 - 为
array.from()添加对管道转发数组的支持。 - 为非字段和非分组键列添加参数到
experimental.unpivot() - 添加
experimental/polyline包 以进行数据下采样。 - 支持
apiKey参数在zenoss.event()和zenoss.endpoint()中。 - 通过使用gonum Nelder-Mead优化来优化霍尔特-温特斯实现。
- 向
join包添加多个新的连接函数,如join.full()。 - 将
initialZero参数添加到导数函数。 - 添加内置函数,
time(),到date包中以将任何可时间化的对象转换为日期时间。
错误修复
- 杂项构建系统和持续集成修复。
- 在启动时执行
compact-series-file。 - 将
CIRCLE_TAG传递给包构建器。
其他
- 升级到 Go 1.19.6。
- 修复 macOS 的 arm 构建。
- 修复在新容器上构建
boringcrypto构建时的问题。 - 升级企业许可证密钥引用。
- 更新 influxdb 以移除
golang.org/x/crypto/ssh的使用。 - 升级 Flux 到 0.194.3。
- 各种构建系统和持续集成更新。
版本1.11.1
特点
- 审核启用的TLS密码套件以满足FIPS构建。
- 实现远程工件签名。
- 在启动时输出日志级别。
- 在
SIGHUP发生时,重启反熵服务并重新加载配置。 - 对FIPS构建使用BoringCrypto的
PBKDF2实现。 - 实现符合FIPS标准的内存密码哈希缓存。
- 在启动时为加密和TLS实现荣誉
ensure-fips
错误修复
- 处理一个边缘情况,其中操作符优先级没有被正确处理。
- 在括号中包围二进制表达式。
- 杂项构建系统和持续集成修复。
- 更新Dockerfile以支持Alpine和Ruby。
- 防止合并游标代码中的索引越界恐慌。
- 为 boringcrypto 和 fipsonly 构建添加测试。
- 优化
SHOW FIELD KEY CARDINALITY元查询。 - 更新 Makefile 以定位
pkg-config依赖。
其他
- 升级 Go 到 1.19.8。
- 将Flux升级到v0.188.0。
- 在适当的地方将日志级别更新为
error或warn。 - 更新 Influxdb 以移除
golang.org/x/crypto/ssh依赖。 - 为FIPS构建使用正确版本的Flux。
- 在 FIPS 构建中使用
pkg/boringutil/xcrypto替代golang.org/x/crypto。 - 从 FIPS 构建中移除
golang.org/x/crypto/bcrypt依赖。 - 消除
golang.org/x/crypto依赖。 - 使用常见的语义 PR 和提交消息检查。
- 自动解析
changelogger的 git 标签。 - 将对等地址和流 ID 添加到日志上下文中。
- 启用FIPS构建。
- 使用计划管道。
- 添加脚本和Makefile规则,以审核FIPS不允许的包的二进制文件。
v1.10.4
其他
- 更新 Influxdb
go.mod版本。 - 升级 Influxdb 参考 (1.10).
v1.10.3
特点
- 实现远程工件签名。
错误修复
- 在
changelog_*工作流中检查代码库。 - 杂项构建系统和持续集成更新。
- 正确拼写“fingerprints”。
其他
- 更新 CircleCI 自动化和软件包
- 构建
digest和influx_tools。
v1.10.2
特点
- 允许限制元 API 的身份验证方法。
v1.10.1
错误修复
- 更新Dockerfile以支持Alpine和Ruby。
- 为持续查询服务添加监控。
- 移除不必要的缓冲。
其他
- 更新到 1.18.9。
- 使用计划管道。
- 防止
index out of range在合并游标处理中的恐慌。
v1.10.0
特点
- 增加对 /api/v2/buckets 的支持,用于创建、删除、列出、检索和更新操作。
- 添加 /api/v2/delete 支持。
- 为
SHOW MEASUREMENTS中的保留策略添加通配符支持。 - 即使在未启用查询日志的情况下,也记录慢查询。
- 添加
--start和--end备份选项 以指定要包含在备份中的时间。 - 将 Raft 状态输出添加到
inflxud-ctl show。
Flux 更新
- 将
preview()添加到实验包中,以限制返回的行和表(与仅返回具有limit()的行相对)。 - 添加 date.scale() 以让用户动态缩放日期中的持续时间。
- 将 OpenTracing span 添加到 Flux 转换中。让您更精确地监控 Flux 脚本。
- 为 Flux CLI 添加
trace选项。 - 将
addDuration()重命名为 add,并将subDuration()重命名为 sub,将这两个函数从实验包移动到日期包。 - 为 date.truncate() 添加位置支持。
- 在 map() 中向量化算术运算符。
- 在
map()中向量化逻辑操作。 - 默认启用
movingAverage()和cumulativeSum()优化。
错误修复
备份
- 修复备份估算,以便随着已知信息的进展动态更新。
- 能够在使用 influxd-ctl backup 命令时仅通过传递
-shard flag来创建备份。
influx_inspect
- 能够在同一数据库上导出多个保留策略(RPs)。
verify子命令不再将 /data 附加到-dir标志路径参数
其他
- 如果需要,增加标签索引缓冲区。这可以避免在记录中恰好有100个标签的罕见情况下发生恐慌。
- 修复某些嵌套
InfluxQL查询在每个时间戳返回多个结果的问题。 - 在关闭之前同步索引文件,以避免实例重启时出现分片重载错误。
- 修复在
/debug/vars中 numMeasurements 报告小于 0 的少见情况。 - 修复
influxd配置恐慌。 - 修复多个子查询引用不同保留策略时的分片混淆。
维护更新
- 升级到 Flux 0.170.0。
- 升级到 Go 1.18.3。
- 修复了OSXCross和Darwin构建的问题。这使得新的最低OSX版本为MacOSX10.14/darwin18。
v1.9.8
特点
- 将被动节点功能暴露给influxd-ctl和API。
- 在遇到错误时,限制节点间的数据复制,包括传入的写入和提示转交。
- 将新的
hh_node测量添加到/debug/vars监控遥测中。这与数据节点中提示转交的max-size配置设置更加准确地跟踪。
Flux 更新
- 添加 http requests package。
- 添加 isType() 函数。
- 添加 display() 函数。
- 对以下函数的增强: increase(), sort(), derivative(), union(), timeShift(), 以及适用函数的向量化,如 map()。
- 在调用 mqtt.publish() 函数时,将 TCP 连接池添加到 map() 函数中。
错误修复
- 修复导致
influxd-ctl restore命令失败的竞争条件。 - 修复度量基数降低到零以下的问题。
- 修复了与非RPC错误的RPC重试相关的问题,这导致提示转交不断构建。
- 正确计算提示的移交队列在磁盘上的大小,以防止不必要的
queue is full错误。
错误信息
- 解决错误消息中的不可打印和无效字符,使与无效行协议相关的错误更易于阅读。
- 改善错误消息以应对
max series per database exceeded错误。 - 改善当接收到无效的JSON时influxd-ctl的错误信息。
- 为
error creating subscription消息添加详细信息。 DROP SHARD现在成功地忽略“没有找到分片”的错误。
维护更新
- 升级到 Go 1.17.11
- 更新到 Flux v0.161.0。
v1.9.7
此版本中引入了一个边缘情况回归,可能会导致因请求格式错误而被拒绝写入时的提示交接不断积累。如果您遇到写入错误和提示交接增长,我们建议升级到1.9.8或最新版本。
特点
- 将被动节点功能暴露给influxd-ctl和API。
- 在遇到错误时,限制节点间的数据复制,包括传入的写入和提示转交。
Flux 更新
- 添加 http requests package。
- 添加 isType() 函数。
- 添加 display() 函数。
- 对以下函数的增强: increase(), sort(), derivative(), union(), timeShift(), 以及适用函数的向量化,如 map()。
- 在调用 mqtt.publish() 函数时,将 TCP 连接池添加到 map() 函数中。
错误修复
- 修复导致
influxd-ctl restore命令失败的竞争条件。
错误信息
- 改进错误消息以应对
max series per database exceeded错误。 - 改善在接收到无效 JSON 时 influxd-ctl 的错误信息。
- 向
error creating subscription消息添加详细信息。 DROP SHARD现在成功忽略“未找到分片”错误。
维护更新
- 升级到 Go 1.17.9
- 更新到 Flux v0.161.0。
版本1.9.6
InfluxDB Enterprise 产品不再在 AWS、Azure 和 GCP 市场上提供。请 联系销售 以请求许可证密钥来 在您的环境中安装 InfluxDB Enterprise。
特点
备份增强
将损坏的元节点恢复到先前状态: 将
-meta-only-overwrite-force选项添加到influxd-ctl restore,以便在恢复 InfluxDB 企业数据库时,将现有集群中的损坏元节点恢复到先前状态。估算备份的大小(全量或增量)并提供进度消息。添加
-estimate选项到influxd-ctl backup以估算备份的大小(全量或增量)并提供进度消息。打印待备份文件的数量、每个文件(按分片组织)的已传输字节百分比,以及完成备份的预计剩余时间。
日志增强
在进程终止时记录活动查询: 添加
termination-query-log配置选项。当设置为true时,当数据节点进程接收到SIGTERM时,所有正在运行的查询都会被打印到日志中(例如,当Kubernetes进程超过容器内存限额或进程被终止时)。HTTP调用元节点的日志详情。当
cluster-tracing被启用时,所有对元节点的API调用都将记录日志,提供审计跟踪,包括调用者的IP地址、被调用的具体API、正在执行的操作等。
维护更新
- 更新到 Flux v0.140。
- 升级到 Go 1.17。
- 升级
protobuf库。
错误修复
数据
- 调整分片的开始和结束时间,以避免与现有分片重叠。这解决了现有分片(无论是截断的还是未截断的)与当前默认值的分片持续时间不同的问题。
错误
- 修复运行
influxd config时的恐慌。 - 确保
influxd-ctl entropy命令使用正确的 TLS 设置。
分析
- 解决问题以启用 mutex profiling。
influxd-ctl 更新
- 提高
influxd-ctl join的鲁棒性,并在失败时提供更好的错误信息。 - 当访问启用了TLS的服务器而客户端未启用TLS时,添加用户友好的错误消息。
v1.9.5
InfluxDB Enterprise 1.9.4 未发布。 以下更改包含在 InfluxDB Enterprise 1.9.5 中。
特点
新的恢复选项
- 为恢复InfluxDB企业数据库添加以下选项:
- 将数据与新保留策略恢复到现有数据库中。
- 在恢复时覆盖保留策略的持续时间。
- 在恢复特定分片时指定目标分片。
操作增强
- 允许通过保留策略指定和过滤
SHOW TAG VALUES。 - 将
memUsage指标添加到/debug/vars端点,以测量所有订阅的内存使用量(以字节为单位)。
性能提升
- 通过使
compact-full-write-cold-duration同时适用于 TSM 文件和 TSI 索引来提高内存性能。
维护更新
- 更新协议缓冲区库版本。
- 更新到 Flux 0.131.0.
错误修复
数据
- 修复了在
influx_tools import期间相邻分片意外重叠的问题。 - 在某些边缘情况下,通过重叠的分片防止丢失写入。
- 在清除短队列时防止在提示交接期间丢失写入。
- 写入后将系列片段同步到磁盘
错误
- 当InfluxDB Enterprise尝试使用OSS进行恢复时,返回错误而不是恐慌。
- 在systemd服务启动期间处理HTTPS错误。
- 当多语句查询失败时,返回未执行语句的正确数量。
- 修复由TSM文件损坏引起的崩溃。
通量
- 修复了在查询空的预创建分片时导致节点崩溃的 Flux 恐慌。
- 当副本因子小于集群大小时,修复大数据集的Flux查询问题。
日志记录
- 修复错误报告压缩队列为零的问题。
- 确保正确的JSON日志格式。
- 为分片写入错误添加日志记录。
- 避免在检测到熵时关于“断开的管道”的错误日志。
性能
- 在解析行协议时将字段大小限制为1MB。
- 修复由于读取TSI索引和TSI压缩之间的竞争导致的潜在崩溃。
- 如果
retry-rate-limit被超过,则延迟提示的转交写入(少于一秒)。
安全
- 需要对数据库进行读取授权,以查看与该数据库相关的连续查询。
- 修复
influxd-ctl entropy命令中不正确的 TLS 处理。 - 启用TLS时,对嵌套的LDAP连接使用TLS。
版本1.9.3
特点
- 添加 可配置的密码哈希,支持
bcrypt和pbkdf2。 - 在反熵修复中添加指数退避重试。
- 为压缩添加日志记录。
- 向订阅添加
total-buffer-bytes配置参数。 此选项旨在帮助缓解内存不足错误。 - 更新到 Flux v0.120.1.
错误修复
- 当 HH 队列增长时,改善堆内存使用。
- 在
DigestWithOptions中不要关闭连接两次。 - 在清理失败的迭代器时不要惊慌。
- 使用
yum兼容的名称重命名 ARM RPM。 - 在构建过程中通过Docker转换RPM的ARM架构名称。
- 请不要向订阅发送非UTF-8字符。
- 语句重写失败时返回错误而不是恐慌。
- 修复
SHOW SHARDS在没有过期的分片组中显示过期时间的问题。 - 将内存使用的默认限制从4GB更改为无限制。
- 确保
total-max-memory-bytes和其他 flux 控制器配置正确工作。 - 随着提示交接的增加,使用恒定量的RAM,而不是增加RAM使用量。
版本1.9.2
InfluxDB Enterprise 1.9 的发布与之前的 InfluxDB Enterprise 发布不同, 因为没有对应的 InfluxDB OSS 发布。 (InfluxDB 1.8.x 将继续接收维护更新。)
特点
- 升级到 Go 1.15.10。
- 支持用户定义的 节点标签。 节点标签允许您为集群中的元节点和数据节点分配任意的键值对。 例如,操作员可能希望使用它们所在的可用区对节点进行标记。
- 改善
SHOW SERIES CARDINALITY和SHOW SERIES CARDINALITY fromInfluxQL查询的性能。 这些查询现在返回cardinality estimation列标题,而之前返回的是count。 - 改善许可证问题的诊断。
在
debug/vars指标中添加 许可证到期日期。 - 添加改进的 ingress metrics 以追踪通过测量和登录写入的点。 允许收集关于每个测量和登录写入的点、值和新系列的统计信息。 这些数据在数据节点级别被收集和暴露。 通过这些指标,您可以,例如: 聚合整个集群的写请求, 监控某个测量内系列的增长, 并跟踪用于写入数据的用户凭据。
- 通过LDAP支持Kapacitor的身份验证。
- 支持 配置 Flux 查询资源使用情况 (并发、内存等)。
- 升级到 Flux v0.113.0。
- 更新Prometheus远程协议以允许流式读取。
- 提高排序合并迭代器的性能。
- 向 Flux
to函数添加参数。 - 为 WindowAggregate 推送添加 meancount 聚合。
- 优化TSI中的系列迭代。
- 在
SHOW TAG KEYS中添加WITH KEY。
错误修复
show databases现在检查读写权限。- 抗熵:更新
tsm1.BlockCount()调用以匹配签名。 - 从点写入器中删除多余的空值检查。
- 确保在恢复过程中成功复制后打印一个换行符。
- 使
entropy show的过期时间与show-shards一致。 - 正确关闭多个HTTP服务器。
- 在v2兼容端点中允许CORS。
- 地址静态检查警告 SA4006, ST1006, S1039 和 S1020。
- 修复抗熵在空分片中无限循环的问题。
- 禁用 MergeFiltersRule 直到它更稳定。
- 修复缓存环中的数据竞争和验证。
- 对不存在的分片ID返回错误。
- 将
User-Agent添加到允许的 CORS 头部。 - 修复被声明遮蔽的变量。
- 修复序列化
/debug/vars时的键冲突。 - 修复临时目录搜索错误。
- 如有需要,增加标签索引缓冲区。
- 在新的均值计数迭代器中使用原生类型进行求和。
- 修复缺失分片的一致性错误。
- 正确地读取
snapshotter中的有效载荷。 - 修正
influx_inspect的帮助文本。 - 允许
PATCH在 CORS 中。 - 修复在某些情况下
GROUP BY返回每组多个结果的问题。 - 添加选项以验证 Prometheus 远程读取。
- 修复FGA启用。
- 修复备份过程中出现的“快照进行中”错误。
- 修复光标请求 (
[start, stop]而不是[start, stop)). - 从数组游标中排除停止时间。
- 修复桶查询中的Flux回归。
- 修复Prometheus收集器指标的冗余注册。
- 重新添加 Flux CLI。
- 在客户端使用非空
context.Context值。 - 避免不必要地重写
fields.idx。
其他更改
- 移除
influx_stress工具(自版本 1.2 起不推荐使用)。 相反,使用inch或influx-stress(不要与influx_stress混淆)。
注意: InfluxDB Enterprise 1.9.0 和 1.9.1 未发布。 计划用于 1.9.0 和 1.9.1 的错误修复已合并到 InfluxDB Enterprise 1.9.2 中。
v1.8.6
细粒度授权安全更新。 如果使用InfluxDB Enterprise 1.8.5,我们强烈建议立即升级到InfluxDB Enterprise 1.8.6。 1.8.5未能正确实施带有指定权限的授予。 在InfluxDB Enterprise 1.8.5之前的版本不受影响。 1.8.6确保只有具有足够权限的用户才能读取和写入测量。
特点
- 增强的反熵(AE)日志记录: 当数据节点配置中设置了 调试日志级别 (
level="debug") 时,反熵服务报告分片未空闲的原因,包括:- 活动缓存压缩
- 活动级别(零、一个、两个)压缩
- 活动完整压缩
- 活动TSM优化压缩
- 缓存大小非零
- 分片未完全压缩
- 增强的
copy-shard日志记录。向copy-shard函数的日志消息中添加信息以及额外的错误测试。
错误修复
- 在元节点对数据节点进行远程过程调用(RPC)时,请使用正确的TLS配置。使用以下influxd-ctl命令解决RPC调用问题:
copy-shardcopy-shard-statuskill-copy-shardremove-shard - 之前,反熵服务会循环尝试将一个空分片复制到缺少该分片的数据节点。现在,空分片已成功创建在一个新节点上。
- 检查在
DiffIterator.Next()中之前被忽略的错误。在可能的函数退出之前进行检查,并确保在摘要差异中出现错误时关闭句柄。
v1.8.5
InfluxDB Enterprise v1.8.5 版本基于 InfluxDB OSS v1.8.5 版本构建。 有关从 InfluxDB OSS 版本中纳入的更改的详细信息,请参见 InfluxDB OSS 发布说明。
错误修复
- 解决 TSM 备份“快照进行中”错误。
- 现在SHOW DATABASES只显示用户具有读取或写入权限的数据库
influxd_ctl entropy show现在显示与influxd_ctl show-shards一致的分片过期时间- 为 SHOW SHARDS 输出中返回的值添加标签,以明确节点 ID 和 TCP 地址。
- 始终将修复操作转发到下一个数据节点(即使当前数据节点不需要对修复采取任何措施)。
v1.8.4
InfluxDB Enterprise 1.8.4 版本基于 InfluxDB OSS 1.8.4 版本构建。 有关从 InfluxDB OSS 版本中包含的更改的详细信息,请参见 InfluxDB OSS 发行说明。
注意: InfluxDB Enterprise 1.8.3 并未发布。针对 1.8.3 的错误修复已合并到 InfluxDB Enterprise 1.8.4 中。
特点
无需重启数据节点即可更新您的InfluxDB Enterprise许可证
添加无需重启数据节点即可续订或更新您的许可证密钥或文件的功能。
错误修复
- 用一个添加自定义头部的函数包装基于TCP复用的HTTP服务器。
- 正确的输出为
influxd-ctl show shards。 - 正确地编码/解码
control.Shard.Err。
v1.8.2
InfluxDB Enterprise 1.8.2版建立在InfluxDB OSS 1.8.2和1.8.1版的基础上。由于InfluxDB OSS 1.8.1中的一个缺陷,InfluxDB Enterprise 1.8.1未发布。此发布解决了该缺陷,并包含以下列出的功能和错误修复。有关从InfluxDB OSS版本合并的更改的详细信息,请参阅InfluxDB OSS release notes。
特点
提示接力改进
- 允许无序写入。此更改在数据节点配置文件的
[cluster]部分添加了一个配置选项allow-out-of-order-writes。该设置默认值为false,以匹配现有行为。在启用此选项之前,需要审查一些重要的操作注意事项。但是,结果是启用此选项可以减少排空提示接管队列所需的时间,并在恢复期间提高吞吐量。有关更多详细信息,请参见allow-out-of-order-writes。 - 将待写入的数量设置为可配置。此更改在
[hinted-handoff]部分添加了一个名为max-pending-writes的配置选项,默认值为1024。有关更多详细信息,请参见max-pending-writes。 - 更新提示转接队列,以确保对分段文件的各种条目原子性地进行。 在此更改之前,条目是分三次写入磁盘(len,data,offset)。 如果该过程在任何写入的中间停止,提示转接分段文件将处于无效状态。
- 在某些情况下,提示转交队列将无法排空。节点启动时,如果有任何损坏,队列段文件现在会被验证并截断。当节点开始写入提示转交队列时,也添加了一些额外的日志记录。
influxd-ctl CLI 改进
- 为
influxd-ctl show-shards添加一个详细标志。此选项提供有关每个分片所有者的更多信息,包括状态(热/冷)、最后修改日期和时间,以及磁盘上的大小。
错误修复
- 解决了导致崩溃的集群读取服务问题。之前,如果没有读取到标签的键或值,集群读取服务会返回一个 nil 游标。现在,返回一个空游标。
- LDAP 配置:
GroupSearchBaseDNs,SearchFilter,GroupMembershipSearchFilter, 和GroupSearchFilter在配置文件的 LDAP 部分现在都已转义。 - 在执行
processCreateShardSnapshotRequest()时发生错误时,消除孤立的临时目录,并提供有关创建临时目录原因的有用日志信息。
v1.8.0
InfluxDB Enterprise 1.8 版本建立在 InfluxDB OSS 1.8 版本之上。有关从 InfluxDB OSS 版本中所包含更改的详细信息,请参见 InfluxDB OSS release notes。
特点
仅备份元数据
添加仅备份 元数据(用户、角色、数据库、连续查询和保留策略)的选项,使用新的
-strategy标志和only meta选项:influx ctl backup -strategy only meta。注意:要恢复元数据备份,请使用
restore -full命令并指定您的备份清单:influxd-ctl restore -full。
欲了解更多信息,请参见 执行仅元存储备份。
增量备份和完整备份
- 为新的
-strategy标志在influx ctl backup中添加incremental和full备份选项:influx ctl backup -strategy incrementalinflux ctl backup -strategy full
有关更多信息,请参见influxd-ctl backup 语法。
错误修复
- 更新反熵(AE)服务以忽略过期片段。
v1.7.10
InfluxDB Enterprise 1.7.10 版基于 InfluxDB OSS 1.7.10 版构建。 有关从 InfluxDB OSS 版中纳入的更改的详细信息,请参见 InfluxDB OSS 版本说明。
特点
- 当元状态文件无法打开时记录日志。
错误修复
- 在元数据更新时更新
MaxShardGroupID。 - 在移除数据节点时,不要重新分配分片所有权。
版本1.7.9
InfluxDB Enterprise 1.7.9 版本建立在 InfluxDB OSS 1.7.9 版本之上。有关从 InfluxDB OSS 版本中纳入的更改的详细信息,请参见 InfluxDB OSS release notes。
发行说明
- 此版本使用 Go 1.12.10 构建,消除了 HTTP desync 漏洞。
错误修复
- 将
tsdb store open移动到服务器初始化的开始。 - 启用Meta客户端和Raft使用验证过的TLS。
- 修复 RPC 池 TLS 配置。
- 使用新的授权选项更新示例配置文件。
v1.7.8
InfluxDB 现在拒绝所有非 UTF-8 字符。 要成功将数据写入 InfluxDB,请仅在数据库名称、测量名称、标签集和字段集中使用 UTF-8 字符。 InfluxDB 企业客户可以联系 InfluxData 支持以获取更多信息。
InfluxDB Enterprise 1.7.8 版本建立在 InfluxDB OSS 1.7.8 版本之上。有关从 InfluxDB OSS 版本中包含的更改的详细信息,请参阅 InfluxDB OSS release notes。
错误修复
- 在禁用反熵(AE)服务时,澄清了
influxd-ctl错误信息。 - 确保从提示传递中移除无效的、非UTF-8数据。
- 如果配置错误,则为
INFLUXDB_LOGGING_LEVEL添加了错误消息。 - 增加了在数据节点连接到元服务时的日志记录。
特点
- Flux技术预览版已升级到版本 0.36.2。
版本1.7.7
InfluxDB Enterprise 1.7.7 版本基于 InfluxDB OSS 1.7.7 版本。有关从 InfluxDB OSS 版本中纳入的变更的详细信息,请参见 InfluxDB OSS release notes。
已知问题
- Flux技术预览版没有进展,仍然是0.24.0版本。下个月的维护版本将更新该预览版。
- 升级后,客户发现由于本次发布中引入的
Println语句,输出的额外行数过多。有关可能的解决方法,请参见 https://github.com/influxdata/influxdb/issues/14265#issuecomment-508875853。下个月的维护版本将解决此问题。
特点
- 将TLS添加到RPC调用。 如果验证证书,则使用通过-config传递的配置中的TLS设置。
错误修复
- 确保重试率限制配置值用于提示交接。
- 始终将AE修复转发到下一个节点。
- 改善提示移交指标。
版本 1.7.6
这个 InfluxDB Enterprise 版本基于 InfluxDB OSS 1.7.6 版本。有关从 InfluxDB OSS 版本中纳入的更改的详细信息,请参阅 InfluxDB OSS release notes。
错误修复
- 恢复了 v1.7.5 InfluxQL 回归,去除了括号,导致运算符优先级变化,从而在复杂查询和正则表达式中产生不同的结果。
版本1.7.5
如果您当前使用此版本,请回滚到 v1.7.4,直到有可用的修复。
在升级到此版本后,一些客户经历了回归问题,包括括号被移除,导致运算符优先级发生变化,从而导致复杂查询和正则表达式中的结果变化。
示例:
- 复杂的 WHERE 条件带括号。例如,
WHERE d > 100 AND (c = 'foo' OR v = 'bar'). - 条件不包括括号导致操作符优先级返回
(a AND b) OR c而不是a AND (b OR c)
这个 InfluxDB Enterprise 版本基于 InfluxDB OSS 1.7.5 版本构建。有关从 InfluxDB OSS 版本中纳入的更改的详细信息,请参见 InfluxDB OSS 版本说明。
特点
- 添加
influx_tools工具(供内部支持使用)作为包装的一部分。
错误修复
- 反熵:修复
contains no .tsm files错误。 fix(cluster): 处理在写入读取响应时的空结果集。
v1.7.4
此 InfluxDB 企业版版本基于 InfluxDB OSS 1.7.4 版本。有关从 InfluxDB OSS 版本中合并的更改的详细信息,请参见 InfluxDB OSS release notes。
错误修复
- 在 Amazon Linux 2 上使用
systemd。
版本1.7.3
此 InfluxDB 企业版发布基于 InfluxDB OSS 1.7.3 版本。有关从 InfluxDB OSS 版本中纳入的更改的详细信息,请参见 InfluxDB OSS 发布说明。
重要更新
如果您尚未安装此版本,请安装1.7.4版本。
如果您当前正在运行此版本,请尽快升级到1.7.4版本。
在InfluxDB 1.7.3版本中发现了一个严重缺陷,我们的工程团队在1.7.4版本中修复了该问题。出于对您的数据和项目的高度关注,请尽快升级到1.7.4版本。
- Critical defect: Shards larger than 16GB are at high risk for data loss during full compaction. The full compaction process runs when a shard go “cold” – no new data is being written into the database during the time range specified by the shard.
- Post-mortem analysis: InfluxData engineering is performing a post-mortem analysis to determine how this defect was introduced. Their discoveries will be shared in a blog post.
一小部分客户遇到了数据节点崩溃和段错误。我们在1.7.4中修复了这个问题。
重大变更
- 修复无效的 UTF-8 字节,防止分片打开。将字段和测量视为原始字节。
特点
抗熵服务默认禁用
在 v.1.7.3 之前,反熵 (AE) 服务默认为启用状态。当分片生成包含大量时间范围(数万)的较大摘要时,一些客户遇到了显著的性能问题,包括 CPU 使用率的激增。如果您的分片包含少量时间范围(大多数为 1 到 10,少数可达几百),并且您可以从 AE 服务中受益,那么您可以启用 AE 并观察性能是否受到显著影响。
- 为 Flux HTTP 请求添加用户身份验证和授权支持。
- 增加对可选记录Flux查询的支持。
- 添加对LDAP StartTLS的支持。
- 支持 Flux 0.7。
- 在数据节点之间实现TLS。
- 更新至 Flux 0.7.1。
- 为元节点 Raft 端口添加可选的 TLS 支持。
- 抗熵:记忆
DistinctCount、min和max时间。 - 更新 influxdb 依赖以便于子查询授权更新。
错误修复
- 更新示例配置。
版本 1.6.6
此版本仅包括 InfluxDB OSS 1.6.6 的更改(没有特定于企业的更改)。
版本1.6.5
此版本基于 InfluxDB OSS 1.6.0 到 1.6.5 版本构建。有关从 InfluxDB OSS 版本中纳入的更改的详细信息,请参见 InfluxDB OSS release notes。
v1.6.4
此版本基于 InfluxDB OSS 1.6.0 至 1.6.4 版本。有关从 InfluxDB OSS 版本中纳入的更改的详细信息,请参见 InfluxDB OSS 发布说明。
重大变更
如果启用了元身份验证,则需要 internal-shared-secret
如果 [meta] auth-enabled 被设置为 true,则必须在配置中设置 [meta] internal-shared-secret 的值。 如果未设置,将记录错误,并且 influxd-meta 将无法启动。
- 之前,身份验证可以在不设置
internal-shared-secret的情况下启用。安全风险在于未设置(空)值可能会被用于internal-shared-secret,这严重削弱了用于节点间通信的 JWT 身份验证。
审查生产安装配置
《生产安装》文档已更新,以修复配置设置中的错误,包括将 shared-secret 更改为 internal-shared-secret 并添加缺失的数据节点和元节点的配置设置步骤。所有企业用户应查看其当前配置,以确保配置设置正确启用 JWT 认证用于节点间通信。
以下总结了节点间通信的JWT身份验证的正确配置所需的设置:
数据节点配置文件 (influxdb.conf)
[http] 部分
auth-enabled = true- 启用身份验证。默认值为 false。
[meta] 节
meta-auth-enabled = true- 必须匹配元节点的
[meta] auth-enabled设置。
- 必须匹配元节点的
meta-internal-shared-secret = "" - 必须在所有 meta 节点的
[meta] internal-shared-secret设置中保持相同的密码短语。 - 由内部 API 用于 JWT 认证。默认值为
""。 - 建议使用较长的密码短语以增强安全性。
- 必须在所有 meta 节点的
元节点配置文件 (meta-influxdb.conf)
[meta] 部分
auth-enabled = true- 启用身份验证。默认值为
false。
- 启用身份验证。默认值为
internal-shared-secret = "" - 必须在所有数据节点的
[meta] meta-internal-shared-secret设置中使用相同的密码短语。 - 用于内部 API 进行 JWT 认证。默认值为
""。 - 为了更好的安全性,建议使用长密码短语。
- 必须在所有数据节点的
注意: 要提供加密的节点间通信,您必须启用 HTTPS。虽然 JWT 签名是加密的,但 JWT 令牌的有效载荷是编码的,并未加密。
错误修复
- 仅映射已报告为准备好的分片。
- 在分片被同时删除和创建时修复数据竞争。
- 拒绝
influxd-ctl update-data从一个现有主机到另一个。 - 如果启用了元身份验证,则需要
internal-shared-secret。
版本1.6.2
本次发布基于 InfluxDB OSS 1.6.0 到 1.6.2 的版本。有关从 InfluxDB OSS 版本中合并的更改的详细信息,请参阅 InfluxDB OSS 发布说明。
特点
- 将Go运行时更新到
1.10. - 提供可配置的TLS安全选项。
- 添加 LDAP 功能用于授权和认证。
- 反熵 (AE): 增加修复碎片的能力。
- 抗熵 (AE): 改进
/status端点的 swagger 文档。 - 在显示查询输出中包含查询任务状态。
错误修复
- 当分片被删除时,TSM 文件未关闭。
- 确保在远程节点不可用时不将分片排队复制。
- 确保在发生段错误时,提示的交接(hh)队列能够向前推进。
- 添加提示交接(hh)队列背压。
v1.5.4
此版本基于 InfluxDB OSS 1.5.4 版本构建。有关 InfluxDB OSS 版本的更多信息,请参阅 InfluxDB OSS release notes。
版本 1.5.3
此次发布基于 InfluxDB OSS 1.5.3 版本。有关 InfluxDB OSS 版本的更多信息,请查看InfluxDB OSS release notes。
特点
- 在显示查询输出中包含查询任务状态。
- 添加 hh writeBlocked 计数器。
错误修复
- 提示传递:强制每个对等节点的最大队列大小。
- 删除分片时,TSM 文件未关闭。
v1.5.2
此版本基于 InfluxDB OSS 1.5.2 版本构建。有关 InfluxDB OSS 版本的更多信息,请参阅 InfluxDB OSS release notes。
错误修复
- 使用客户端的retryWithBackoff函数运行备份快照。
- 确保条件被正确编码,即使抽象语法树(AST)没有正确形成。
版本1.5.1
这个版本基于 InfluxDB OSS 1.5.1 版本构建。没有企业特定的更改。请参阅 InfluxDB OSS 发布说明 以获取有关 InfluxDB OSS 版本的更多信息。
版本1.5.0
注意: 这个版本基于 InfluxDB OSS 的 1.5 版本。有关 InfluxDB OSS 版本的更多信息,请参见 InfluxDB OSS 发布说明。
有关 InfluxDB 1.5 版本亮点,请参见 What’s new in InfluxDB 1.5。
重大变更
默认的日志格式已更改。有关详细信息,请参阅 Logging and tracing in InfluxDB。
特点
- 将
LastModified字段添加到分片 RPC 调用。 - 从OSS 1.5开始,备份/恢复的互操作性已确认。
- 使 InfluxDB Enterprise 使用 OSS 摘要。
- 将摘要移动到它自己的包中。
- 实现分布式基数估计。
- 将日志配置添加到配置文件中。
- 添加 AE
/repair端点并更新 Swagger 文档。 - 更新日志调用以利用结构化日志。
- 在记录匿名统计开始时使用实际的URL。
- 修复备份/恢复时的认证失败。
- 添加对被动节点的支持
- 为远程节点实现解释计划。
- 为查询响应添加消息包格式。
- 教导显示标签值以尊重FGA
- 解决1.3.6版本元服务器中的死锁问题
- 为
SHOW TAG VALUES添加时间支持 - 添加分布式
SHOW TAG KEYS以支持时间
错误修复
- 修复当清单中缺少策略或分片键且设置为true时发生的错误。
- 修复虚假的
rpc error: i/o deadline exceeded错误。 - 从日志中消除
stream closed错误并将io.EOF处理为远程迭代器中断。 - 丢弃将其类型标记为未知的远程迭代器。
- 不要将部分写入错误排队到提示交接。
- 在
digest.merge中发生段错误 - 元节点 CPU 在空闲集群上达到上限。
- 数据竞争在
(meta.UserInfo).acl) - 修复当一个分片对于部分复制的度量没有数据时的通配符问题。
- 将
X-Influxdb-Build添加到 HTTP 响应头,以便用户可以识别响应是来自 InfluxDB OSS 还是 InfluxDB Enterprise 服务。 - 确保无法在不存在的数据库上设置权限。
- 切换回使用
cluster-tracing配置选项以启用元HTTP请求日志记录。 influxd-ctl restore -newdb无法恢复数据。- 在EOF之后关闭远程迭代器的连接,以避免写入器无限期挂起。
- 在连接池中读取
Len()的数据竞争。 - 使用InfluxData的
yamux分支。此更新在流式传输大量数据时减少了整体内存使用。 - 修复IteratorOptions中的分组处理。
- 元服务数据竞争。
- 在创建迭代器之前,读取来自流的中断信号。
- 显示保留策略需要
createdatabase权限 - 在读取配置文件时处理带有字节顺序标记的UTF文件。
- 在服务器退出后删除pidfile。
- 在重定向时重新发送身份验证凭证。
- 更新的yamux解决了在成功发送SYN并发生写入超时时的竞争条件。
- 修复没有许可证的消息。
v1.3.9
升级 - 针对TSI预览用户
如果您一直在使用1.3.6或更早的1.3.x版本的TSI预览,则需要按照升级步骤继续使用TSI预览。不幸的是,这些步骤无法在集群运行时执行 - 因此需要停机时间。
错误修复
- 从日志中消除
stream closed错误并将io.EOF处理为远程迭代器中断。 - 修复虚假的
rpc error: i/o deadline exceeded错误 - 丢弃将其类型标记为未知的远程迭代器。
- 不要将
partial write错误排入提示转交队列。
版本1.3.8
升级 – 针对TSI预览用户
如果您一直在使用1.3.6或更早的1.3.x版本的TSI预览,您需要按照升级步骤继续使用TSI预览。不幸的是,这些步骤无法在集群运行时执行,因此将需要停机。
错误修复
- 更新
yamux解决了在成功发送SYN时发生写入超时的竞争条件。 - 在重定向时重新发送认证凭据。
- 修复当一个分片对于部分复制的度量没有数据时的通配符问题。
- 修复虚假的
rpc error: i/o deadline exceeded错误。
v1.3.7
升级 – 针对TSI预览用户
1.3.7 版本解决了在 TSI 索引中创建重复标签值的缺陷,详见问题 #8995 和 #8998。 然而,升级到 1.3.7 会导致压缩失败,详见 问题 #9025。 我们将提供一个工具,允许重建 TSI 索引,解决在 1.3.7 之前版本中可能出现的损坏。如果您正在使用 TSI 预览版, 您在此工具可用之前不应升级到 1.3.7。 一旦工具可用,我们将更新此版本说明并提供操作步骤。
错误修复
- 在创建迭代器之前,读取来自流的中断信号。
- 在1.3.6版本中解决元服务器的死锁问题
- 修复与反熵服务相关的日志记录恐慌,并手动移除碎片。
v1.3.6
错误修复
- 修复IteratorOptions中的“分组”序列化。
- 解决地址元数据服务的数据竞争情况。
- 修复向远程节点写入数据时的竞争条件。
- 使用InfluxData的yamux分支。此更新减少了在流式传输大量数据时的整体内存使用。 通过以下链接贡献回yamux项目: https://github.com/hashicorp/yamux/pull/50
- 地址数据竞争读取 Len() 在连接池中。
版本1.3.5
本次发布基于OSS InfluxDB的1.3.5版本。请查看OSS 发布说明以获取有关OSS发布的更多信息。
v1.3.4
本次发布基于OSS InfluxDB的1.3.4版本。有关OSS发布的更多信息,请查看OSS release notes。
错误修复
- 在EOF后关闭远程迭代器的连接,以避免写入器无限期挂起
v1.3.3
本次发布基于OSS InfluxDB的1.3.3版本。有关OSS版本的更多信息,请参阅OSS release notes。
错误修复
- 当
CreateRemoteIteratorRPC 不返回迭代器时,连接不会关闭,从而解决了内存泄漏
版本1.3.2
错误修复
influxd-ctl restore -newdb无法恢复数据。- 提高
SHOW TAG VALUES的性能。 - 显示
SHOW DIAGNOSTICS中的配置设置的一个子集。 - 切换回使用集群跟踪配置选项以启用元HTTP请求日志记录。
- 修复 remove-data 错误。
版本1.3.1
错误修复
- 在SHOW DIAGNOSTICS中显示配置设置的一个子集。
- 切换回使用集群跟踪配置选项以启用元HTTP请求日志记录。
- 修复删除数据错误。
版本 1.3.0
配置变更
[cluster] 部分
max-remote-write-connections已弃用,可以移除。- 新:
pool-max-idle-streams和pool-max-idle-time配置RPC连接池。 有关这些新选项的描述,请参见config.sample.toml。
移除
本次发布中,管理用户界面已被移除并无法使用。[admin] 配置部分将被忽略。
特点
- 允许非管理员用户执行 SHOW DATABASES
- 为influxd-meta添加默认配置路径搜索。
- 减少对用户数量较多的集群进行管理员用户检查的成本。
- 按节点和分片存储HH段
- 移除对管理控制台的引用。
- 重构RPC连接池,以便在单一连接上复用多个流。
- 报告RPC连接池统计信息。
错误修复
- 修复订阅管理中的安全升级漏洞。
- 在数据库上下文中某些权限不应被允许。
- 使
influxd-ctl的copy-shard-status参数的时间可读性更强。 - 修复
influxd-ctl remove-data -force。 - 确保替换的数据节点正确地加入元数据集群。
- 延迟元数据限制在恢复时。
- 在保留策略之外写入数据不会返回错误
- 当节点被移除时,减少内部数据库的复制因子。
版本1.2.5
此版本基于OSS InfluxDB的1.2.4版本构建。请查看OSS 发布说明以获取有关OSS版本的更多信息。
错误修复
- 修复了
ALTER RETENTION POLICY查询未能更新默认保留策略的问题。 - 提示-交接:包含
partial write的远程写入错误被视为可丢弃。 - 修复损坏的
influxd-ctl remove-data -force命令。 - 修复订阅管理中的安全升级漏洞。
- 防止某些用户权限具有数据库特定的作用域。
- 减少对拥有大量用户的集群进行管理员用户检查的成本。
- 修复提示的远程写入批处理。
版本1.2.2
本次发布基于 OSS InfluxDB 的 1.2.1 版本。 有关 OSS 发布的更多信息,请参见 OSS 发布说明。
配置变更
在从之前的版本升级到 1.2.2 之前,可能需要更改以下配置。
分片写入超时
我们已从[cluster]部分删除了数据节点的shard-writer-timeout配置选项。
从版本1.2.2开始,系统内部设置shard-writer-timeout。
可以从数据节点配置文件中删除该配置选项。
保留-自动创建
在版本 1.2.0 和 1.2.1 中,retention-autocreate 设置出现在元节点和数据节点配置文件中。要禁用保留策略自动创建,1.2.0 和 1.2.1 版本的用户必须在元节点和数据节点配置文件中将 retention-autocreate 设置为 false。
在版本 1.2.2 中,我们已从数据节点配置文件中移除了 retention-autocreate 设置。
从版本 1.2.2 开始,用户可以从数据节点配置文件中移除 retention-autocreate。
要禁用保留策略自动创建,请仅在元节点配置文件中将 retention-autocreate 设置为 false。
此更改仅影响已禁用retention-autocreate选项并已安装版本1.2.0或1.2.1的用户。
错误修复
备份和恢复
- 通过使备份跳过空的分片来防止
shard not found错误 - 通过让 restore 处理空分片来防止
shard not found错误 - 确保从增量备份恢复时正确处理文件路径
- 允许带有限制的增量备份(例如,它们使用
-db或rp标志)存储在同一目录中 - 支持在不是 Raft 领导者的元节点上进行恢复
提示转交
- 修复在提示交接队列达到最大大小时未记录丢弃写入的问题
- 防止提示的交接在遇到字段类型错误时被阻塞
其他
- 即使集群包含无法连接的数据节点,也返回
SHOW TAG VALUES查询的部分结果 - 即使集群中包含无法访问的数据节点,亦返回
SHOW MEASUREMENTS查询的部分结果 - 防止系统在处理点时出现恐慌
- 确保集群主机名可以不区分大小写
- 更新
retryCAS代码以在重试之前等待一个更新的快照 - 序列化对元客户端和元存储的访问,以防止raft日志积累
- 移除RPM包的sysvinit包依赖
- 将默认保留策略的创建变为一个原子过程,而不是一个两步过程
- 防止
influxd-ctl的join参数 在命令同时指定帮助标志 (-h) 时完成连接 - 修复
influxd-ctl的 强制移除 元数据节点 - 更新元节点和数据节点示例配置文件
v1.2.1
集群特定的错误修复
- 修复恐慌:切片边界超出范围 修复系统如何删除过期的分片。
- 从集群日志中移除误放置的换行符
版本1.2.0
此版本基于OSS InfluxDB的1.2.0版本构建。请参阅OSS 发布说明以获取有关OSS发行版的更多信息。
升级
- “
retention-autocreate”配置选项已从元节点配置文件移至数据节点配置文件。要禁用保留策略的自动创建,请在您的数据节点配置文件中将retention-autocreate设置为false。 - 之前不再使用的
influxd-ctl force-leave命令已被移除。替代命令是用于移除一个永远不会重新上线的元节点的influxd-ctl remove-meta -force。
集群特定特征
集群特定的错误修复
- 使用 Godeps 更新依赖
- 修复元客户端中的数据竞争
- 确保在删除数据库时系统移除相关的 用户权限和角色
- 修复演示 配置文件 中的几个拼写错误
- 使元存储的版本protobuf字段可选
- 移除 GOMAXPROCS 的覆盖
- 从后端移除一个未使用的配置选项 (
dir) - 修复处理远程写入时的异常
- 如果远程写入发生字段冲突,则返回错误
- 在提示转交中放弃的是(1)具有字段冲突错误(2)具有
max-values-per-tag错误的点 - 移除已弃用的
influxd-ctl force-leave命令 - 修复如果集群中的第一个元节点停止,CQs 将停止运行的问题
- 修复元httpd处理程序服务中的日志记录
- 修复了订阅发送重复数据的一个问题,针对连续查询结果
- 修复
influxd-ctl show-shards的输出 - 发送正确的RPC响应给
ExecuteStatementRequestMessage
版本1.1.5
错误修复
- 防止某些用户权限具有数据库特定的作用域。
- 修复订阅管理中的安全升级漏洞。
版本1.1.3
此版本包含OSS InfluxDB 1.1.4版本中的更改。有关OSS版本的更多信息,请参见OSS changelog。
错误修复
- 当节点监听网络连接时,延迟直到所有必要的服务正在运行。这可以防止对集群的查询不必要地失败。
- 允许用户设置
GOMAXPROCS环境变量。
版本 1.1.2
此版本仅为内部发布。 它包含了OSS InfluxDB 1.1.3版本中的更改。 有关OSS发布的更多信息,请参阅OSS changelog。
版本1.1.1
此版本基于 OSS InfluxDB 的 1.1.1 版本构建。有关 OSS 版本的更多信息,请参见 OSS 发布说明。
此版本是使用 Go (golang) 1.7.4 构建的。 它解决了在 Go (golang) 版本 1.7.3 中报告的安全漏洞,该漏洞影响所有当前在 macOS 平台上运行的用户,该平台由 Darwin 操作系统提供支持。
集群特定的错误修复
- 修复提示交接问题:修复记录大小超过最大大小 如果一个提示交接写入附加了一个大于最大文件大小的块,队列将会被卡住,因为最大大小没有更新。在处理过程中读取该块时,系统将返回错误,因为块大小大于文件大小——这表明块已损坏。
版本1.1.0
此版本基于 InfluxDB OSS 的 1.1.0 版本构建。请查看 OSS 发布说明 以获取有关 OSS 版本的更多信息。
升级
- OSS InfluxDB 1.1.0版本有一些重要的 配置变化,可能会影响现有的集群。
- 命令
influxd-ctl join已重命名为influxd-ctl add-meta。如果您有使用influxd-ctl join的现有脚本,则需要使用influxd-ctl add-meta或更新为使用新的集群设置命令。
集群设置
已经更改了influxd-ctl join命令,以简化集群设置。要将节点加入集群,您可以运行influxd-ctl join ,我们将尝试自动检测并添加在主机上运行的任何meta或data节点进程。之前的join命令现在作为add-meta存在。如果这是集群的第一个节点,meta地址参数是可选的。
日志记录
在systemd系统上切换到journald日志记录。日志不再发送到 /var/log/influxdb 在systemd系统上。
集群特定特征
- 添加一个配置选项,用于设置数据节点的八卦频率
- 通过将
queueBytes添加到 hh_processor 统计信息中,允许详细洞察提示交接队列大小 - 为元服务API添加认证
- 更新 Go (golang) 依赖项:修复 Go Vet 和更新 Circle Go Vet 命令
- 简化将节点加入集群的过程
- 在
influxd-ctl show输出中包含节点的版本号 - 如果在
influxd-ctl show之后有额外的参数则返回错误 修正了在显示详细分片信息的正确命令 (influxd-ctl show-shards) 和错误命令 (influxd-ctl show shards) 之间的任何混淆
集群特定的bug修复
- 如果获取最新快照的时间超过 30 秒,则返回错误
- 从
/show-shards输出中移除任何过期的分片 - 尊重
pprof-enabled配置设置 并在元节点上默认启用它 - 尊重
pprof-enabled配置设置在数据节点上 - 在只读操作中,为了性能考虑,使用数据引用而不是
Clone() - 防止系统重复收集集群统计信息
- 确保当Meta API获得
ErrNotLeader错误时重定向到集群领导者 - 在将OSS实例迁移到集群时,不要用现有的OSS InfluxDB用户覆盖集群用户
- 修复raft存储中的数据竞争
- 在提示接管中允许大型段文件(> 10MB)
- 如果
copy-shard命令被终止,则防止copy-shard重试 - 通过在数据节点加入集群之前检查元节点来防止悬挂的
influxd-ctl add-data命令
版本1.0.4
集群特定的错误修复
- 尊重提示接管设置在配置文件中的设置
- 修复当处理请求的节点上所有分片不存在时扩展正则表达式的问题
版本1.0.3
集群特定的错误修复
- 修复 Hinted Handoff 中的一个崩溃:
lastModified
版本1.0.2
此版本基于OSS InfluxDB的1.0.2版本构建。有关OSS版本的更多信息,请参见OSS 发布说明。
集群特定的bug修复
- 防止在元客户端中出现双重读取锁
- 修复了在提示交接中与损坏区块相关的恐慌
- 修复了在符号链接已经存在时
systemctl enable会抛出错误的问题
版本1.0.1
此版本基于OSS InfluxDB的1.0.1版本构建。请参阅OSS 发行说明以获取有关OSS发行的更多信息。
集群特定的bug修复
- 正确地平衡碎片与恢复
- 修复了在提示交接中的一个崩溃:
runtime error: invalid memory address or nil pointer dereference - 确保元节点在移除数据节点时重定向到领导节点
- 修复了提示交接中的恐慌:
runtime error: makeslice: len out of range - 更新数据节点配置文件,以便只有最低配置选项被取消注释
版本1.0.0
本次发布基于OSS InfluxDB的1.0.0版本。 有关OSS发布的更多信息,请参阅OSS 发布说明。
重大变更:
- 本次版本移除了关键字
IF、EXISTS和NOT。这意味着您不再需要为DROP DATABASE指定IF NOT EXISTS,或为CREATE DATABASE指定IF EXISTS。使用这些关键字将返回查询错误。 max-series-per-database被添加,默认值为 1M,但可以通过将其设置为0来禁用。现有数据库中超过此限制的系列将继续加载,但会导致创建新系列的写入失败。
提示转交
此版本包含了一些提示传递更改:
- 仅截断损坏段中的损坏块以最小化数据丢失
- 如果还有未完成的写入,立即在提示交接中排队写入,以防止分片中的不一致性
- 当数据节点被移除时,移除提示的交接队列以消除手动清理任务
性能
SHOW MEASUREMENTS和SHOW TAG VALUES已针对多个节点和分片进行了优化DROP和DELETE语句并行运行,更高效,并且不应使系统处于不一致状态
安全
由 influxd-ctl 使用的集群 API 不能通过 SSL 证书进行保护。
集群管理
无法再重新启动的数据节点现在可以通过 influxd-ctl remove-data -force 强制从集群中移除。仅在无法进行优雅移除时运行此命令。
备份和恢复已更新以修复问题并完善现有功能。
集群特定特征
- 添加 Users 方法以控制客户端
- 为
influxd-ctl remove-data命令添加一个-force选项 - 禁用
stats服务查询的日志记录 - 优化
SHOW MEASUREMENTS和SHOW TAG VALUES查询 - 更新 Go (golang) 包库依赖
- 通过仅截断最后一个损坏的片段而不是整个文件,最小化损坏的提示交接文件中的数据丢失量
- 当节点的提示转交队列满时记录写入错误
- 当目标数据节点从集群中移除时,删除数据节点上的提示接入队列
- 在元存储中添加恢复的单元测试
- 为集群API添加完整的TLS支持,包括使用自签名证书
- 改进备份/恢复,以允许将部分恢复到不同的集群或使用不同数据库名称的数据库
- 更新分片组创建逻辑以实现平衡
- 将raft日志保持在最低限度,以防止在启动时重放大型raft日志
集群特定的错误修复
- 从元执行器连接池中移除不良连接
- 修复元存储中的崩溃
- 修复当未找到分片组时导致的恐慌
- 修复损坏的提示交接
- 确保任何导入的 OSS 管理员用户在集群中拥有所有权限
- 确保遵循
max-select-series - 处理
peer already known错误 - 修复关于段大小检查的提示式接管恐慌
- 如果字段类型不一致,Drop Hinted Handoff 写入
# Web Console
已弃用:企业 веб 控制台
企业网络控制台已经正式被弃用,并将在2017年底之前完全淘汰。 将不再添加任何新功能,也不计划发布任何额外的错误修复版本。
对于基于浏览器访问 InfluxDB Enterprise,Chronograf 现在是推荐使用的工具。