2016-08-15 4 views
0

У меня есть кластер Hadoop с 4 DataNodes. Я смущен между двумя проблемами: репликацией данных и распределением данных.Репликация HDFS и распределение данных

Предположим, что у меня есть файл объемом 2 ГБ, а множитель - 2 & Размер блока - 128 МБ. Когда я помещаю этот файл в hdfs, я вижу, что создаются 2 копии каждого 128 МБ блоков, и они помещаются в datanode3 и datanode4. Но datanode2 & datanode1 не используются. Данные реплицируются из-за коэффициента репликации, но я ожидаю увидеть некоторые блоки данных в datanode1 и datanode2. Что-то не так?

Предположим, что у меня есть 20 DataNodes, а коэффициент репликации - 2. Если я поместил файл (2 ГБ) на HDFS, я снова ожидаю увидеть две копии каждого 128 МБ, но также ожидаю увидеть эти 128 МБ блоков распределяется между 20 DataNodes.

ответ

0

В идеале, файл 2 ГБ должен распространяться среди всех доступных DataNodes.

File Size: 2GB = 2048MB 
Block Size: 128MB 
Replication Factor: 2 

С выше конфигурации вы должны иметь: 2048/128 * 2 блоки т.е. 32 блоки. И эти блоки должны распределяться почти одинаково между всеми DataNodes. Учитывая, что у вас есть 4 DataNodes, каждый из них должен иметь около 8 блоков.

Причина, по которой я мог думать о том, что не имеет ситуации выше, - это если DataNodes опущены. Проверьте, все ли данные DataNodes: sudo -u hdfs hdfs dfsadmin -report

 Смежные вопросы

  • Нет связанных вопросов^_^