2016-07-05 5 views
0

masterノード(名前ノードのみを実行)と2つのスレーブ、つまりslave1slave2(データノードを実行する)で構成されるクラスタがあります。ここでは、新しいハードドライブをslave1に追加し、それを使用してデータノードの容量を増やしたいと考えています。私はインターネット上の別のチュートリアルやハウツオトに従っていましたが、一般的にどのようにそれにするのかを理解しました。私の考えは、hdfs-site.xmlに追加された新しいパーティション/ハードドライブへのパスがslave2で見つからないため、そのパーティション/ハードドライブをslave1に追加するだけで問題が発生するということです。新しいハードドライブまたはディスクパーティションをHDFSの1つのデータノードに追加

これは(新しいディスクがsdbである)私はslave1に何をすべきかです:

  1. 私はパーティションを作成するfdisk /dev/sdbを実行します。プロセスは問題なく終了し、/dev/sdb1を作成します。
  2. I sdb1mkfs.ext4 /dev/sdb1でフォーマットします。
  3. は、私は私が再帰的に自分のユーザーに権限を与えることを​​の所有者を変更my/user/hdfs/datanode
  4. /disk1内のデータノードのディレクトリを作成mount /dev/sdb1 /disk1
  5. /disk1sdb1をマウント
  6. 私はhadoop-daemon.sh stop datanode
  7. Iとデータノードを停止hdfs-site.xmldfs.datanode.data.dirフィールドに/disk1/my/user/hdfs/datanodeを追加し、すでに存在する他のパスとカンマを使用して区切ります。私はすべてのマシンでこれを行います。今

私はマスターからHDFSを停止し、再起動した場合、何が起こることは、それがパス/disk1/my/user/hdfs/datanodeを見つけることができないので、slave2上のデータノードが起動しないということです。私の推測はそうです:クラスタ内の1つのデータノードにのみ新しいパーティション/ハードドライブを追加することは可能ですか?私は何をしなければなりませんか?強制的に各マシンに同じフォルダを作成しますか?

+0

は、2つの別々のハードウェアで動作するスレーブですか? – iamauser

答えて

1

2つの別々のハードウェアで動作する2つのスレーブがある場合は、これらのスレーブごとに別々のhdfs-site.xmlを作成できます。 slave1にはdatanode.data.dirに追加のディスクが、slave2には追加のディスクがありません。

関連する問題