Как перезапустить кластер Hadoop с одним узлом на ec2

Я установил кластер haodoop с одним узлом, используя Hortonworks/Ambari на хосте Amazon ec2.

Поскольку я не хочу, чтобы этот кластер работал круглосуточно и без выходных, я останавливаю экземпляр, когда закончу. Когда я перезагружаю экземпляр позже, я получаю новый IP-адрес, а затем ambari больше не может запускать службы, связанные с Hadoop.

Есть ли другой способ, кроме полного повторного развертывания, для перенастройки кластера, чтобы службы запускались?

Похоже, что IP-адрес находится в различных xml-файлах в каталоге /etc, в таблице базы данных postgres ambari и, возможно, в других местах, которые я еще не нашел.

Я попытался обновить файлы xml и базу данных postgres с обновленными версиями IP-адреса, внутренних и внешних имен DNS, как я мог их найти, но безрезультатно. Я не смог перезапустить службы.

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

Какие-либо предложения?

Спасибо!


person user2242514    schedule 12.02.2015    source источник
comment
Не имея никаких знаний о Hortonworks/Ambari — вы можете связать свой экземпляр с эластичным IP-адресом. Эластичный IP-адрес не меняется и связан с экземпляром, даже когда он не работает. Кроме того, если вам нужен доступ к внутренним сервисам сети AWS, вы можете использовать частный IP-адрес. Тоже не меняется.   -  person TJ-    schedule 12.02.2015


Ответы (2)


Можно использовать эластичный IP. Кроме того, поскольку вы упомянули, что это кластер с одним узлом, вы можете использовать локальный или частный IP-адрес.

Если вы используете эластичный IP-адрес, ваши пользовательские интерфейсы всегда будут находиться на одном и том же общедоступном IP-адресе. Однако, если вы используете частный IP-адрес или локальный хост и не связываете свой экземпляр с эластичным IP-адресом, вам придется искать общедоступный IP-адрес каждый раз, когда вы запускаете экземпляр, а затем подключаетесь к веб-интерфейсу с помощью IP-адреса.

person Harman    schedule 12.02.2015

Спасибо за помощь, и Harman, и TJ правы. Я не использовал эластичный IP-адрес, потому что у меня может быть более одного из них и время, и, по крайней мере, на данный момент я не против поиска общедоступного IP-адреса.

Предложение Хармана использовать «localhost» в качестве полного доменного имени при настройке ambari в первую очередь является действительно хорошей идеей в ретроспективе. Если я не пройду всю настройку снова, для меня это вода под мостом, но я рекомендую это другим, кто может прочитать этот пост.

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

Я добавил следующую строку в /etc/hosts: <new internal IP> <old internal dns name>, а затем сделал ambari-server restart. из командной строки. Затем я могу перезапустить все службы после входа в амбари.

person user2242514    schedule 19.02.2015
comment
Даже лучше, чем мое предыдущее предложение о /etc/hosts, это объединить то, что я сказал, с предложением Хармана о localhost: я добавил следующую строку в /etc/hosts: 127.0.0.1 ‹старое внутреннее имя dns› Кажется, мне это не нужно либо сделать перезагрузку на амбари-сервере. Преимущество этого в том, что мне не нужно редактировать /etc/hosts каждый раз, когда я получаю новый внутренний IP-адрес при запуске нового кластера с одним узлом. - person user2242514; 20.02.2015