You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hadoop.apache.org by 尉雁磊 <tr...@163.com> on 2022/09/14 10:35:06 UTC

In 3.2.1, if the Observer Namenode is turned on, it cannot be rolled to Hadoop3.3.4. In 3.2.1, if the Observer Namenode is turned off, it can be rolled to Hadoop3.3.4. Is it normal?

In 3.2.1, if the Observer Namenode is turned on, it cannot be rolled to Hadoop3.3.4. In 3.2.1, if the Observer Namenode is turned off, it can be rolled to Hadoop3.3.4. Is it normal?

error message:

ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Error encountered requiring NN shutdown. Shutting down immediately.
java.lang.IllegalStateException: Cannot start writing at txid 4162 when there is a stream available for read: org.apache.hadoop.hdfs.server.namenode.RedundantEditLogInputStream@27606b05
        at org.apache.hadoop.hdfs.server.namenode.FSEditLog.openForWrite(FSEditLog.java:334)
        at org.apache.hadoop.hdfs.server.namenode.FSEditLogAsync.openForWrite(FSEditLogAsync.java:103)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startActiveServices(FSNamesystem.java:1261)
        at org.apache.hadoop.hdfs.server.namenode.NameNode$NameNodeHAContext.startActiveServices(NameNode.java:1956)
        at org.apache.hadoop.hdfs.server.namenode.ha.ActiveState.enterState(ActiveState.java:61)
        at org.apache.hadoop.hdfs.server.namenode.ha.HAState.setStateInternal(HAState.java:64)
        at org.apache.hadoop.hdfs.server.namenode.ha.StandbyState.setState(StandbyState.java:59)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.transitionToActive(NameNode.java:1800)
        at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.transitionToActive(NameNodeRpcServer.java:1784)
        at org.apache.hadoop.ha.protocolPB.HAServiceProtocolServerSideTranslatorPB.transitionToActive(HAServiceProtocolServerSideTranslatorPB.java:112)
        at org.apache.hadoop.ha.proto.HAServiceProtocolProtos$HAServiceProtocolService$2.callBlockingMethod(HAServiceProtocolProtos.java:5409)
        at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:528)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1070)
        at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:999)
        at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:927)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730)
        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2915)

observer namnode configuration:

<!-- observer namenode-->
    <property>
       <name>dfs.namenode.state.context.enabled</name>
       <value>true</value>
    </property>

    <property>
      <name>dfs.ha.tail-edits.in-progress</name>
      <value>true</value>
    </property>

    <property>
      <name>dfs.ha.tail-edits.period</name>
      <value>0ms</value>
    </property>

    <property>
      <name>dfs.ha.tail-edits.period.backoff-max</name>
      <value>10s</value>
    </property>

    <property>
      <name>dfs.journalnode.edit-cache-size.bytes</name>
      <value>1073741824</value>
    </property>

    <property>
      <name>dfs.namenode.accesstime.precision</name>
      <value>0</value>
    </property>

    <property>
      <name>dfs.client.failover.proxy.provider.HACluster</name>
      <value>org.apache.hadoop.hdfs.server.namenode.ha.ObserverReadProxyProvider</value>
    </property>
    <property>
      <name>dfs.client.failover.observer.auto-msync-period.HACluster</name>
      <value>500ms</value>
    </property>

    <property>
      <name>dfs.client.failover.random.order</name>
      <value>true</value>
    </property>
    <!-- observer namenode-->