Our Community is getting an upgrade! To get everything ready for the relaunch, we’ll be placing the site in read-only mode starting September 21st.
We really appreciate your understanding while we get things set up behind the scenes. Catch up on all the exciting details about the move here.
Need help or have questions? Drop us a line at [email protected]
Created 04-13-2020 08:36 PM
Hi All ,
I am trying to make a directory as a snapshot directory using curl API ,when i run the curl for Allowsnapshot it throws below error
Any help is Appreciated..
Thanks in Advance ..!!
curl -i -X PUT "http://internal:50070/webhdfs/v1/dummy/?op=DISALLOWSNAPSHOT"
HTTP/1.1 400 Bad Request
Cache-Control: no-cache
Expires: Tue, 14 Apr 2020 03:26:30 GMT
Date: Tue, 14 Apr 2020 03:26:30 GMT
Pragma: no-cache
Expires: Tue, 14 Apr 2020 03:26:30 GMT
Date: Tue, 14 Apr 2020 03:26:30 GMT
Pragma: no-cache
Content-Type: application/json
X-FRAME-OPTIONS: SAMEORIGIN
Transfer-Encoding: chunked
Server: Jetty(6.1.26.hwx)
{"RemoteException":{"exception":"IllegalArgumentException","javaClassName":"java.lang.IllegalArgumentException","message":"Invalid value for webhdfs parameter \"op\": No enum constant org.apache.hadoop.hdfs.web.resources.PutOpParam.Op.DISALLOWSNAPSHOT"}}[
Created on 04-13-2020 08:53 PM - edited 04-13-2020 09:01 PM
@sarm
What is your HDFS version? Is it Hadoop 2.8.0, 3.0.0-alpha1 or higher?
# hadoop version
Quick check on what the JAR contains?
# javap -cp /usr/hdp/3.1.0.0-78/hadoop/client/hadoop-hdfs-client.jar org.apache.hadoop.hdfs.web.resources.PutOpParam.Op | grep -i ALLOW
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op ALLOWSNAPSHOT;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op DISALLOWSNAPSHOT;
For example i am able to use the same WebHDFS API call without any issue as following:
# curl -i -X PUT "http://kerlatest1.example.com:50070/webhdfs/v1/tmp/aaaa_bbbb?op=DISALLOWSNAPSHOT&user.name=hdfs"
HTTP/1.1 200 OK
Date: Tue, 14 Apr 2020 03:45:24 GMT
Cache-Control: no-cache
Expires: Tue, 14 Apr 2020 03:45:24 GMT
Date: Tue, 14 Apr 2020 03:45:24 GMT
Pragma: no-cache
X-FRAME-OPTIONS: SAMEORIGIN
Set-Cookie: hadoop.auth="u=hdfs&p=hdfs&t=simple&e=1586871924286&s=xxxxxxxx/yyyyyyyyy="; Path=/; HttpOnly
Content-Type: application/octet-stream
Content-Length: 0
Please refer to the following JIRA to verify if you are using the correct version (like
2.8.0, 3.0.0-alpha1 or higher) of HDFS where this option is available?
Reference:
https://issues.apache.org/jira/browse/HDFS-9057
https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+2.8.0+Release (look for HDFS-9057)
Created on 04-13-2020 08:53 PM - edited 04-13-2020 09:01 PM
@sarm
What is your HDFS version? Is it Hadoop 2.8.0, 3.0.0-alpha1 or higher?
# hadoop version
Quick check on what the JAR contains?
# javap -cp /usr/hdp/3.1.0.0-78/hadoop/client/hadoop-hdfs-client.jar org.apache.hadoop.hdfs.web.resources.PutOpParam.Op | grep -i ALLOW
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op ALLOWSNAPSHOT;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op DISALLOWSNAPSHOT;
For example i am able to use the same WebHDFS API call without any issue as following:
# curl -i -X PUT "http://kerlatest1.example.com:50070/webhdfs/v1/tmp/aaaa_bbbb?op=DISALLOWSNAPSHOT&user.name=hdfs"
HTTP/1.1 200 OK
Date: Tue, 14 Apr 2020 03:45:24 GMT
Cache-Control: no-cache
Expires: Tue, 14 Apr 2020 03:45:24 GMT
Date: Tue, 14 Apr 2020 03:45:24 GMT
Pragma: no-cache
X-FRAME-OPTIONS: SAMEORIGIN
Set-Cookie: hadoop.auth="u=hdfs&p=hdfs&t=simple&e=1586871924286&s=xxxxxxxx/yyyyyyyyy="; Path=/; HttpOnly
Content-Type: application/octet-stream
Content-Length: 0
Please refer to the following JIRA to verify if you are using the correct version (like
2.8.0, 3.0.0-alpha1 or higher) of HDFS where this option is available?
Reference:
https://issues.apache.org/jira/browse/HDFS-9057
https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+2.8.0+Release (look for HDFS-9057)
Created 04-13-2020 09:50 PM
Hi @jsensharma ,
Thanks for your comments .!!
I believe i am using lower version of hadoop that is why the reason i am facing the issue
Hadoop 2.7.3.2.6.5.0-292
Subversion [email protected]:hortonworks/hadoop.git -r 3091053c59a62c82d82c9f778c48bde5ef0a89a1
Compiled by jenkins on 2018-05-11T07:53Z
Compiled with protoc 2.5.0
From source with checksum abed71da5bc89062f6f6711179f2058
This command was run using /usr/hdp/2.6.5.0-292/hadoop/hadoop-common-2.7.3.2.6.5.0-292.jar
#javap -cp /usr/hdp/2.6.5.0-292/hadoop-hdfs//hadoop-hdfs-2.7.3.2.6.5.0-292.jar org.apache.hadoop.hdfs.web.resources.PutOpParam.Op
Compiled from "PutOpParam.java"
public final class org.apache.hadoop.hdfs.web.resources.PutOpParam$Op extends java.lang.Enum<org.apache.hadoop.hdfs.web.resources.PutOpParam$Op> implements org.apache.hadoop.hdfs.web.resources.HttpOpParam$Op {
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op CREATE;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op MKDIRS;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op CREATESYMLINK;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op RENAME;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op SETREPLICATION;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op SETOWNER;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op SETPERMISSION;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op SETTIMES;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op RENEWDELEGATIONTOKEN;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op CANCELDELEGATIONTOKEN;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op MODIFYACLENTRIES;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op REMOVEACLENTRIES;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op REMOVEDEFAULTACL;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op REMOVEACL;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op SETACL;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op SETXATTR;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op REMOVEXATTR;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op CREATESNAPSHOT;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op RENAMESNAPSHOT;
public static final org.apache.hadoop.hdfs.web.resources.PutOpParam$Op NULL;
final boolean doOutputAndRedirect;
final int expectedHttpResponseCode;
final boolean requireAuth;
public static org.apache.hadoop.hdfs.web.resources.PutOpParam$Op[] values();
public static org.apache.hadoop.hdfs.web.resources.PutOpParam$Op valueOf(java.lang.String);
public org.apache.hadoop.hdfs.web.resources.HttpOpParam$Type getType();
public boolean getRequireAuth();
public boolean getDoOutput();
public boolean getRedirect();
public int getExpectedHttpResponseCode();
public java.lang.String toQueryString();
static {};
}