Запуск кластера hadoop на amazon ec2 с использованием whirr: обработчик действия не найден
Я хочу запустить экземпляр, используя whirr, на экземпляре amazon. Но когда я пытаюсь запустить кластер с помощью стандартизированной команды whirr, его поиск в некотором имени каталога после имени моего кластера hadoop как "myclutster", который не существует. Может кто-то помочь нет этого?
kaustubh @ hdv-Kaustubh: ~ / Downloads $ whirr launch-cluster --config whirrprop.properties Невозможно запустить кластер. Завершение всех узлов. java.lang.IllegalArgumentException: java.lang.NullPointerException: обработчик действия не найден в org.apache.whirr.actions.ScriptBasedClusterAction.safeGetActionHandler(ScriptBasedClusterAction.java:245) в org.apache.whirr.lusc. Script.Script Java:100) в org.apache.whirr.ClusterController.launchCluster(ClusterController.java:106) в org.apache.whirr.cli.command.LaunchClusterCommand.run(LaunchClusterCommand.java:63) в org.apache.whirc..Main.run(Main.java:64) в org.apache.whirr.cli.Main.main(Main.java:97) Причина: java.lang.NullPointerException: обработчик действий не найден на com.google.common.base.Preconditions.checkNotNull(Preconditions.java:204) в org.apache.whirr.HandlerMapFactory$ReturnHandlerByRoleOrPrefix.apply(HandlerMapFactory.java:66) в org.apache.whirr.HandlerMapFactoryBolef.Flayre.Player.Playy.Playy.Play $. на com.google.common.collect.ComputingConcurrentHashMap$ComputingValueReference.compute(ComputingConcurrentHashMap.java:355) по адресу com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:184) по адресу com.google.common.collect.ComputingConcurrentHashMap $ ComputingSegment.avaS3.google.common.collect. (ScriptBasedClusterAction.java:238) ... еще 5 Невозможно загрузить состояние кластера, предполагая, что у него нет работающих узлов. java.io.FileNotFoundException: /home/kaustubh/.whirr/mycluster/instances (нет такого файла или каталога) в java.io.FileInputStream.open(собственный метод) в java.io.FileInputStream.(FileInputStream.java:120) на com.google.common.io.Files$1.getInput(Files.java:100) на com.google.common.io.Files$1.getInput(Files.java:97) на com.google.common.io.CharStreams$2.getInput(CharStreams.java:91) на com.google.common.io.CharStreams$2.getInput(CharStreams.java:88) на com.google.common.io.CharStreams.readLines(CharStreams.java:306) на com.google.common.io.Files.readLines(Files.java:580) в org.apache.whirr.state.FileClusterStateStore.load(FileClusterStateStore.java:54) в org.apache.whirr.state.ClusterStateStore.tryLoadOrEmpty(ClusterStateStore.java:58) в org.apache.whirr.ClusterController.destroyCluster(ClusterController.java:143) в org.apache.whirr.ClusterController.launchCluster(ClusterController.java:118) в org.apache.white..LaunchClusterCommand.run (LaunchClusterCommand.java:63) в орг.apache.whirr.cli.Main.run(Main.java:64) в org.apache.whirr.cli.Main.main(Main.java:97) java.lang.NullPointerException: обработчик действия не найден Использование: whirr launch- кластер [ОПЦИИ] Параметр Описание ------ ----------- --aws-ec2-spot-price Цена экземпляра Spot (опция, специфичная для aws-ec2) --blobstore-cache-container имя контейнера, который будет использоваться для кэширования локальных файлов. Если не указано, Whirr создаст случайный файл и удалит его в конце сеанса. --blobstore-credential Учетные данные хранилища BLOB-объектов --blobstore-identity Идентификатор хранилища BLOB-объектов --blobstore-location-id ID местоположения хранилища BLOB-объектов --blobstore-provider Поставщик хранилища BLOB-объектов. Например, aws-s3, cloudfiles-us, cloudfiles-uk --client-cidrs Список блоков CIDR, разделенных запятыми. Например, 208.128.0.0/11,108.128.0.0/11 --cluster-name Имя кластера для работы. Например, hadoopcluster. --cluster-user Имя пользователя, которого Whirr будет создавать во всех экземплярах кластера. Вы должны использовать этого пользователя для входа в узлы. --config Обратите внимание, что свойства Whirr, указанные в этом файле, должны иметь whirr. префикс. --credential Облачные учетные данные. --firewall-rules Разделенный запятыми список номеров портов. Например, 8080,8181 --firewall-rules-role Разделенный запятыми список номеров портов. Например, 8080,8181. Замените "роль" реальным именем роли --hardware-id Тип оборудования, используемого для экземпляра. Это должно быть совместимо с идентификатором изображения. --hardware-min-ram Минимальный объем памяти экземпляра. Например, 1024 - идентичность. --image-id Идентификатор изображения, которое будет использоваться для экземпляров. Если не указан, то выбирается ванильный образ Linux. --instance-templates Количество экземпляров, запускаемых для каждого набора ролей. Например, 1 hadoop- namenode+hadoop-jobtracker, 10 hadoop-datanode+hadoop-tasktracker --instance-templates-max-процент- процент успешно запущенных экземпляров сбоев для каждого набора ролей. Например 100 hadoop-namenode+hadoop- jobtracker,60 hadoop-datanode+hadoop- tasktracker означает, что все экземпляры с ролями hadoop-namenode и hadoop-jobtracker должны быть успешно запущены, и 60% случаев должны быть успешно запущены, каждый с ролями hadoop-datanode и hadoop- TaskTracker. --instance-templates-minimal-number-of- Минимальное количество успешно запущенных экземпляров экземпляров для каждого набора ролей. Например, 1 hadoop-namenode+hadoop- jobtracker,6 hadoop-datanode+hadoop- tasktracker означает 1 экземпляр с ролями hadoop-namenode и hadoop-jobtracker, который должен быть успешно запущен, и 6 экземпляров должны быть успешно запущены, каждый с ролями hadoop -datanode и hadoop- трекер задач. --location-id Местоположение для запуска экземпляров. Если не указано, будет выбрано произвольное расположение. --login-user Переопределить имя пользователя по умолчанию, используемое для загрузки whirr. Например, Ubuntu или Myuser: Mypass. --max-startup-retries Количество повторных попыток в случае недостаточного количества успешно запущенных экземпляров. Значение по умолчанию - 1. --private-key-file Имя файла закрытого ключа RSA, используемого для подключения к экземплярам. --provider Имя облачного провайдера. Например, aws-ec2, cloudservers-uk --public-key-file Имя файла открытого ключа, используемого для подключения к экземплярам. --run-url-base Базовый URL для формирования URL запуска из. Измените это, чтобы разместить свой собственный набор сценариев запуска. --service-name (необязательно) Имя используемого сервиса. Например, Хэдуп. --state-store Какой тип магазина использовать для состояния (локальный, blob или нет). По умолчанию локальный. --state-store-blob Имя BLOB-объекта для хранилища состояний. Действительно только для хранилища блобов. По умолчанию используется whirr- --state-store-container Контейнер, в котором хранится состояние. Действительно только для хранилища блобов. --terminate-all-on-launch-failed Отключать или нет автоматическое завершение всех узлов при сбое запуска кластера по какой-либо причине. --версия
1 ответ
Не существует такого понятия, как hadoop-jobtracer (обратите внимание на отсутствующий k)
Вот что вам нужно для кластера Hadoop:
whirr.instance-templates=1 hadoop-namenode+hadoop-jobtracker, 1 hadoop-datanode+hadooptasktracker
whirr.hardware-id=m1.small # or larger - t1.micro is not a good choice
Также убедитесь, что вы проверите recipes/hadoop-ec2.properties для большего количества примеров.