hortonworkswebhdfs我试图列出所有文件夹,它将在hortonworks控制台上使用curl命令工作,但不是在c中#

vcudknz3  于 2021-05-31  发布在  Hadoop
关注(0)|答案(1)|浏览(226)

我尝试在c#中使用webhdfs列出文件夹的名称。url在沙盒中使用curl工作正常,但在我的笔记本电脑中不使用c#
错误消息-socketexception:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应
代码:

static void Main(string[] args)
{
    Uri myUri = new Uri("http://hostname:50070/webhdfs/v1/user/hive/warehouse");
    string userName = "myuser";

    WebHDFSClient hdfsClient = new WebHDFSClient(myUri, userName);
    string strDirectoryPath= "/user/hive/warehouse";
    ArrayList l = new ArrayList();
    l.Add(hdfsClient.GetDirectoryStatus(
      strDirectoryPath).Result.Directories);
}
gkl3eglg

gkl3eglg1#

几个问题:
你的uri是“http://hostname:50070/webhdfs/v1/user/hive/warehouse”,并且您的strdirectorypath=“/user/hive/warehouse”-因此您的复制路径http://hostname:50070/webhdfs/v1/user/hive/warehouse/user/hive/warehouse“不存在
您的用户“myuser”可能没有访问/user/hive/warehouse的权限-请通过“hdfs dfs-ls/user/hive/warehouse”检查其权限
(只是检查)uri中的“hostname”只是为了回答问题,而不是在实际代码中,对吗?您需要沙盒的主机名/ip

相关问题