Uh oh!
There was an error while loading. Please reload this page.
[SPARK-20608] allow standby namenodes in spark.yarn.access.namenodes(@deprecated) - #17870
[SPARK-20608] allow standby namenodes in spark.yarn.access.namenodes(@deprecated)#17870charliechen211 wants to merge 1 commit into
Conversation
Change-Id: Id0eedfbd594b24d2a3c283a9b5febdb6042c4dd1
AmplabJenkins
commented
May 5, 2017
Can one of the admins verify this patch? |
jerryshao
commented
May 5, 2017
Why not submit PR for master branch? From my understanding, your patch is trying to catch exception and continue to get tokens from others FS, right? |
charliechen211
commented
May 5, 2017
@jerryshao Why not submit PR for master branch? From my understanding, your patch is trying to catch exception and continue to get tokens from others FS, right? |
srowen
commented
May 5, 2017
| logWarning(s"Namenode ${dst} is in state standby", e) | ||
| case e: RemoteException => | ||
| logWarning(s"Namenode ${dst} is in state standby", e) | ||
| } |
There was a problem hiding this comment.
HADOOP-13372 implies that swift:// throws an UnknownHostException here; best to catch & log too, in case someone adds swift:// to the list of filesystems.
charliechen211
commented
May 5, 2017
srowen
commented
May 5, 2017
You need to close this one @morenn520 |
What changes were proposed in this pull request?
https://issues.apache.org/jira/browse/SPARK-20608
How was this patch tested?
Spark-submit script: yarn.spark.access.namenodes=hdfs://namenode01,hdfs://namenode02
Spark Application codes:
dataframe.write.parquet(getActiveNameNode(...) + hdfsPath)
Before this patch:
Exception in thread "main" java.lang.reflect.InvocationTargetException
Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.StandbyException): Operation category WRITE is not supported in state standby
at org.apache.hadoop.hdfs.server.namenode.ha.StandbyState.checkOperation(StandbyState.java:87)
at org.apache.hadoop.hdfs.server.namenode.NameNode$NameNodeHAContext.checkOperation(NameNode.java:1691)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkOperation(FSNamesystem.java:1322)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getDelegationToken(FSNamesystem.java:7079)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getDelegationToken(NameNodeRpcServer.java:505)
at org.apache.hadoop.hdfs.server.namenode.AuthorizationProviderProxyClientProtocol.getDelegationToken(AuthorizationProviderProxyClientProtocol.java:637)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getDelegationToken(ClientNamenodeProtocolServerSideTranslatorPB.java:957)
at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:587)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1026)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2013)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2009)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1623)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2007)
Apply this patch:
Worked!!!