У меня есть 3 узла кластера Hadoop 2.7.3, которые можно описать следующим образом:
- Узел A : 25 ГБ, DataNode, NameNode
- Узел B : 50 ГБ, DataNode
- Узел C : 25 ГБ, DataNode
Проблема в том, что на узле A интенсивно используется диск (около 95%). Чего я хотел бы добиться, так это ограничить использование диска, чтобы оно никогда не превышало 85%.
Я попытался установить для свойства dfs.namenode.resource.du.reserved
значение около 3 ГБ, но это не решило мою проблему, потому что, как только доступное дисковое пространство стало меньше этого значения, мой Hadoop немедленно переходит в безопасный режим.
Я знаю, что для продолжения работы NN должны быть доступны все необходимые ресурсы и что NN будет продолжать работать, пока доступен любой резервный ресурс.
Кроме того, я знаю о свойстве dfs.namenode.edits.dir.required
, которое определяет требуемые ресурсы, но я не думаю, что делать NN избыточным вместо обязательного является хорошей идеей.
Так что мои вопросы как в теме. Как я могу сказать Hadoop: «Эй, слушай. Это датода, положи сюда все, что захочешь, но если использование диска будет выше 85%, не паникуй - просто перестань что-то класть и продолжай делать свое дело». на остальной части DN. "?
Я что-то пропустил? Это вообще возможно? Если нет, то что бы вы, ребята, предложили мне сделать?