-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/61023/
-----------------------------------------------------------

Review request for Ambari and Vitalyi Brodetskyi.


Bugs: AMBARI-21544
    https://issues.apache.org/jira/browse/AMBARI-21544


Repository: ambari


Description
-------

HiveServer2 fails to start with webhdfs call to create /hdp/apps/..jar files
fails with org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException.

Seeing this specifically on HA cluster where one instance of HiveServer2 fails
to start.

HiveServer2 start error...

    
    
    
    2017-07-18 05:27:36,795 - NameNode HA states: active_namenodes = [(u'nn2', 
'ctr-e134-1499953498516-16356-01-000005.hwx.site:20070')], standby_namenodes = 
[(u'nn1', 'ctr-e134-1499953498516-16356-01-000004.hwx.site:20070')], 
unknown_namenodes = []
    2017-07-18 05:27:36,797 - call['ambari-sudo.sh su hdfs -l -s /bin/bash -c 
'curl -sS -L -w '"'"'%{http_code}'"'"' -X GET --negotiate -u : 
'"'"'http://ctr-e134-1499953498516-16356-01-000005.hwx.site:20070/webhdfs/v1/hdp/apps/2.6.3.0-61/mapreduce/hadoop-streaming.jar?op=GETFILESTATUS'"'"'
 1>/tmp/tmpvtBOI9 2>/tmp/tmpMbcTp1''] {'logoutput': None, 'quiet': False}
    2017-07-18 05:27:36,885 - call returned (0, '')
    2017-07-18 05:27:36,886 - Creating new file 
/hdp/apps/2.6.3.0-61/mapreduce/hadoop-streaming.jar in DFS
    2017-07-18 05:27:36,887 - call['ambari-sudo.sh su hdfs -l -s /bin/bash -c 
'curl -sS -L -w '"'"'%{http_code}'"'"' -X PUT --data-binary 
@/usr/hdp/2.6.3.0-61/hadoop-mapreduce/hadoop-streaming.jar -H 
'"'"'Content-Type: application/octet-stream'"'"' --negotiate -u : 
'"'"'http://ctr-e134-1499953498516-16356-01-000005.hwx.site:20070/webhdfs/v1/hdp/apps/2.6.3.0-61/mapreduce/hadoop-streaming.jar?op=CREATE&overwrite=True&permission=444'"'"'
 1>/tmp/tmpqYkC_P 2>/tmp/tmpT30u8x''] {'logoutput': None, 'quiet': False}
    2017-07-18 05:27:37,135 - call returned (0, '')
    ....
    self._create_file(self.main_resource.resource.target, 
source=self.main_resource.resource.source, mode=self.mode)
      File 
"/usr/lib/python2.6/site-packages/resource_management/libraries/providers/hdfs_resource.py",
 line 423, in _create_file
        self.util.run_command(target, 'CREATE', method='PUT', overwrite=True, 
assertable_result=False, file_to_put=source, **kwargs)
      File 
"/usr/lib/python2.6/site-packages/resource_management/libraries/providers/hdfs_resource.py",
 line 204, in run_command
        raise Fail(err_msg)
    resource_management.core.exceptions.Fail: Execution of 'curl -sS -L -w 
'%{http_code}' -X PUT --data-binary 
@/usr/hdp/2.6.3.0-61/hadoop-mapreduce/hadoop-streaming.jar -H 'Content-Type: 
application/octet-stream' --negotiate -u : 
'http://ctr-e134-1499953498516-16356-01-000005.hwx.site:20070/webhdfs/v1/hdp/apps/2.6.3.0-61/mapreduce/hadoop-streaming.jar?op=CREATE&overwrite=True&permission=444''
 returned status_code=403. 
    {
      "RemoteException": {
        "exception": "LeaseExpiredException", 
        "javaClassName": 
"org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException", 
        "message": "No lease on 
/hdp/apps/2.6.3.0-61/mapreduce/hadoop-streaming.jar (inode 16566): File does 
not exist. Holder DFSClient_NONMAPREDUCE_1130121686_152 does not have any open 
files.\n\tat 
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkLease(FSNamesystem.java:3660)\n\tat
 
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.analyzeFileState(FSNamesystem.java:3463)\n\tat
 
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getNewBlockTargets(FSNamesystem.java:3301)\n\tat
 
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:3261)\n\tat
 
org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:850)\n\tat
 
org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.addBlock(ClientNamenodeProtocolServerSideTranslatorPB.java:503)\n\tat
 
org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)\n\tat
 or
 
g.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:640)\n\tat
 org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982)\n\tat 
org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2351)\n\tat 
org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2347)\n\tat 
java.security.AccessController.doPrivileged(Native Method)\n\tat 
javax.security.auth.Subject.doAs(Subject.java:422)\n\tat 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1866)\n\tat
 org.apache.hadoop.ipc.Server$Handler.run(Server.java:2345)\n"
     
    

NameNode log throws LeaseExpiredException...

    
    
    
    2017-07-18 05:27:36,980 INFO  
delegation.AbstractDelegationTokenSecretManager 
(AbstractDelegationTokenSecretManager.java:createPassword(385)) - Creating 
password for identifier: HDFS_DELEGATION_TOKEN token 8 for hdfs, currentKey: 2
    2017-07-18 05:27:37,054 INFO  
delegation.AbstractDelegationTokenSecretManager 
(AbstractDelegationTokenSecretManager.java:createPassword(385)) - Creating 
password for identifier: HDFS_DELEGATION_TOKEN token 9 for hdfs, currentKey: 2
    2017-07-18 05:27:37,118 INFO  ipc.Server (Server.java:logException(2428)) - 
IPC Server handler 32 on 8020, call 
org.apache.hadoop.hdfs.protocol.ClientProtocol.addBlock from 172.27.9.200:45817 
Call#2119 Retry#0: 
org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException: No lease on 
/hdp/apps/2.6.3.0-61/mapreduce/hadoop-streaming.jar (inode 16566): File does 
not exist. Holder DFSClient_NONMAPREDUCE_1130121686_152 does not have any open 
files.
    2017-07-18 05:27:37,152 INFO  hdfs.StateChange 
(FSNamesystem.java:logAllocatedBlock(3831)) - BLOCK* allocate 
blk_1073741851_1027, replicas=172.27.9.200:1019, 172.27.12.200:1019, 
172.27.24.212:1019 for /hdp/apps/2.6.3.0-61/mapreduce/hadoop-streaming.jar
    2017-07-18 05:27:37,227 INFO  hdfs.StateChange 
(FSNamesystem.java:completeFile(3724)) - DIR* completeFile: 
/hdp/apps/2.6.3.0-61/mapreduce/hadoop-streaming.jar is closed by 
DFSClient_NONMAPREDUCE_-1879489015_153
    2017-07-18 05:27:39,523 INFO  BlockStateChange 
(BlockManager.java:computeReplicationWorkForBlocks(1648)) - BLOCK* 
neededReplications = 0, pendingReplications = 0.
    

This is not specific to hadoop-streaming.jar file creation, In other cluster
failure occurs at creating /hdp/apps/2.6.3.0-61/pig/pig.tar.gz file...

    
    
    
    2017-07-18 05:31:50,608 INFO  BlockStateChange 
(BlockManager.java:computeReplicationWorkForBlocks(1648)) - BLOCK* 
neededReplications = 0, pendingReplications = 0.
    2017-07-18 05:31:50,685 INFO  
delegation.AbstractDelegationTokenSecretManager 
(AbstractDelegationTokenSecretManager.java:createPassword(385)) - Creating 
password for identifier: HDFS_DELEGATION_TOKEN token 5 for hdfs, currentKey: 2
    2017-07-18 05:31:50,690 INFO  hdfs.StateChange 
(FSNamesystem.java:logAllocatedBlock(3831)) - BLOCK* allocate 
blk_1073741848_1024, replicas=172.27.18.201:1019, 172.27.19.4:1019, 
172.27.52.76:1019 for /hdp/apps/2.6.3.0-61/pig/pig.tar.gz
    2017-07-18 05:31:51,228 INFO  hdfs.StateChange 
(FSNamesystem.java:logAllocatedBlock(3831)) - BLOCK* allocate 
blk_1073741849_1025, replicas=172.27.19.4:1019, 172.27.17.134:1019, 
172.27.52.76:1019 for /hdp/apps/2.6.3.0-61/pig/pig.tar.gz
    2017-07-18 05:31:51,298 INFO  ipc.Server (Server.java:logException(2428)) - 
IPC Server handler 23 on 8020, call 
org.apache.hadoop.hdfs.protocol.ClientProtocol.addBlock from 
172.27.18.201:36652 Call#1959 Retry#0: 
org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException: No lease on 
/hdp/apps/2.6.3.0-61/pig/pig.tar.gz (inode 16561): File does not exist. Holder 
DFSClient_NONMAPREDUCE_1849462310_141 does not have any open files.
    2017-07-18 05:31:51,800 INFO  hdfs.StateChange 
(FSNamesystem.java:logAllocatedBlock(3831)) - BLOCK* allocate 
blk_1073741850_1026, replicas=172.27.19.4:1019, 172.27.52.76:1019, 
172.27.18.201:1019 for /hdp/apps/2.6.3.0-61/pig/pig.tar.gz
    2017-07-18 05:31:51,823 INFO  hdfs.StateChange 
(FSNamesystem.java:completeFile(3724)) - DIR* completeFile: 
/hdp/apps/2.6.3.0-61/pig/pig.tar.gz is closed by 
DFSClient_NONMAPREDUCE_307451118_147


Diffs
-----

  
ambari-common/src/main/python/resource_management/libraries/providers/hdfs_resource.py
 efca23d 


Diff: https://reviews.apache.org/r/61023/diff/1/


Testing
-------

mvn clean test


Thanks,

Andrew Onischuk

Reply via email to