如何用c验证webhdfs#

zc0qhyus  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(371)

我一直在尝试使用webhdfs restapi将c文件上传到hadoop中。此代码工作正常:

using (var client = new System.Net.WebClient())
    {
       string result = client.DownloadString("http:/ /host:50070/webhdfs/v1/user/myuser/?op=LISTSTATUS");
       client.DownloadFile("http:/ /host:50070/webhdfs/v1/user/myuser/tbible.txt?user.name=myuser&op=OPEN","d:\tbible.txt");
    }

此代码得到403禁止:

using (var client = new System.Net.WebClient())
    { 
       client.UploadFile("http:/ /host:50070/webhdfs/v1/user/myuser/?user.name=myuser&op=CREATE", "PUT", "d:\bible.txt");
    }

我尝试添加网络凭据,但没有成功。如何从.net对群集进行身份验证?集群是rhel5上的hortonworks hdp1.3(这篇文章中的额外空格是为了防止http://成为链接)另外,我本想使用microsoft的hadoop sdk,但它是alpha,不会在我的环境中编译:(

xe55xuns

xe55xuns1#

确保您正在写入webhdfs所属组下的目录。默认情况下,这是hdfs。
一个快速的检查方法 hadoop fs -ls 在目录的父目录上获取组权限设置(第二列可能看起来像用户名)。

相关问题