Какова взаимосвязь между размером блока и длиной RPC / IPC? - PullRequest
0 голосов
/ 07 ноября 2019

NameNode регистрирует в моем экземпляре HDFS недавно начатую запись предупреждений в форме Requested data length 145530837 is longer than maximum configured RPC length 144217728.

Это в конечном итоге проявилось как NameNode, объявляющий тысячи блоков отсутствующими и 19 файлов поврежденными.

Ситуация была разрешена путем обновления ipc.maximum.data.length до значения, превышающего запрошенную длину данных, указанную выше. Это не удовлетворительное решение, хотя. Я хотел бы понять, как возникла эта проблема.

Я запустил hdfs fsck -files -blocks -locations, а самый большой блок имеет длину 1342177728.

  • Есть ли некоторые издержки для RPCзвонки? Может ли блок длиной 1342177728 приводить к исходному журналу предупреждений в верхней части этого сообщения?
  • Насколько я понимаю, единственный способ, которым клиент, записывающий в HDFS, может указать размер блока, - это либо -Ddfs.blocksize или установка соответствующего свойства для объекта Configuration при инициализации подключения HDFS. Это правильно, или есть какие-то другие способы создания чрезмерно больших блоков?
  • Кроме сверхбольших блоков, есть ли другие проблемы, которые могут вызвать предупреждение выше?
...