hadoop 可以两个集群之间做到每个节点之间一一对应实时同步么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zpole
V2EX    Hadoop

hadoop 可以两个集群之间做到每个节点之间一一对应实时同步么?

  •  
  •   zpole 2016-08-31 10:40:25 +08:00 8568 次点击
    这是一个创建于 3343 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有 a,b 两个集群。 a 接收流数据,然后每个节点都同步到 b 。

    a 的 1 节点新收的流同步到 b 的 1 , a 的 2 到 b 的 2 。。。依次类推

    然后a,b各自的修改也要能互相同步。

    就是说保证 a , b 的完全一致。

    每秒几亿条。延迟秒级。

    第 1 条附言    2016-08-31 16:32:22 +08:00
    感谢各位了。然后很不幸的是。。。要求其实并没有那么高!(懵逼 ing )经理的话不可信啊。。。跟工程师交流了一下。其实需求是这样的:
    每秒大概几万条,峰值几十万条。几亿是数据的总量。
    两个数据集群要互相备份,分别跑不同的计算。并且当一边的计算量特别大时要能调度到另一边去跑。
    延时五分钟内。
    尼玛这跟之前说的完全不一样啊!
    现在各位有什么建议么?
    29 条回复    2017-09-15 14:02:10 +08:00
    1957704130
        1
    1957704130  
       2016-08-31 10:55:29 +08:00
    每秒几亿条,什么数据能到这个体量?
    xmoiduts
        2
    xmoiduts  
       2016-08-31 11:03:29 +08:00
    看起来可能是金融云解决方案
    zpole
        3
    zpole  
    OP
       2016-08-31 11:04:04 +08:00
    @1957704130 好像是金融还是银行的
    wander2008
        4
    wander2008  
       2016-08-31 12:02:31 +08:00 via iPhone
    给我 100w 我来给你解决
    wyntergreg
        5
    wyntergreg  
       2016-08-31 15:46:25 +08:00   1
    每秒几亿就算是银行也是银行总部大机级别的,这事没多少人能给你解决
    czheo
        6
    czheo  
       2016-08-31 15:55:00 +08:00   1
    其他不说, a,b 各自的修改也要能互相同步: a,b 同时修改 conflict 怎么解决?肯定要类似 cassandra 的 eventual consistency 机制。
    况且数据如何 replicate 到哪个 datanode 是是 balancer 自动控制的, a1 必须同步 b1 这种需求不理解啊。
    你这个构架难度太大,改构架吧。
    czheo
        7
    czheo  
       2016-08-31 15:57:54 +08:00
    仔细想想,你这构架完全是 mysql 思维啊
    ten789
        8
    ten789  
       2016-08-31 16:19:58 +08:00   1
    mysql 相互主从 呵呵了
    zpole
        9
    zpole  
    OP
       2016-08-31 16:51:33 +08:00
    @ten789 大概就是人家公司的某个项目想这样做,但想不到同步机制,然后经理就四处问,然后就到我这里了。我也不是很懂,就把经理说的夸大的需求发 v2 上了。现在跟工程师交流了下把需求改对了,但方案是人家的,也不想变。。。(我就是个小菜鸟,不要打我)(逃
    zpole
        10
    zpole  
    OP
       2016-08-31 16:54:37 +08:00
    @czheo 需求已改。现在您觉得这样做可行吗?不行的话架构可以怎么改?
    wmttom
        11
    wmttom  
       2016-08-31 17:21:45 +08:00   1
    合并成一个集群可破,存储层用一套,想要安全多开副本。感觉搞两个集群应该是为了计算资源隔离吧,但是搞一个集群也能想各种办法分配调度计算任务啊,没必要搞两个。
    zpole
        12
    zpole  
    OP
       2016-08-31 17:50:11 +08:00
    @wmttom 搞两个集群还有一个目的是一边挂掉了另一边可以跟上,保证应用的不掉线。如果只开一个集群可以做到这个要求么?怎么做?
    czheo
        13
    czheo  
       2016-08-31 19:00:34 +08:00
    @zpole 用两套集群也是浪费啊。请搜索 Hadoop High Availability , namenode 搞 active standby 就可以解决 single poin of failure 。
    czheo
        14
    czheo  
       2016-08-31 19:06:52 +08:00
    你现在的思路完全是用 mysql 思维来用 Hadoop 啊,手动一个集群同步到另一个集群的做法在 Hadoop 下设置一个 replication factor 就解决了。高可用也只要解决 namenode 的 SPOF 就行了,遇到 job failure 大不了 retry 一下。
    wph95
        15
    wph95  
       2016-08-31 19:15:35 +08:00
    @czheo 他思路没问题 airbnb 就是这么搞的, airbnb 叫 gold && silve cluster 。 可以通过这个关键词去找文章
    wph95
        16
    wph95  
       2016-08-31 19:22:39 +08:00   1
    不说机器规模和配置,就只说需求。
    可以看看 ReAir ,觉得场景有点像
    // 几亿是数据的总量, 这量一点都不多。
    czheo
        17
    czheo  
       2016-08-31 20:20:03 +08:00
    @wph95 谢谢分享,有 reair 的话,说不定 lz 这需求还真能实现。
    defunct9
        18
    defunct9  
       2016-08-31 21:10:47 +08:00 via iPhone
    管过 600 节点 hadoop ,觉得在胡扯
    zpole
        19
    zpole  
    OP
       2016-08-31 21:21:51 +08:00
    @czheo 个人理解 active standby 里 standby 一般是不参与运算的,是用来受灾的时候恢复的。这个需求要两个数据中心双活,都能做运算。虽然有冗余但利用率更高。
    tinybaby365
        20
    tinybaby365  
       2016-08-31 21:58:32 +08:00 via iPhone
    只用一个集群,提高可用性。 Hadoop 设计的目的就是不让你有如此想法。
    czheo
        21
    czheo  
       2016-09-01 00:13:44 +08:00   1
    @zpole 你描述的双数据中心,技术难点在于 hadoop 集群的 replicate 和 sync , ls 已经有人有人给出 reair 这个轮子了,技术比较新,你调研下这个轮子的可行性。但是 airbnb 只做了单向的 replicate 和 sync ,和你描述的类似 circular replication 还是要再看看能不能像 mysql 一样手动回避 conflict 。
    ten789
        22
    ten789  
       2016-09-01 11:51:21 +08:00
    到底是异地容灾还是本地互备呢 异地的不会搞 本地的完全不需要 每一个数据块都分布在 n 个 datanode 上 而且 namenode 你可以再搞 m 个从
    zpole
        23
    zpole  
    OP
       2016-09-01 12:18:04 +08:00
    @ten789 是我没解释清楚。异地双活互备。
    ooonme
        24
    ooonme  
       2016-09-01 12:41:33 +08:00 via iPhone
    hdfs 本身是分布式 高容灾的,也支持机架感知。问题是你这是异地 , io 累死,况且异地灾备 是机房做的吧,业务还需要干预?这块不是很懂;谷歌的论文中提到他们的 GFS 支持多数据中心; but 一切大数据速度的基础是 数据不动代码动;数据跑到代码所在的机器成本得多高,几十 mb 的代码跑到数据所在的机器执行就容易多了。 v2 做大数据的人好少
    ooonme
        25
    ooonme  
       2016-09-01 12:43:12 +08:00 via iPhone
    @zpole hdfs 已经支持 ha ,放心吧。这些问题都已经被大公司解决了
    ten789
        26
    ten789  
       2016-09-01 18:14:23 +08:00
    @zpole 如果不存在 a b 之间的同步 数据源 直接发两份呗 如果 ab 之间的同步 这个难了
    ClassicOldSong
        27
    ClassicOldSong  
       2016-09-01 20:36:59 +08:00
    @zpole 说点题外话,刚刚补完石头门,然后看到了这个帖子标题里“实时”二字突然有一种奇异的感觉,点进来一看你的头像又是红莉栖。。。难道这真的是石头门的选择么 2333333333333333
    zpole
        28
    zpole  
    OP
       2016-09-01 21:20:23 +08:00
    @ClassicOldSong 这一切都是 Steins;Gate 的选择
    logo1907
        29
    logo1907  
       2017-09-15 14:02:10 +08:00 via iPhone
    可以尝试 Kafka mirror maker,点对点同步的需求需要用 kafka low level 的 consumer 接口自己实现
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2562 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 15:05 PVG 23:05 LAX 08:05 JFK 11:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86