我阅读了hadoop-1.0.4源代码中的SequenceFile.java。我还发现了sync(long)方法,该方法用于在SequenceFile中将SequenceFile拆分为文件拆分时,在MapReduce中查找“同步标记”(在文件创建时生成的16字节MapReduce)。
/** Seek to the next sync mark past a given position.*/
public synchronized void sync(long position) throws IOException {
if (position+SYNC_SIZE >= end)
我们在不同的亚马逊网络服务数据中心有三个节点,其中一个是单一实例的唯一种子节点和独占所有者,通过在单一实例代理设置上使用.withDataCenter来实现。我们可以通过启动种子节点,然后启动其他节点,让我们的集群按照设计的方式工作,但如果任何一个节点宕机,似乎唯一能让它们重新说话的方法就是以同样的方式重新启动整个集群。我们希望让它们尝试重新连接到种子节点,并在可能的情况下恢复正常操作。
当我关闭非种子节点时,种子节点将其标记为不可达,并开始定期记录以下内容:
Association with remote system [akka.tcp://application@xxx.xx.x.xxx
我的akka集群中有很多工作节点,由于它们的不稳定性,这会导致Down all when unstable决策;但是它们不具有SBR的作用。
为什么不根据Down all when unstable的角色做出Down all when unstable决策?为了解决这个问题,我应该有不同的集群还是使用多DC集群?