Запуск кластера 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 для большего количества примеров.

Другие вопросы по тегам