
有 a,b 两个集群。 a 接收流数据,然后每个节点都同步到 b 。
a 的 1 节点新收的流同步到 b 的 1 , a 的 2 到 b 的 2 。。。依次类推
然后a,b各自的修改也要能互相同步。
就是说保证 a , b 的完全一致。
每秒几亿条。延迟秒级。
1 1957704130 2016-08-31 10:55:29 +08:00 每秒几亿条,什么数据能到这个体量? |
2 xmoiduts 2016-08-31 11:03:29 +08:00 看起来可能是金融云解决方案 |
3 zpole OP @1957704130 好像是金融还是银行的 |
4 wander2008 2016-08-31 12:02:31 +08:00 via iPhone 给我 100w 我来给你解决 |
5 wyntergreg 2016-08-31 15:46:25 +08:00 每秒几亿就算是银行也是银行总部大机级别的,这事没多少人能给你解决 |
6 czheo 2016-08-31 15:55:00 +08:00 其他不说, a,b 各自的修改也要能互相同步: a,b 同时修改 conflict 怎么解决?肯定要类似 cassandra 的 eventual consistency 机制。 况且数据如何 replicate 到哪个 datanode 是是 balancer 自动控制的, a1 必须同步 b1 这种需求不理解啊。 你这个构架难度太大,改构架吧。 |
7 czheo 2016-08-31 15:57:54 +08:00 仔细想想,你这构架完全是 mysql 思维啊 |
8 ten789 2016-08-31 16:19:58 +08:00 mysql 相互主从 呵呵了 |
9 zpole OP @ten789 大概就是人家公司的某个项目想这样做,但想不到同步机制,然后经理就四处问,然后就到我这里了。我也不是很懂,就把经理说的夸大的需求发 v2 上了。现在跟工程师交流了下把需求改对了,但方案是人家的,也不想变。。。(我就是个小菜鸟,不要打我)(逃 |
11 wmttom 2016-08-31 17:21:45 +08:00 合并成一个集群可破,存储层用一套,想要安全多开副本。感觉搞两个集群应该是为了计算资源隔离吧,但是搞一个集群也能想各种办法分配调度计算任务啊,没必要搞两个。 |
12 zpole OP @wmttom 搞两个集群还有一个目的是一边挂掉了另一边可以跟上,保证应用的不掉线。如果只开一个集群可以做到这个要求么?怎么做? |
13 czheo 2016-08-31 19:00:34 +08:00 @zpole 用两套集群也是浪费啊。请搜索 Hadoop High Availability , namenode 搞 active standby 就可以解决 single poin of failure 。 |
14 czheo 2016-08-31 19:06:52 +08:00 你现在的思路完全是用 mysql 思维来用 Hadoop 啊,手动一个集群同步到另一个集群的做法在 Hadoop 下设置一个 replication factor 就解决了。高可用也只要解决 namenode 的 SPOF 就行了,遇到 job failure 大不了 retry 一下。 |
15 wph95 2016-08-31 19:15:35 +08:00 @czheo 他思路没问题 airbnb 就是这么搞的, airbnb 叫 gold && silve cluster 。 可以通过这个关键词去找文章 |
16 wph95 2016-08-31 19:22:39 +08:00 不说机器规模和配置,就只说需求。 可以看看 ReAir ,觉得场景有点像 // 几亿是数据的总量, 这量一点都不多。 |
18 defunct9 2016-08-31 21:10:47 +08:00 via iPhone 管过 600 节点 hadoop ,觉得在胡扯 |
19 zpole OP @czheo 个人理解 active standby 里 standby 一般是不参与运算的,是用来受灾的时候恢复的。这个需求要两个数据中心双活,都能做运算。虽然有冗余但利用率更高。 |
20 tinybaby365 2016-08-31 21:58:32 +08:00 via iPhone 只用一个集群,提高可用性。 Hadoop 设计的目的就是不让你有如此想法。 |
21 czheo 2016-09-01 00:13:44 +08:00 @zpole 你描述的双数据中心,技术难点在于 hadoop 集群的 replicate 和 sync , ls 已经有人有人给出 reair 这个轮子了,技术比较新,你调研下这个轮子的可行性。但是 airbnb 只做了单向的 replicate 和 sync ,和你描述的类似 circular replication 还是要再看看能不能像 mysql 一样手动回避 conflict 。 |
22 ten789 2016-09-01 11:51:21 +08:00 到底是异地容灾还是本地互备呢 异地的不会搞 本地的完全不需要 每一个数据块都分布在 n 个 datanode 上 而且 namenode 你可以再搞 m 个从 |
24 ooonme 2016-09-01 12:41:33 +08:00 via iPhone hdfs 本身是分布式 高容灾的,也支持机架感知。问题是你这是异地 , io 累死,况且异地灾备 是机房做的吧,业务还需要干预?这块不是很懂;谷歌的论文中提到他们的 GFS 支持多数据中心; but 一切大数据速度的基础是 数据不动代码动;数据跑到代码所在的机器成本得多高,几十 mb 的代码跑到数据所在的机器执行就容易多了。 v2 做大数据的人好少 |
27 ClassicOldSong 2016-09-01 20:36:59 +08:00 @zpole 说点题外话,刚刚补完石头门,然后看到了这个帖子标题里“实时”二字突然有一种奇异的感觉,点进来一看你的头像又是红莉栖。。。难道这真的是石头门的选择么 2333333333333333 |
28 zpole OP @ClassicOldSong 这一切都是 Steins;Gate 的选择 |
29 logo1907 2017-09-15 14:02:10 +08:00 via iPhone 可以尝试 Kafka mirror maker,点对点同步的需求需要用 kafka low level 的 consumer 接口自己实现 |