一.崩溃原因
搭建的是一个hadoop测试集群,所以将数据备份参数设置为dfs.replication=1,这样如果有一台datanode损坏的话,数据就会失去。但不幸的是,刚好就有一台机器由于负载过高,导致数据操坏。进而后面需要重启整个hadoop集群,重启后启动namenode启动不了。报如下错误:
FSNamesystem initialization failed saveLeases found path /tmp/xxx/aaa.txt but no matching entry in namespace.
二.修复namenode
hadoop 集群崩溃了. 导致namenode启动不了.
1. 删除 namenode主节点的metadata配置目录
rm -fr /data/hadoop-tmp/hadoop-hadoop/dfs/name
2. 启动secondnamenode
使用start-all.sh命令启动secondnamenode,namenode的启动不了不管
3. 从secondnamenode恢复
使用命令: hadoop namenode -importCheckpoint
恢复过程中,发现数据文件有些已经损坏(因为dfs.replication=1),所以一直无法退出安全模式(safemode),一直报如下提示:
The ratio of reported blocks 0.8866 has not reached the threshold 0.9990. Safe mode will be turned off automatically.
4.强制退出safemode
hadoop dfsadmin -safemode leave
最后启动成功,查看hdfs网页报警告信息:
WARNING : There are about 257 missing blocks. Please check the log or run fsck.
5.检查损坏的hdfs文件列表
使用命令可以打印出损坏的文件列表:
./hadoop fsck /
没有冗余备份,只能删除损坏的文件,使用命令:
./hadoop fsck --delete
三.总结
一定需要将你的secondnamenode及namenode分开在不同两台机器运行,增加namenode的容错性。以便在集群崩溃时可以从secondnamenode恢复数据.
分享到:
相关推荐
3. "hadoop集群崩溃恢复记录.htm" - 这个文件可能包含了一次Hadoop集群故障的详细记录,以及如何进行恢复的步骤,对于理解Hadoop的容错机制和故障处理策略非常有价值。 4. "Hadoop实战.pdf" - 可能是一本全面的...
Zab协议确保了ZooKeeper状态机的一致性,并支持崩溃恢复。ZooKeeper还利用了数据复制,以保证数据的一致性和高可用性。它的数据模型类似于文件系统的目录结构,所有的节点称为Znode,并且每个Znode可以有多个子节点...
namenode 的恢复是 Hadoop 集群的关键组件之一。通过修改配置文件、重启 Hadoop 和恢复 namenode,可以确保 namenode 的可靠性和可用性。同时,secondarynamenode 的存在也可以确保 namenode 的高可用性。
3. **集群扩展性**:测试Hadoop集群在增加节点时的性能提升程度。 4. **资源管理**:考察YARN(Yet Another Resource Negotiator)如何有效分配和管理资源。 5. **稳定性**:长时间运行压力测试以检测系统崩溃、数据...
【Hadoop可靠性报告】 Hadoop,作为开源大数据处理框架,其可靠性是其广泛应用的关键特性。本报告将深入探讨Hadoop的HDFS(Hadoop Distributed...在实际应用中,需要根据业务需求来评估和优化Hadoop集群的配置和使用。
EditLog则记录所有的元数据变更,用于在NameNode崩溃后的恢复。为了防止EditLog过大影响系统重启速度,Secondary NameNode扮演了一个辅助角色,定期将FsImage和EditLog合并成一个新的FsImage checkpoint,同时生成新...
NameNode 节点的备份是非常重要的,因为 NameNode 节点的失效可能会导致整个 HDFS 集群的崩溃。为了备份 NameNode 节点,可以直接采用拷贝的方法,把 NameNode 节点的 hdfs/name 文件夹里的文件拷贝下来。 4. 备份...
了解hdfs-site.xml的配置项对于调优Hadoop集群,满足特定需求是非常有帮助的。下面对hdfs-site.xml中的部分关键配置项进行详细解析。 1. dfs.namenode.logging.level 该配置项定义了HDFS中NameNode日志的记录级别。...
- EditLog采用追加写入的方式,保证了操作的顺序性,即使在系统崩溃时也能按照顺序恢复。 - 定期或达到一定数量后,NameNode会将EditLog持久化到磁盘,并生成一个新的FSImage。 4. **EditLog的持久化与...
"HBase性能测试详细设计文档及用例" ...如果WAL Flag设置为true,那么写入操作将被记录到WAL中,以便在 RegionServer崩溃时可以恢复数据。如果WAL Flag设置为false,那么写入操作将不会被记录到WAL中,以提高写入性能。
- **Binlog日志记录**:如何利用Binlog日志实现任意时间点恢复。 - **恢复技术**:如何在特定时间点进行数据恢复的具体步骤。 **拓展知识点:** - **高可用架构设计**:如何构建高可用的数据库架构。 - **故障转移...
2. **持久化**:为了保证数据安全性,Redis提供了RDB(定期保存快照)和AOF(Append Only File,记录所有写操作)两种持久化策略,确保在系统崩溃或重启后能恢复数据。 3. **主从复制**:Redis支持主从复制,通过...
在计算机科学中,数据持久化是指将数据保存到非易失性存储设备,即使系统关闭或崩溃,这些数据也能在后续的会话中恢复。这涉及到数据库管理系统(DBMS),如MySQL、Oracle、MongoDB等,它们提供了将数据写入磁盘并...
- **HLog (Write-Ahead Log)**:一种日志机制,用于确保即使在系统崩溃的情况下也能恢复数据。每次写入数据时,都会先写入HLog,然后再写入MemStore。 - **Region Server**:HBase集群中的工作单元,负责管理一系列...
- HLog:HBase通过维护WAL(Write Ahead Log)来防止MemStore中的数据丢失,确保即使在系统崩溃的情况下也能恢复数据。 10. **HBase的主要操作** - Get:获取特定rowkey的数据。 - Put:插入或更新数据。 - ...
这样即使在系统崩溃的情况下,通过重放HLog文件也可以恢复数据的完整性。 62. **HBase的数据分区机制** - **知识点**: HBase的数据分区机制主要是通过Row Key来进行的。HBase中的数据按照Row Key的字典序排序,并...