关于hadoop在搭建HA架构时,standby出现启动不了的问题

本文档记录了在搭建Hadoop高可用(HA)架构时遇到standby节点启动失败的问题。通过分析hadoop-hadoop-namenode-hadoop2.log日志,发现启动失败的原因是standby节点的元数据与active节点不同步,具体表现为存储目录不存在。错误产生原因是使用scp命令不正确地同步元数据。解决方法是,在standby节点上执行`hdfs namenode -bootstrapStandby`命令来重新同步元数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、查看standby机器中如下log:

hadoop-hadoop-namenode-hadoop2.log

2018-11-09 12:59:41,269 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = hadoop2/192.168.142.128
STARTUP_MSG:   args = []
STARTUP_MSG:   version = 2.5.0
STARTUP_MSG:   classpath = /opt/app/hadoop-2.5.0/etc/hadoop:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jackson-core-asl-1.9.13.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jetty-util-6.1.26.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/commons-digester-1.8.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/slf4j-api-1.7.5.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/commons-math3-3.1.1.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/httpclient-4.2.5.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jsr305-1.3.9.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jackson-mapper-asl-1.9.13.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/activation-1.1.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/commons-configuration-1.6.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/protobuf-java-2.5.0.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/apacheds-kerberos-codec-2.0.0-M15.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jaxb-api-2.2.2.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/asm-3.2.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jersey-core-1.9.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/commons-el-1.0.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jetty-6.1.26.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jersey-json-1.9.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/mockito-all-1.8.5.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/hamcrest-core-1.3.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jsp-api-2.1.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/xz-1.0.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/apacheds-i18n-2.0.0-M15.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/xmlenc-0.52.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/commons-codec-1.4.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/commons-collections-3.2.1.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jettison-1.1.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/commons-cli-1.2.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/zookeeper-3.4.6.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/hadoop-auth-2.5.0.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/commons-compress-1.4.1.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jasper-compiler-5.5.23.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/stax-api-1.0-2.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jackson-jaxrs-1.9.13.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jersey-server-1.9.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/commons-beanutils-core-1.8.0.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/commons-lang-2.6.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/commons-httpclient-3.1.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/netty-3.6.2.Final.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/paranamer-2.3.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/commons-beanutils-1.7.0.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jaxb-impl-2.2.3-1.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/api-util-1.0.0-M20.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jsch-0.1.42.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/avro-1.7.4.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/snappy-java-1.0.4.1.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/guava-11.0.2.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jackson-xc-1.9.13.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/junit-4.11.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/commons-io-2.4.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/log4j-1.2.17.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/servlet-api-2.5.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/api-asn1-api-1.0.0-M20.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jasper-runtime-5.5.23.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/httpcore-4.2.5.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/commons-logging-1.1.3.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/java-xmlbuilder-0.4.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/commons-net-3.1.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/hadoop-annotations-2.5.0.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/lib/jets3t-0.9.0.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/hadoop-common-2.5.0.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/hadoop-common-2.5.0-tests.jar:/opt/app/hadoop-2.5.0/share/hadoop/common/hadoop-nfs-2.5.0.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/jackson-core-asl-1.9.13.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/jetty-util-6.1.26.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/jsr305-1.3.9.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/jackson-mapper-asl-1.9.13.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/protobuf-java-2.5.0.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/commons-daemon-1.0.13.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/asm-3.2.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/jersey-core-1.9.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/commons-el-1.0.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/jetty-6.1.26.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/jsp-api-2.1.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/xmlenc-0.52.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/commons-codec-1.4.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/commons-cli-1.2.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/jersey-server-1.9.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/commons-lang-2.6.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/netty-3.6.2.Final.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/guava-11.0.2.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/commons-io-2.4.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/log4j-1.2.17.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/servlet-api-2.5.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/jasper-runtime-5.5.23.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/lib/commons-logging-1.1.3.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/hadoop-hdfs-nfs-2.5.0.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/hadoop-hdfs-2.5.0.jar:/opt/app/hadoop-2.5.0/share/hadoop/hdfs/hadoop-hdfs-2.5.0-tests.jar:/opt/app/hadoop-2.5.0/share/hadoop/yarn/lib/guice-3.0.jar:/opt/app/hadoop-2.5.0/share/hadoop/yarn/lib/jackson-core-asl-1.9.13.jar:/opt/app/hadoop-2.5.0/share/hadoop/yarn/lib/jetty-util-6.1.26.jar:/opt/app/hadoop-2.5.0/share/hadoop/yarn/lib/jsr305-1.3.9.jar:/opt/app/hadoop-2.5.0/share/hadoop/yarn/lib/jackson-mapper-asl-1.9.13.jar:/opt/app/hadoop-2.5.0/share/hadoop/yarn/lib/activation-1.1.jar:/opt/app/hadoop-2.5.0/share/hadoop/yarn/lib/protobuf-java-2.5.0.jar:/opt/app/hadoop-2.5.0/share/hadoop/yarn/lib/jaxb-api-2.2.2.jar:/opt/app/hadoop-2.5.0/share/hadoop/yarn/lib/javax.inject-1.jar:/opt/app/hadoop-2.5.0/share/hadoop/yarn/lib/jersey-guice-1.9.jar:/opt/app/hadoop-2.5.0/share/hadoop/yarn/lib/asm-3.2.jar:/opt/app/hadoop-2.5.0/share/hadoop/yarn/lib/jersey-core-1.9.jar:/opt/app/hadoop-2.5.0/share/hadoop/mapreduce/lib/jackson-core-asl-1.9.13.jar:/opt/app/hadoop-2.5.0/share/hadoop/mapreduce/lib/jackson-mapper-asl-1.9.13.jar:/opt/app/hadoop-2.5.0/share/hadoop/mapreduce/lib/protobuf-java-2.5.0.jar:/opt/app/hadoop-2.5.0/share/hadoop/mapreduce/lib/javax.inject-1.jar:/opt/app/hadoop-2.5.0/share/hadoop/mapreduce/lib/jersey-guice-1.9.jar:/opt/app/hadoop-2.5.0/share/hadoop/mapreduce/lib/asm-3.2.jar:/opt/app/hadoop-
2018-11-09 12:59:44,352 WARN org.apache.hadoop.hdfs.server.common.Storage: Storage directory /opt/app/hadoop-2.5.0/data/tmp/dfs/name does not exist
2018-11-09 12:59:44,355 WARN org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Encountered exception loading fsimage
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /opt/app/hadoop-2.5.0/data/tmp/dfs/name is not exists

二、出现原因:

如上log中提示可知,standby中的元数据与active中的元数据不同步,导致standby中的namenode启动失败

导致这一错误信息的缘故是在架构HA环境中,使用了scp -r tmp :standbyhostname /opt/app/hadoop-2.5.0/data来同步元数据。

三、解决方法:

在standby的机器中使用  hdfs namenode -bootstrapStandby 命令重新同步元数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值