Это происходит всегда или только в начале, только когда вы начинаете хаоп?
Если только в начале, то подождите некоторое время, чтобы NameNode проверил, все ли в порядке, прежде чем вы получите доступ к hdfs. Если он не покидает safemode после значительного количества времени, это означает, что в файловой системе существует некоторая дисбаланс (например, в реплицированных или поврежденных блоках). Через реплицированные блоки будут автоматически сбалансированы через некоторое время. Для поврежденных блоков, вы можете взглянуть на вывод этой команды:
hdfs fsck -list-corruptfileblocks
И попробуйте удалить поврежденные блоки с помощью:
hdfs fsck/-delete
Если это не помогает, как это было предложено @Nishu, используйте команду hdfs dfsadmin -safemode leave
для принудительного получения NameNode из безопасного режима. Как только вы это сделаете, проверьте вывод hdfs dfsadmin -safemode get
, чтобы подтвердить, что safemode фактически отключен.
Если вы хотите вручную исправить недореплицированные блоки, эта ссылка может быть полезна: https://community.hortonworks.com/articles/4427/fix-under-replicated-blocks-in-hdfs-manually.html – daemon12
dfs dfsadmin -safemode leave работает нормально –
В моем случае это было в безопасном узле, потому что ресурсы были низкими (работающими на докерах) – pomber