chengshiwen / influx-proxy

InfluxDB Proxy with High Availability and Consistent Hash
https://github.com/chengshiwen/influx-proxy/wiki
MIT License
354 stars 112 forks source link

关于influxdb 1.x 升级到2.x #72

Closed rainbowwiki closed 1 month ago

rainbowwiki commented 1 month ago

您好,最近我们打算升级influxdb 1.x 到influxdb2.x , 计划配套升级influx-proxy到 新版本的proxy(https://github.com/chengshiwen/influx-proxy/tree/influxdb-v2), 现在有几个问题

  1. 我们之前的时候没有配置hashkey, 如果将influxdb从1.x升级到2.x, 因为influxdb的架构从database和rp 改为了org以及bucket,新的架构会自动启用并用dbrp来mapping, 但是原来版本的proxy hash策略和新版本的不太相同, 那么如果升级后,读写还能找到对应的influxdb实例吗?如果不能, 有什么好的解决办法吗?
  2. 新版本的proxy 貌似只支持了部分api, 有对新版本proxy api的具体支持的描述吗?对health的支持貌似缺少了原本的stats相关的内容?下面是我的health结果 { "checks": [], "circles": [ { "circle": { "id": 0, "name": "circle-1", "active": true, "write_only": false }, "backends": [ { "name": "influxdb-1-1", "url": "http://xxxx:9876", "active": true, "backlog": false, "rewriting": false, "write_only": false } ] }, { "circle": { "id": 1, "name": "circle-2", "active": true, "write_only": false }, "backends": [ { "name": "influxdb-2-1", "url": "http://xxxx:9877", "active": true, "backlog": false, "rewriting": false, "write_only": false } ] } ], "commit": "d3d467e", "message": "ready for queries and writes", "name": "influx-proxy", "status": "pass", "version": "3.0.0-preview" }
  3. 关于EOF的问题 看您在2.5.11版本修复了,这个修复是否可以release到influxdb2适用的proxy上?

期待您的回复~ thanks~

chengshiwen commented 1 month ago
  1. 不能,目前的方式只能是,先手动从各个 influxdb 导出(Influx_inspect export)各个文件,然后部署 influx-proxy 3.0 及 influxdb 2.x,然后导入(influx write)到 influx-proxy,相当于官方文档 Manually upgrade from InfluxDB 1.x to 2.7
  2. 目前就 /ping/query/write/api/v2/query/api/v2/write/health/replica,前五个可以参考官方文档 v2 APIv1 Compatibility API/healthstats 参数之前还没实现
  3. EOF的问题 已经应用到 influxdb-v2 分支上,本周发布一个正式的 influx-proxy v3 版本
rainbowwiki commented 1 month ago

明白了 谢谢!