Coder Social home page Coder Social logo

Comments (23)

chengshiwen avatar chengshiwen commented on June 27, 2024

是的。其实没有influx-proxy,只有influxdb,像磁盘坏了、磁盘满了、文件句柄数不够了,也会出现类似情况,客户端无法知晓是否写进去。最好的方式还是都要对influxdb做更完整的监控

from influx-proxy.

yongjingwei avatar yongjingwei commented on June 27, 2024

目前我使用的是三个proxy配置相同的circle,每一个circle三个相同的influxdb数据库数据完全相同的部署方式,我用的是实例化部署,每一台虚拟机一个proxy和一个influxdb,比如我其中一台虚拟机坏了,磁盘坏了,导致prxoy和inflxudb数据丢失,如何重新把这组proxy和inflxudb再加入整个集群中,数据同步过去,目前想到的只能是手动先把其他正常的inflxudb数据拷贝过去,然后启动这组损坏的proxy和inflxudb,在拷贝数据这段时间产生的数据差异再通过另外两台proxy积攒的数据写入到inflxudb中,最终数据一致,重新组成三组完整集群,不知道目前这种方案是否存在漏洞或者还有啥别的方式,请教大佬

from influx-proxy.

chengshiwen avatar chengshiwen commented on June 27, 2024

目前我使用的是三个proxy配置相同的circle,每一个circle三个相同的influxdb数据库数据完全相同的部署方式,我用的是实例化部署,每一台虚拟机一个proxy和一个influxdb

这个有架构图不,一下没理解怎么部署的😂

from influx-proxy.

yongjingwei avatar yongjingwei commented on June 27, 2024

公司限制了外网上传文件,简单点说就是一个proxy的json配置了三台influxdb,然后部署了三个proxy,这三个proxy的配置是一模一样的,只是起到了高可用,如果其中一个influxdb所在虚拟机磁盘换了,数据没了,我重新把这台influxdb部署起来时,如果把完整数据复制过去,因为磁盘坏了他没数据了

from influx-proxy.

chengshiwen avatar chengshiwen commented on June 27, 2024

总共只有3个influxdb吗?是都在同一个circle里,还是一共3个circle、一个circle里一个influxdb?

from influx-proxy.

yongjingwei avatar yongjingwei commented on June 27, 2024

总共只有三个influxdb,一个circle里边三个influxdb,另外两个proxy配置的json里边也是这三个influxdb,总共就三个influxdb,三个proxy

from influx-proxy.

chengshiwen avatar chengshiwen commented on June 27, 2024

概念:

  • circle:一致性哈希环(circle),一个 circle 包含了若干个 influxdb 实例,共同存储了一份全量的数据,即每个 circle 都是全量数据的一个副本,各个 circle 数据互备。不同 circle 不能包含相同 influxdb 实例,每个 circle 包含的 influxdb 实例个数可以不相等。circle 只是一种逻辑划分,无实体存在,架构示意图配置了三个 circle
  • influxdb:influxdb 实例,以 url 进行区分,可以部署在同一服务器上以不同端口运行多个实例,一个 influxdb 实例只存储了一份全量数据的一部分数据

总共只有三个influxdb,一个circle里边三个influxdb,另外两个proxy配置的json里边也是这三个influxdb,总共就三个influxdb,三个proxy

如果是这个配置,就只有一份全量数据,分散在了三个influxdb上,如果一个influxdb磁盘坏了,都无法恢复。如果要做高可用,至少得两个circle

from influx-proxy.

yongjingwei avatar yongjingwei commented on June 27, 2024

不好意思说错了,是你说的这种一个 circle只 包含了一个 influxdb 实例,这就是一个全量,部署了三个circle全量三份,不好意思说错了

from influx-proxy.

yongjingwei avatar yongjingwei commented on June 27, 2024

其实就是想问一个副本因为磁盘问题数据丢失了如何重启后恢复该副本的数据

from influx-proxy.

chengshiwen avatar chengshiwen commented on June 27, 2024

几种方案
1、方案一:停机一个influxdb,然后把停机的influxdb的数据直接拷贝到待恢复的新influxdb上,把两个influxdb启动,proxy会把刚才因influxdb停机无法写入的数据重写。然后再调用 /resync接口,设置一个最近的tick时间,同步一下数据就行
2、方案二:不用停机,使用 /recovery接口,速度性能相对方案一慢些
3、方案三:复杂情况还可以使用 influx-tool transfer 命令来迁移,性能最高,但需要停 influx-proxy

from influx-proxy.

yongjingwei avatar yongjingwei commented on June 27, 2024

我在调用[/recovery接口]总是报page not found page
http://127.0.0.1:7076/recovery?from_circle_id=0&to_circle_id=1 这个接口我的参数不对吗,
IP指的是任何一个circle代理的的地址吗,from_circle_id是不是/health接口查出来的id

from influx-proxy.

chengshiwen avatar chengshiwen commented on June 27, 2024

influx-proxy 要求 2.5.x,调用接口如下所示,需要 POST

curl -X POST 'http://127.0.0.1:7076/recovery?from_circle_id=0&to_circle_id=1'

IP指的是任何一个circle代理的的地址吗,from_circle_id是不是/health接口查出来的id

是的

from influx-proxy.

yongjingwei avatar yongjingwei commented on June 27, 2024

我用的是3.0的,报page not found page

from influx-proxy.

yongjingwei avatar yongjingwei commented on June 27, 2024

influxdb-v2这个分支

from influx-proxy.

yongjingwei avatar yongjingwei commented on June 27, 2024

大佬我看了influxdb-v2看了这个版本的源码,似乎没有把一些接口加到这个版本中,而branch-2.5确实有,可否同步这些接口到influxdb-v2中

from influx-proxy.

chengshiwen avatar chengshiwen commented on June 27, 2024

后面计划集成到influxdb-v2中

from influx-proxy.

yongjingwei avatar yongjingwei commented on June 27, 2024

期待大佬的这个功能

from influx-proxy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.