Проблемы развертывания Ambari на виртуальных машинах

Я работаю над созданием производственного кластера Hadoop/Spark на нашем предприятии, но сначала провожу тестирование. Просто чтобы получить некоторую семантику:

Рабочая ОС: RHEL 7 ЦП: 8-ядерный Оперативная память: 64 ГБ Количество узлов: 12 Тип: виртуальные машины

Все эти производственные узлы являются виртуальными машинами, и им предоставлено 1 ТБ пространства данных, которое монтируется в /data/. Каждому из системных каталогов также предоставляется собственная файловая система, например, /var/ имеет свою собственную файловую систему, /usr/ и / имеют свою собственную и ограничены по размеру/пространству. Поэтому я работаю над определением того, сколько нужно каждой из этих файловых систем для полной установки стека. Я вернусь к этому позже.

На данный момент я тестирую это на коробке DEV, у меня есть одна коробка, настроенная в качестве узла управления, а другая - в качестве узла развертывания. Моя цель здесь — протестировать полное развертывание на одном узле, чтобы выявить проблемы, которые могут возникнуть перед развертыванием в рабочей среде. Единственная разница между узлами DEV и узлами PROD заключается в том, что узлы DEV — это RHEL 6, каталог данных — /hadoopdata01/, а блоки DEV — 4 ядра и 16 ГБ ОЗУ. Опять же, это только для тестирования, поэтому мне не нужно, чтобы оно действительно функционировало, я просто пытаюсь выполнить установку и развертывание.

Я могу настроить амбари-сервер и отлично работать на узле управления. У меня есть все настройки SSH без пароля между двумя узлами, Java на обеих машинах — OpenJDK 1.8, и репозиторий настроен на обоих устройствах. Я отключил SELINUX и IPTABLES, на всякий случай

Оттуда я регистрирую узел, который отлично работает, и выполняю все шаги, а затем нажимаю кнопку развертывания. Кажется, что он зависает на 4% и через 30 минут (1800 секунд) при установке анализатора активности, и время ожидания истекает со следующим:

stderr: 
Python script has been killed due to timeout after waiting 1800 secs
 stdout:
2017-08-28 17:11:02,665 - Stack Feature Version Info: stack_version=2.6, version=None, current_cluster_version=None -> 2.6
2017-08-28 17:11:02,666 - Using hadoop conf dir: /usr/hdp/current/hadoop-client/conf
User Group mapping (user_group) is missing in the hostLevelParams
2017-08-28 17:11:02,667 - Group['hadoop'] {}
2017-08-28 17:11:02,669 - Group['users'] {}
2017-08-28 17:11:02,669 - User['zookeeper'] {'gid': 'hadoop', 'fetch_nonlocal_groups': True, 'groups': ['hadoop']}
2017-08-28 17:11:02,671 - Adding user User['zookeeper']
2017-08-28 17:11:05,724 - User['ams'] {'gid': 'hadoop', 'fetch_nonlocal_groups': True, 'groups': ['hadoop']}
2017-08-28 17:11:05,726 - Adding user User['ams']
2017-08-28 17:11:05,817 - User['ambari-qa'] {'gid': 'hadoop', 'fetch_nonlocal_groups': True, 'groups': ['users']}
2017-08-28 17:11:05,819 - Adding user User['ambari-qa']
2017-08-28 17:11:05,915 - User['hdfs'] {'gid': 'hadoop', 'fetch_nonlocal_groups': True, 'groups': ['hadoop']}
2017-08-28 17:11:05,916 - Adding user User['hdfs']
2017-08-28 17:11:06,049 - File['/var/lib/ambari-agent/tmp/changeUid.sh'] {'content': StaticFile('changeToSecureUid.sh'), 'mode': 0555}
2017-08-28 17:11:06,051 - Execute['/var/lib/ambari-agent/tmp/changeUid.sh ambari-qa /tmp/hadoop-ambari-qa,/tmp/hsperfdata_ambari-qa,/home/ambari-qa,/tmp/ambari-qa,/tmp/sqoop-ambari-qa'] {'not_if': '(test $(id -u ambari-qa) -gt 1000) || (false)'}
2017-08-28 17:11:06,056 - Skipping Execute['/var/lib/ambari-agent/tmp/changeUid.sh ambari-qa /tmp/hadoop-ambari-qa,/tmp/hsperfdata_ambari-qa,/home/ambari-qa,/tmp/ambari-qa,/tmp/sqoop-ambari-qa'] due to not_if
2017-08-28 17:11:06,057 - Group['hdfs'] {}
2017-08-28 17:11:06,057 - Adding group Group['hdfs']
2017-08-28 17:33:22,647 - User['hdfs'] {'fetch_nonlocal_groups': True, 'groups': ['hadoop', 'hdfs']}

Command failed after 1 tries

Еще одна вещь: я попросил своего специалиста по виртуальной машине просто расширить файловую систему /usr/, но он увидел, что установка происходит в /usr/hdp/, и решил создать мне совершенно новую файловую систему, смонтированную как /usr/hdp/. с 4 ГБ пространства, которое я запросил.... Это то, что вызывает мои проблемы? Амбари хочет создать это пространство и поэтому вызывает у меня проблемы? После ошибки я проверяю каталог /usr/hdp и в нем нет файлов....

Я рыскал в сети, но это для меня ново... Я знаю, что в журналах должна быть некоторая информация, но я не уверен, какой журнал смотреть и следует ли мне смотреть журналы управления сервер или на узле, который я пытаюсь развернуть....

У меня есть несколько вопросов, но в конечном итоге я просто хочу протестировать развертывание базовой установки Spark и Hadoop на одном узле, прежде чем выполнять развертывание в своем производственном кластере. Вот пара вопросов:

  1. Могу ли я даже развернуть кластер с одним узлом таким образом, может быть, это моя проблема....
  2. Какие журналы или где я должен искать дополнительные подсказки .... Я могу опубликовать их, просто не уверен, что нужно.
  3. Опять же, мне просто нужен базовый кластер Hadoop/Spark — есть ли какие-то предварительные требования, которые мне нужно учитывать, которые Ambari не выполняет?

person azdatasci    schedule 29.08.2017    source источник
comment
Итак, я немного поиграл с этим, кажется, зависает при создании пользователей и групп - мои виртуальные машины являются частью предприятия и используют LDAP для аутентификации в AD. Я знаю, что в этом случае мне приходилось вводить такие команды, как groupadd -r в прошлом, так как обычное gorupadd на машине с аутентификацией LDAP требует много времени для выполнения. Может ли это быть моей проблемой? Опять же, кажется, что время истекло на отметке 1800-х годов. Я попытался расширить это до 3600, но это приводит к тому же результату, просто это занимает больше времени. Любые идеи о том, как амбари пытается создать своих пользователей? Может ли это быть проблемой?   -  person azdatasci    schedule 31.08.2017
comment
да, похоже на неправильно настроенный LDAP   -  person Dmitriusan    schedule 31.08.2017


Ответы (1)


Чтобы приблизиться к этому, поскольку мы не используем LDAP/AD в настоящее время, но наша среда Linux использует LDAP, проблема заключалась в том, что Амабри пытался создать локальных пользователей. Прежде чем он смог это сделать, он просмотрел LDAP, чтобы убедиться, что пользователей еще не существует. Эти поиски заняли много времени (5-10 на пользователя), учитывая размер наших лесов LDAP/AD (не знаю, почему это заняло так много времени, но это так). Приблизительно после 2-3 сервисных учетных записей срок действия всего скрипта развертывания на серверной части истекает, поскольку в развертывании с Ambari есть общий таймер.

Мое решение состояло в том, чтобы заранее создать этих пользователей и группы. Затем в Ambari во время создания кластера в дополнительных настройках скажите Amabri игнорировать создание групп/учетных записей пользователей. После этого плавание пошло гладко. Я полагаю, что если бы я использовал интеграцию AD/LDAP, нам все равно пришлось бы создавать их заранее в этой системе. Единственный способ избежать этого - если бы я вообще не использовал LDAP / AD .... В любом случае, я хотел опубликовать это решение, которое сработало для нас, мы готовы и работаем после ручного создания локальных пользователей и групп. .

person azdatasci    schedule 02.11.2017