【问题标题】:Why does NameNode HA use JournalNode instead of Zookeeper istself?为什么 NameNode HA 使用 JournalNode 而不是 Zookeeper 本身?
【发布时间】:2014-10-01 02:17:15
【问题描述】:

看下面的 hdfs 文档让我想知道为什么 hadoop 使用 JournalQuorum 而不是使用 Zookeeper 本身来保持 fsImage 和 EditLogs 同步 http://hortonworks.com/blog/namenode-high-availability-in-hdp-2-0/

也就是说,使用zookeeper服务代替一堆JournalNodes进行主备NameNode通信有什么问题?

【问题讨论】:

    标签: hadoop apache-zookeeper high-availability


    【解决方案1】:

    一个原因可能是 - Zookeeper 不适合存储。如果我没记错的话,可以存储在 ZNode 中的默认最大数据大小是 1 MB。

    【讨论】:

    • 编辑日志事务并没有那么大,对吧?
    • 如果没有检查点,EditLogs 本身可能会增加 Gigs。但每笔交易都不大。 Zookeeper 只是用作传递交易的中介,对吗?
    • 如果您考虑说 1 小时的定期检查点仅产生 50MB 的编辑事务,我猜,Zookeeper 存储在 ZNode 中仍然太多了。在上述架构中(据我所知)只是监视两个名称节点,以便当一个出现故障时,另一个可以承担责任。 Zookeeper 似乎没有用于任何存储目的。在架构中,我也看不到执行 FSImage 和 Edit 日志合并的检查点节点。难道是日记节点在尽职尽责?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-11
    • 2014-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多