0

Amazonインスタンスでwhirrを使用してインスタンスを起動したいのですが、標準化された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.actions.ScriptBasedClusterAction.execute(ScriptBasedClusterAction.java:100)で
    org.apache.whirr.ClusterController.launchCluster(ClusterController.java:106)で
    org.apache.whirr.cli.command.LaunchClusterCommand.run(LaunchClusterCommand.java:63)で
    org.apache.whirr.cli.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.HandlerMapFactory $ ReturnHandlerByRoleOrPrefix.apply(HandlerMapFactory.java:45)で
    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.getOrCompute(ComputingConcurrentHashMap.java:153)で
    com.google.common.collect.ComputingConcurrentHashMap.getOrCompute(ComputingConcurrentHashMap.java:69)で
    com.google.common.collect.ComputingConcurrentHashMap $ ComputingMapAdapter.get(ComputingConcurrentHashMap.java:393)で
    org.apache.whirr.actions.ScriptBasedClusterAction.safeGetActionHandler(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.whirr.cli.command.LaunchClusterCommand.run(LaunchClusterCommand.java:63)で
    org.apache.whirr.cli.Main.run(Main.java:64)で
    org.apache.whirr.cli.Main.main(Main.java:97)で
java.lang.NullPointerException:アクションハンドラが見つかりません
使用法:whirrlaunch-cluster[オプション]

オプションの説明                            
------ -----------                            
--aws-ec2-spot-priceスポットインスタンスの価格(aws-ec2固有  
                                          オプション)                              
--blobstore-cache-container使用するコンテナの名前   
                                          ローカルファイルをキャッシュするため。そうでない場合      
                                          指定されたWhirrはランダムに作成されます
                                          1つと最後にそれを削除します  
                                          セッション。                             
--blobstore-credentialブロブストアのクレデンシャル              
--blobstore-identityブロブストアID                
--blobstore-location-idブロブストアの場所ID             
--blobstore-providerブロブストアプロバイダー。例:aws-s3、  
                                          cloudfiles-us、cloudfiles-uk         
--client-cidrsCIDRブロックのコンマ区切りリスト。
                                          例:208.128.0.0/11,108.128.0.0/11   
--cluster-name操作するクラスターの名前。
                                          例:hadoopcluster。                  
--cluster-userWhirrが使用するユーザーの名前   
                                          すべてのクラスターインスタンスで作成します。
                                          ログインするには、このユーザーを使用する必要があります   
                                          ノードに。                            
--config指定されたWhirrプロパティに注意してください   
                                          このファイルのすべてに      
                                          旋風。プレフィックス。                       
--credentialクラウドクレデンシャル。                  
--firewall-rulesポートのコンマ区切りリスト         
                                          数字。例8080,8181              
--firewall-rules-roleポートのコンマ区切りリスト         
                                          数字。例:8080,8181。交換     
                                          実際の役割名を持つ「役割」      
--hardware-idに使用するハードウェアのタイプ    
                                          実例。これは互換性がなければなりません    
                                          画像ID付き。                   
--hardware-min-ramインスタンスメモリの最小量。
                                          例:1024                            
--identityクラウドID。                    
--image-id使用する画像のID         
                                          インスタンス。指定されていない場合は、   
                                          バニラLinuxイメージが選択されています。       
--instance-templates起動するインスタンスの数  
                                          役割の各セット。例1Hadoop-    
                                          namenode + hadoop-jobtracker、10       
                                          hadoop-datanode + hadoop-tasktracker   
--instance-templates-max-percent-正常に開始された割合
  ロールの各セットの障害インスタンス。E。  
                                          g。100 hadoop-namenode + hadoop-       
                                          jobtracker、60 hadoop-datanode + hadoop-
                                          tasktrackerは、
                                          役割hadoop-namenodeおよびhadoop-
                                          jobtrackerは正常に動作する必要があります    
                                          開始し、インスタンスの60%が
                                          それぞれをうまく始める   
                                          役割hadoop-datanodeおよびhadoop-
                                          tasktracker。                         
--instance-templates-minimum-number-of-正常に実行された最小数      
  インスタンスは、の各セットのインスタンスを開始しました    
                                          役割。例1hadoop-namenode+ hadoop-
                                          jobtracker、6 hadoop-datanode + hadoop-
                                          tasktrackerは、1つのインスタンスを意味します    
                                          役割hadoop-namenodeおよびhadoop-
                                          jobtrackerは正常に動作する必要があります    
                                          開始し、6つのインスタンスが必要です   
                                          それぞれを正常に開始しました   
                                          役割hadoop-datanodeおよびhadoop-    
                                          tasktracker。                         
--location-idインスタンスを起動する場所。   
                                          指定されていない場合は任意   
                                          場所が選択されます。             
--login-user使用されるデフォルトのログインユーザーを上書きします   
                                          旋風をブートストラップします。例: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(オプション)サービスの名前  
                                          使用する。たとえば、Hadoop。                    
--state-store状態に使用するストアの種類    
                                          (ローカル、blob、またはなし)。デフォルトは   
                                          ローカル。                               
--state-store-blob状態ストレージのBLOB名。有効     
                                          BLOB状態ストアの場合のみ。       
                                          デフォルトはwhirr-     
--state-store-container状態を格納するコンテナ。有効  
                                          BLOB状態ストアの場合のみ。       
--terminate-all-on-launch-failure自動的にするかどうか        
                                 クラスタ化時にすべてのノードを終了する     
                                          何らかの理由で起動に失敗します。        
- バージョン   
4

1 に答える 1

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

また、その他の例については、recipe/hadoop-ec2.properties を確認してください。

于 2012-03-13T15:10:48.740 に答える