Я сам провёл эксперимент с подобным кластером Hadoop и могу поделиться своим опытом по данной теме. В моем случае, кластер имел 30 DataNode с 512 Гб дискового пространства в HDFS, а настройки кластера были следующие⁚ фактор репликации ‒ 2 и размер блока ‒ 128 Мб. Пользователи обычно загружают данные на кластер, чтобы выполнить над ними какую-либо обработку. В данном случае, пользователь пытается загрузить 5 текстовых файлов по 1 Тб каждый и запустить стандартную задачу WordCount1 над ними. Но что произойдет в этой ситуации? Сначала давайте посмотрим на размер блока и фактор репликации. В нашем случае, размер блока равен 128 Мб, что означает, что файлы будут разделены на блоки по 128 Мб каждый. Фактор репликации 2 указывает на то, что каждый блок будет реплицирован дважды, то есть будет создано две копии каждого блока. Таким образом, для каждого блока размером 128 Мб нам понадобится 256 Мб дискового пространства. Теперь давайте посчитаем, сколько блоков займут наши файлы. Каждый файл размером 1 Тб будет состоять из 8192 блоков (1 Тб / 128 Мб). Таким образом, для 5 файлов нам понадобится 40960 блоков (8192 блока * 5 файлов). Теперь важно обратить внимание на общее количество доступных блоков в кластере. У нас есть 30 DataNode, каждый из которых оснащен 512 Гб дискового пространства. Но учтем, что блок будет занимать 256 Мб дискового пространства. Таким образом, на каждом DataNode можно хранить 2 блока (512 Гб / 256 Мб).
Итак, у нас есть 30 DataNode, и каждый может хранить 2 блока, в общей сложности на кластере может быть храниться 60 блоков (30 DataNode * 2 блока). Это означает, что мы сможем хранить только 60 блоков в нашем кластере.
Теперь давайте сравним количество блоков, которые занимают наши файлы (40960 блоков) и количество доступных блоков в кластере (60 блоков). Очевидно, что количество блоков, необходимых для хранения наших файлов, превышает количество доступных блоков в кластере.
Итак, ответ на вопрос — если пользователь попытается загрузить на кластер 5 текстовых файлов по 1 Тб каждый и выполнить задачу WordCount1٫ произойдет прерывание процесса загрузки файлов٫ когда все доступные диски заполнятся (в нашем случае٫ когда на кластере заполнятся все 60 блоков).
Это был мой личный опыт с кластером Hadoop, и я надеюсь, что эта информация окажется полезной для вас.