분산 시스템에서 Google MapReduce 및 GSF 연구 논문과 같은 몇 가지 사항을 최근에 읽었습니다. 이 두 시스템은 다른 "작업자"노드를 조정하는 Master
노드가 있다는 사실에 의존합니다. 디자이너가 마스터 실패로부터 자신을 보호 할 수 있을지 궁금합니다. MapReduce 논문에서 우리는 읽을 수 있습니다 :분산 시스템 - 마스터 오류
It is easy to make the master write periodic checkpoints of the master data structures described above.
If the master task dies, a new copy can be started from the last checkpointed state
WHO는 마스터 실패를 모니터링 할 책임이 있습니까? 사용자 코드는 Distributed System (Master)에 대한 제어권을 제공하고 그 결과를 기다리고 있습니다. 근로자 노드가 새로운 리더를 선출해야 하는가? 마스터에게 때때로 ping을 보내는 휴면 노드의 우선 순위 목록이 있어야하며 실패 할 경우 우선 순위가 가장 높은 노드 (ID)가 시작됩니다. 기사 나 더 많은 기술적 인 답변에 대한 포인터에 감사 할 수 있도록이 중 어떤 것이 의미가 있는지 확실하지 않습니다. 이 개 측면에서 그것에
마스터가 실제로 실패했는지 또는 네트워크가 방금 분할되어 있는지 감지 할 수있는 확실한 방법이 필요합니다. 그게 무슨 뜻입니까? 마스터가 하나이므로이 특정 마스터가 실패한 것이 분명합니다. 예를 들어 링 토폴로지의 경우에 대해 말하지 않는 한, 의도 한 바가 아니 었습니다. – Bober02
하나의 노드가 마스터에 접속할 수 없기 때문에 그것이 죽었다는 것을 의미하지는 않습니다. 다른 노드는 네트워크 파티션이라고하는 다른 노드와 통신 할 수 있습니다. 당신은 CAP 정리를 살펴볼 때 그것에 대해 더 많이 읽을 수 있습니다. – peter