有 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 1
每秒几亿就算是银行也是银行总部大机级别的,这事没多少人能给你解决
|
6
czheo 2016-08-31 15:55:00 +08:00 1
其他不说, 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 1
mysql 相互主从 呵呵了
|
9
zpole OP @ten789 大概就是人家公司的某个项目想这样做,但想不到同步机制,然后经理就四处问,然后就到我这里了。我也不是很懂,就把经理说的夸大的需求发 v2 上了。现在跟工程师交流了下把需求改对了,但方案是人家的,也不想变。。。(我就是个小菜鸟,不要打我)(逃
|
11
wmttom 2016-08-31 17:21:45 +08:00 1
合并成一个集群可破,存储层用一套,想要安全多开副本。感觉搞两个集群应该是为了计算资源隔离吧,但是搞一个集群也能想各种办法分配调度计算任务啊,没必要搞两个。
|
12
zpole OP @wmttom 搞两个集群还有一个目的是一边挂掉了另一边可以跟上,保证应用的不掉线。如果只开一个集群可以做到这个要求么?怎么做?
|
13
czheo 2016-08-31 19:00:34 +08:00
@zpole 用两套集群也是浪费啊。请搜索 Hadoop High Availability , namenode 搞 active standby 就可以解决 single point 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 1
不说机器规模和配置,就只说需求。
可以看看 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 1
@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 接口自己实现
|