2016-09-20 1 views
1

私はいくつかのデータノードでhdfsを実行しています。各データノードには8 x 1TBのハードドライバがあります。より大きいハードドライバを持つデータノードに新しいディスクを追加します

各データノードに2 x 2TBのハードドライバを追加します。私はデータノード用の新しいハードドライバーを追加する方法を知っていますが、新しいハードドライバーは古いものよりも混乱していますので、データノード上のハードドライバー間のデータ配信に問題がある可能性があります。

2TBハードドライバーに2つの論理ドライバー(1TB)を作成し、各データノードパスのボリュームが同じになるようにOSにマウントする方が良いと思います。

私はいくつかのアドバイスが必要です。読んでくれてありがとう!

答えて

2

データノードに複数のサイズのディスクが混在している場合は、小さなディスクが最大のものより速くいっぱいになるという一般的な問題があります。これは、データノードのデフォルトのボリューム選択ポリシーがラウンドロビンであるためです。基本的に、データノードは、ディスクのサイズや空き容量について考慮しないで、各ディスクに順番に新しいデータを書き込みます。

AvailableSpaceVolumeChoosingPolicyと呼ばれる混合サイズのディスクを持つdatanodesに使用することが理想的である代替ボリュームを選択するポリシーがあります - 私はあなたが使用しているのHadoopのどのような分布を確認していないが、CDHのドキュメントは、次のとおりです。

https://www.cloudera.com/documentation/enterprise/5-5-x/topics/admin_dn_storage_balancing.html#concept_tws_bbg_2r

このポリシーに変更すると、既定では、新しい書き込みの75%が、使用されていないディスクに移動し、他のディスクに追いつき、ラウンドロビン書き込みに戻ります。

+0

私はCDHを使用しています。あなたの情報は非常に役立ちます。 –

+0

8枚の古いディスクを80%使用した。新しいディスクを追加した後、CDHでバランサーを実行しました。私は、各データノードが古いディスクから新しいディスクにデータをコピーしてバランスを取ると思っていましたが、そうではありませんでした。あなたはこの問題について考えていますか?ありがとうございます! –

+0

バランサは、データノード内のディスク間でデータを移動しません。データノード間でのみデータを移動します。私が知る限り、データノード内のあるディスクから別のディスクにデータを自動的に移動する方法はありません。 80%の容量のディスクを使用している場合、AvailableSpaceに移動すると、正常に動作し、新しいディスクがいっぱいになります。 –

関連する問題