Hadoop NameNode Safe Mode Error Fix
In this tutorial, you'll learn about Hadoop NameNode Safe Mode Error Fix. We cover key concepts, practical examples, and best practices.
Your HDFS commands fail with Name node is in safe mode. Resources are low — the NameNode entered safe mode because the block replication factor dropped below the threshold, or the NameNode just restarted.
Step-by-Step Fix
1. Check NameNode status
hdfs dfsadmin -safemode get
Expected output:
Safe mode is ON
2. Check block health
hdfs dfsadmin -report
Expected output shows the percentage of replicated blocks:
Configured Capacity: 1099511627776 (1 TB)
Present Capacity: 858993459200 (800 GB)
DFS Remaining: 644245094400 (600 GB)
DFS Used: 214748364800 (200 GB)
DFS Used%: 20.00%
Under replicated blocks: 15
Blocks with corrupt replicas: 0
Missing blocks: 2
3. Wait for safe mode to clear automatically
Safe mode clears when the replication threshold (99.9% by default) is met:
hdfs dfsadmin -safemode wait
Expected output:
Safe mode is OFF
4. Force leave safe mode (if needed)
# Wrong — force leaving without fixing underlying issue
hdfs dfsadmin -safemode leave
# Blocks remain under-replicated
# Right — first fix missing/under-replicated blocks
hdfs fsck / -files -blocks
# Then manually trigger replication
hdfs dfsadmin -safemode leave
5. Set replication factor for files
hdfs dfs -setrep -R 3 /
Common Mistakes
| Mistake | Fix |
|---|---|
| Force leaving safe mode without fixing replication | Check and fix missing blocks with hdfs fsck first |
| Not enough DataNodes to reach replication factor | Add more DataNodes or lower the replication factor |
| Corrupted blocks from disk failure | Run hdfs fsck / -delete to remove corrupted blocks |
| Safe mode stuck due to missing blocks | Set dfs.namenode.safemode.threshold-pct lower if testing |
| Incorrect block report from DataNodes | Restart DataNodes to trigger fresh block reports |
Prevention
- Run with at least 3 DataNodes for production.
- Set
dfs.replicationto 3 for production data. - Monitor the NameNode UI for block health metrics.
- Store HDFS metadata on redundant storage or enable HA.
DodaTech Tools
Doda Browser's HDFS NameNode dashboard monitors block health, replication status, and safe mode state. DodaZIP archives NameNode metadata and edit logs for disaster recovery. Durga Antivirus Pro alerts on NameNode anomalies that could indicate file system corruption.
Common Mistakes with namenode
- Using
headandtailinstead of pattern matching, causing runtime errors on empty lists - Forgetting that lazy evaluation defers computation until the value is forced, causing space leaks with unevaluated thunks
- Using
returnto exit a function early instead of wrapping a pure value in the monad
These mistakes appear frequently in real-world HADOOP code. DodaTech's contributors have identified these patterns through analysis of open-source projects and production systems.
Practice Exercise
Write a pure function that safely divides two integers using Maybe, then test it with edge cases like division by zero and negative numbers.
This exercise reinforces the concepts covered in this guide. Try implementing it before checking online solutions.
FAQ
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro