Демонстрационные примеры возможностей шлюза

Существует несколько методов развертывания Knox в кластере, отличие которых заключается в разных способах установки и настройки шлюза. Примеры в каталоге {GATEWAY_HOME}/samples демонстрируют возможности шлюза Knox для обеспечения доступа к многочисленным API-интерфейсам из сервисных компонентов кластера Hadoop.

В зависимости от того, как именно выполняется установка Knox, требуется определенное количество шагов для полной установки и настройки примеров использования.

Допущения

Приведенные примеры написаны с целью разработки стандартных демонстрационных сред Hadoop, развернутых в виде кластера с одним узлом внутри виртуальной машины. В связи с этим сделаны следующие допущения:

  • Существует действительный java JDK в пути PATH для выполнения примеров;
  • Сервер Knox Demo LDAP запущен на “localhost” с портом “33389” по умолчанию для сервера ApacheDS LDAP;
  • В используемом каталоге LDAP есть набор демо-пользователей, которым предоставляется условное обозначение имени пользователя “username” и пароль “password”. Так же примеры имеют вариации с “guest” и “guest-password”;
  • Экземпляр Knox Gateway запущен на той же машине, на которой планируется запуск примеров, поэтому используется “localhost” и порт по умолчанию “8443”;
  • В каталоге {GATEWAY_HOME}/conf/topologies имеется корректно созданная топология sandbox.xml, которая настроена так, чтобы указывать на фактический хост и порты запущенных компонентов сервиса.

В подготовленной демонстрационной среде кластера с одним узлом для иллюстрации использования Knox необходимо обеспечить:

  • Корректно настроенную топологию sandbox.xml для развернутых сервисов;
  • Сервер LDAP, запущенный с пользователем guest/guest-password.

Шаги развертывания Knox Gateway в Ambari

Инстансы Knox, находящиеся под управлением Ambari, как правило, не считаются демо-экземплярами. Данные инстансы предназначены для облегчения разработки и тестирования или создания кластеров Hadoop. Однако их можно заставить работать с инстансами Knox под управлением Ambari за несколько шагов:

  1. Необходимо иметь доступ через ssh.
  2. Запустить сервер Knox Demo LDAP (можно запустить его из Ambari).
  3. Файл топологии default.xml скопировать в файл sandbox.xml.
  4. Обязательно использовать фактически существующую Java JRE для запуска примера, на подобии:
/usr/jdk64/jdk1.8.0_67/bin/java -jar bin/shell.jar samples/ExampleWebHdfsLs.groovy

Шаги развертывания ручной установки Knox Gateway

Для установленных вручную инстансов Knox необходимо выполнить идентичные шаги, как для развертывания инстанса через Ambari, за исключением пункта 3:

  1. Необходимо иметь доступ к среде ssh.
  2. Запустить сервер Knox Demo LDAP (можно запустить его из Ambari).
  3. Изменить хосты и порты в {GATEWAY_HOME}/conf/topologies/sandbox.xml для отражения фактического расположения сервиса кластера.
  4. Обязательно использовать фактически существующую Java JRE для запуска примера, на подобии:
/usr/jdk64/jdk1.8.0_67/bin/java -jar bin/shell.jar samples/ExampleWebHdfsLs.groovy