У меня есть вопрос о репликации в Hadoop, вот ситуация: У меня есть в общей сложности 6 узлов в 2-х стойкахHadoop конфигурация узла назначения репликации
Rack 1 Rack 2
__________ __________
| | | |
| Node 1 | | Node 4 |
| | | |
| Node 2 | | Node 5 |
| | | |
| Node 3 | | Node 6 |
| | | |
__________ __________
Как обеспечить, чтобы все мои данные безопасны, если одна целая стойка терпит неудачу?
Можно ли настроить узел назначения репликации ?
В этой ситуации при коэффициенте репликации, равном 3, данные могут быть сохранены только на одной стойке. Узел 1 реплицируется в Узел 2 и 3, или узел 5 реплицирует до 4 и 6 для примера. Поэтому, если одна целая стойка перестанет работать, я потеряю некоторые данные.
Rack 1 Rack 2
__________ __________
| | | |
| Node 1 | | Node 4 |
| v | | ^ |
| Node 2 | | Node 5 |
| v | | v |
| Node 3 | | Node 6 |
| | | |
__________ __________
То, что я хочу сделать, например, для узла 1, чтобы заставить репликацию по крайней мере 1 раз на узле 4 или 5 или 6
Rack 1 Rack 2
__________ __________
| | | |
| Node 1 | | Node 4 |
| v \ | ^ |
| Node 2 |\-->Node 5 |
| | |/ |
| Node 3 <---/Node 6 |
| | | |
__________ __________
Одним из способов было бы установить коэффициент репликации до 4, но это решение недостаточно масштабируемо.
Любые идеи? Благодаря!