2012-04-23 19 views
2

データ入力が常に変化している一部のバッチジョブを実行しており、プロビジョニング能力に問題があります。私は初期セットアップを行うために渦を使用していますが、例えば5台のマシンを起動すると、実行中に新しいマシンを追加する方法がわかりません。私は事前にデータの複雑さや大きさを知りませんので、新しいマシンをクラスタに追加してすぐに有効にする方法があるのか​​どうか疑問に思っていました。クラスタを停止して新しいノードで起動する必要があります)。ライブhbase/hadoopクラスタに新しいノードを追加するにはどうすればよいですか?

答えて

9

ノードを追加するにはどのように正確な説明があります: http://wiki.apache.org/hadoop/FAQ#I_have_a_new_node_I_want_to_add_to_a_running_Hadoop_cluster.3B_how_do_I_start_services_on_just_one_node.3F

同じ時間で - 私はどこ各タスクを実行することを計画すると、ジョブ開始時刻の間に発生したため、すでに実行中のジョブは、これらのノードの利点を取ることを確認していません(私が理解する限りでは)。
また、これらの一時的なノードでのみタスクトラッカーを実行する方が現実的だと思います。

+1

未開始タスクに追加されましたが、それは既存のタスクを分割しません。さらに、新しいノードのどれもがローカルに格納されるデータを持たないため、処理のためにこれらのノードにデータをプッシュするオーバーヘッドは、すでに存在する場所を処理するコストよりも大きい場合があります。 –

2

以下のパラメータによって参照されるファイルを確認します。

  • dfs.hosts => dfs.include
  • dfs.hosts.exclude
  • mapreduce.jobtracker.hosts.filename => mapred.include
  • あなたはファイルがdfs.includeにホストのリストを追加し、mapred.includeでき

mapreduce.jobtracker.hosts.exclude.filename次に実行する

hadoop mradmin -refreshNodes;

hadoop dfsadmin -refreshNodes;

それだけです。

ところで、「mradminの-refreshNodes」施設が新しいノード上でスケジュールすることができる0.21

ニキル

関連する問題