nextuser 发表于 2017-11-5 20:56 恩恩 这种情况是存在的,谢谢。最近没时间回复,望见谅,问了一些企业里的,他们说可能数据量很小,直接远程了。因为我是虚拟机搭建的三节点集群。可能是这个原因的,不是生产上的独立的机器,再加上wifi,网络波动大。 |
相见恨晚xyh 发表于 2017-11-3 20:54 namenode加载到内存,但是它同样不能挂掉,hadoop还有很多的事情需要namenode,比如调度等。至于为什么不能去加载本地的,这里说一种情况,假如说hadoop启动的是备份节点,而非active节点。那么这时候就可能会数据丢失。因为最新数据,很可能还没有复制到备用节点。 |
nextuser 发表于 2017-11-3 16:49 提供服务的时候是在内存里啊,持久化是为了重新启动加载它,不明白为什么启动的时候不加载本地的edits |
相见恨晚xyh 发表于 2017-11-2 15:34 JournalNode和backnode应该都是为了备份数据,也就是为了集群的高可用。而对外服务的却是namenode,也就是集群的运行,是需要namenode的数据,否则就无法运行了。 |
相见恨晚xyh 发表于 2017-11-2 11:10 你的是哪个版本。 推荐看下这篇文章。 http://www.aboutyun.com/forum.php?mod=viewthread&tid=23239 楼主发现能否截图,还有源码等。有问题可以一起讨论发现。 |
nextuser 发表于 2017-11-2 08:52 不是啊,我看源码解析里,editsLog写到两个地方了,本地跟QJM上,我在tmp/dfs/name/curent目录下发现了本地editisLog跟fsimage,journalnode/cluster/ 目录下的edits是QJM集群上的。 |
因为本地没有editsLog,只有fsimage保存在本地。editsLog都保存在了JournalNode 如下图 |