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-->

Reply via email to