master
ノード(名前ノードのみを実行)と2つのスレーブ、つまりslave1
とslave2
(データノードを実行する)で構成されるクラスタがあります。ここでは、新しいハードドライブをslave1
に追加し、それを使用してデータノードの容量を増やしたいと考えています。私はインターネット上の別のチュートリアルやハウツオトに従っていましたが、一般的にどのようにそれにするのかを理解しました。私の考えは、hdfs-site.xml
に追加された新しいパーティション/ハードドライブへのパスがslave2
で見つからないため、そのパーティション/ハードドライブをslave1
に追加するだけで問題が発生するということです。新しいハードドライブまたはディスクパーティションをHDFSの1つのデータノードに追加
これは(新しいディスクがsdb
である)私はslave1
に何をすべきかです:
- 私はパーティションを作成する
fdisk /dev/sdb
を実行します。プロセスは問題なく終了し、/dev/sdb1
を作成します。 - I
sdb1
をmkfs.ext4 /dev/sdb1
でフォーマットします。 - は、私は私が再帰的に自分のユーザーに権限を与えることをの所有者を変更
my/user/hdfs/datanode
/disk1
内のデータノードのディレクトリを作成mount /dev/sdb1 /disk1
- で
/disk1
にsdb1
をマウント - 私は
hadoop-daemon.sh stop datanode
- Iとデータノードを停止
hdfs-site.xml
のdfs.datanode.data.dir
フィールドに/disk1/my/user/hdfs/datanode
を追加し、すでに存在する他のパスとカンマを使用して区切ります。私はすべてのマシンでこれを行います。今
私はマスターからHDFSを停止し、再起動した場合、何が起こることは、それがパス/disk1/my/user/hdfs/datanode
を見つけることができないので、slave2
上のデータノードが起動しないということです。私の推測はそうです:クラスタ内の1つのデータノードにのみ新しいパーティション/ハードドライブを追加することは可能ですか?私は何をしなければなりませんか?強制的に各マシンに同じフォルダを作成しますか?
は、2つの別々のハードウェアで動作するスレーブですか? – iamauser