i make webhdfs call retrive file secure node using java.
here doing 1. login using keytab (works fine). getting kerberos ticket 2. when try invoke below code, is, tries delegationtoken making https call , fails 401 https://mynode:50070/webhdfs/v1/?op=getdelegationtoken&user.name=myuser
here code open hdfs file filesystem webfs = filesystem.get(new uri("swebhdfs://" + domain + "myfile"), conf);
bufferedreader br=new bufferedreader(new inputstreamreader(webfs.open(new path("swebhdfs://" + domain + "myfile"))));
my question since have kerberos ticket, how can pass 1 usergropupinformation object?
thanks,
i'm assuming have access keytab file. add following snippet before connect hadoop cluster.
loginuserfromkeytab method load , authenticate keytab specified user. ('logs in' in simple terms)
string user = "user@realm" string keypath = "somekeytab.keytab" usergroupinformation.loginuserfromkeytab(user, keypath) usergroupinformation located in hadoop-common jar.
reference :
Comments
Post a Comment