Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.7.1
-
None
-
None
Description
ZKFCs fail the following check in DFSZKFailoverController#dataToTarget if an NN service RPC port is added to an existing cluster.
protected HAServiceTarget dataToTarget(byte[] data) { ... if (!addressFromProtobuf.equals(ret.getAddress())) { throw new RuntimeException("Mismatched address stored in ZK for " + ret + ": Stored protobuf was " + proto + ", address from our own " + "configuration for this NameNode was " + ret.getAddress()); }
The NN address stored in the znode had the common client+service RPC port number whereas the configuration now returns an address with the service RPC port. The workaround is to reformat the ZKFC state in ZK with hdfs zkfc -formatZK.