2015-03-23 3 views
1

Хорошо, я дам вам контекст в первую очередь.C# Process cmd.exe - 'hadoop' не распознается как внутренняя или внешняя команда, операционная программа или командный файл

  1. У меня есть веб-сайт развернут в IIS 7.
  2. На сервере, я установил окна Mapr Client. Это дает мне доступ к кланам хаопов в системе Windows. (Windows MAPR client installation)
  3. Я пришел в систему и проверил, что клиент hadoop работает исправно.

Так что теперь проблема.

Я использую классы C# Process и ProcessStartInfo для открытия экземпляра cmd.exe, где я получаю файл с сервера hadoop и делаю его доступным в пользовательском интерфейсе. (hasoop fs -get .....). Но по какой-то причине, то ошибка, что я собрал из process.StandardError возвращает ошибку ниже:

«Hadoop» не распознается как внутренней или внешней командой, исполняемой программой или пакетным файлом.

Я проверил, что пользователь, выполняющий процесс cmd, является одним из администраторов сервера.

Замечания: Рабочий каталог командной строки: «C: \ Windows \ SysWOW64 \ inetsrv». Означает ли это его 32-разрядный cmd? Может быть, причина в том, что хаоп не признан? Я думал о том, чтобы воспроизвести проблему. (открытие 32-битной подсказки cmd и ввода hadoop для этого пользователя-администратора. Но команда hadoop успешно работала)

Я не понимаю, почему команда hadoop не распознается для этого пользователя с высокими привилегиями.

UPDATE:

Это, как представляется, подобная проблема. Я попробую и дам вам знать.

Process.Start cmd.exe won't run cmd file that is passed as agument when running in IIS

ОК это не та же самая проблема. Поскольку я могу открыть и запустить пакетный файл. Но cmd не распознает команды, которые я установил.

Итак, вопрос в том, какая версия cmd на самом деле начинается? По версии, я имею в виду CMD, который не имеет ничего установленного в нем?

ответ

0

32 Bit процессы выглядят в

  • C: \ Windows \ syswow64 при запросе C: \ Windows \ System32

  • C: \ Windows \ system32 при запросе C: \ Windows \ Sysnative

и 64 битные процессы выглядят в

  • C: \ Windows \ system32 при запросе C: \ Windows \ system32

  • C: \ Windows \ syswow64 при запросе C: \ Windows \ SysWOW64

  • генерировать ошибку при запросе с : \ windows \ sysnative

+0

Я даже не уверен, что это проблема с 32-разрядной или 64-разрядной версией. – UnitedSince88