Hortonworks webhdfs Я пытаюсь перечислить все папки, которые будут работать на консоли Hortonworks, используя команду curl, но не в C # - PullRequest
0 голосов
/ 19 января 2019

Я пытаюсь перечислить имя папки, используя webhdfs в C #. 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);
}

1 Ответ

0 голосов
/ 19 января 2019

несколько проблем:

  1. ваш URI равен "http://hostname:50070/webhdfs/v1/user/hive/warehouse",, а ваш strDirectoryPath =" / user / hive / warehouse "- поэтому вы дублируете путь к" http://hostname:50070/webhdfs/v1/user/hive/warehouse/user/hive/warehouse" который не существует
  2. ваш пользователь "myuser" может не иметь прав доступа к / user / hive / warehouse - проверьте его разрешения с помощью "hdfs dfs -ls / user / hive / warehouse"
  3. (просто проверяя) «имя хоста» в URI - только для вопроса, а не в реальном коде, верно?вам понадобится имя хоста / ip песочницы
...