Пока я собираюсь установить и протестировать Ambari, в этой статье я хочу проиллюстрировать, как я настраиваю свою среду разработки с несколькими виртуальными машинами. Ambari, инструмент развертывания и мониторинга для Hadoop cluster, станет предметом еще не написанной статьи. Моя виртуальная среда — VMware, но VirtualBox обладает теми же сетевыми функциями и также должен работать.
Обратите внимание, что с тех пор я написал аналогичную статью, посвященную дополнительным функциям и использованию VirtualBox.
Что действительно важно, так это назначить каждой виртуальной машине фиксированный IP-адрес, который не будет меняться со временем. Я лично работаю на ноутбуке MacBook pro, и мне было очень неприятно перезапускать каждый из компонентов Hadoop, когда я получаю новые IP-адреса при переключении между сетями. Кроме того, в настройках также должен быть предусмотрен интернет-шлюз.
Похоже, Cloudera и Hortonworks понравился корпоративный дистрибутив RedHat и его аналог CentOS с открытым исходным кодом. Я использую CentOS LiveCD версии 6.3. Лично я больше знаком с Debian, но давайте попробуем. Я рекомендую создать 3 виртуальные машины, этого должно быть достаточно для имитации мини-кластера Hadoop.
После установки вашей системы CentOS Интернет будет работать с подключением NAT. Сетевой менеджер Gnome отвечает за управление этим сетевым интерфейсом. Нет никаких следов файла /etc/sysconfig/network-scripts/ifcfg-eth0, но при запуске ifconfig он будет отображаться как eth0. Позже мы отключим сетевой менеджер Gnome и определим eth0 вручную с помощью dhcp.
В конце, в итоге мы получим два сетевых интерфейса: один для внутренней сети и один для доступа в Интернет. Внутренняя сеть создается с использованием сети только для хоста. С помощью сети только для хоста ваши виртуальные машины смогут взаимодействовать как между собой, так и с хост-системой.
Теперь пришло время создать нашу локальную сеть. В окне глобальных настроек VMware, на вкладке “Сеть”, вы сможете создать новую пользовательскую сетевую конфигурацию. Ее имя по умолчанию должно выглядеть как vmnet1. Установите флажок ”Подключить главный компьютер Mac к этой сети“ и снимите флажки ”Разрешить виртуальным машинам в этой сети подключаться к внешней сети“ и ”Предоставлять адреса в этой сети через DHCP». Остальное можно оставить как есть. После создания мои значения равны 172.16.134.0 для IP-адреса подсети и 255.255.255.0 для маски подсети.
Далее, для каждого виртуального компьютер, вам следует выключить его, перейти на панель настроек и создать два новых сетевых адаптера, нажав кнопку “Добавить устройство” и выбрав “Сетевой адаптер”. Как только сетевые адаптеры будут созданы, вы сможете запустить виртуальную машину. У вас должно быть доступно два сетевых адаптера. Установите для первого из них значение “NAT”, а для второго — значение сети только для вашего хоста (например, vmnet1).
Мы создадим два интерфейса. Не забудьте заменить поле IPADDR вашими личными IP-адресами, которые должны находиться в диапазоне, определенном вашей пользовательской сетевой конфигурацией только для хоста.
cat > /etc/sysconfig/сетевые скрипты/ifcfg-eth0 <<ЕСЛИ УСТРОЙСТВО=eth0 BOOTPROTO=dhcp ONBOOT=да, ЕСЛИ cat > /etc/sysconfig/сетевые скрипты/ifcfg-eth1 <<ЕСЛИ УСТРОЙСТВО=eth1 IPADDR=172.16.134.11 МАСКА СЕТИ=255.255.255.0 BOOTPROTO=статическая загрузка=да, ЕСЛИ сервисная сеть перезапустится
Мы, наконец, отключим сетевой менеджер Gnome, который обеспечивает обнаружение и настройку систем для автоматического подключения к сети. Вместо этого активируется сетевая служба.
service NetworkManager останавливает chkconfig NetworkManager выключен, service network запускает chkconfig network on
Если все прошло хорошо, все ваши виртуальные машины должны подключиться к Интернету с помощью eth0 и взаимодействовать со статическим IP с использованием eth1. Запустив ifconfig, вы увидите 2 ваших IP-адреса. Возможно, вам придется перезагрузиться, если перезапуска сети недостаточно.