Ubuntuでvirtualboxを使用して、3つのデータノードと1つのネームノードでマルチノードhadoopをセットアップしました。私のホスト システムは NameNode (データ ノードでもあります) として機能し、2 つの VM は DataNode として機能します。私のシステムは次のとおりです。
- 192.168.1.5: NameNode (データノードも)
- 192.168.1.10: データノード 2
- 192.168.1.11: データノード 3
各システムからすべてのシステムを SSH 接続できます。私のすべてのシステムの hadoop/etc/hadoop/slaves には、次のエントリがあります。
192.168.1.5
192.168.1.10
192.168.1.11
hadoop/etc/hadoop/master
すべてのシステムで、次のエントリがあります。192.168.1.5
core-site.xml
、yarn-site.xml
、hdfs-site.xml
、 、 、 、 mapred-site.xml
、は、両方の DataNode で inのhadoop-env.sh
エントリがないことを除いて、マシン上で同じです。NameNode から実行すると、すべて正常に動作し、JPS を介して、すべてのマシンで必要なすべてのサービスを確認できます。dfs.namenode.name.dir
hdfs-site.xml
start-yarn.sh
start-dfs.sh
Jps on NameNode:
5840 NameNode
5996 DataNode
7065 Jps
6564 NodeManager
6189 SecondaryNameNode
6354 ResourceManager
Jps on DataNodes:
3070 DataNode
3213 NodeManager
3349 Jps
namenode/dfshealth.html#tab-datanode
ただし、と から確認したい場合 namenode:50070/dfshealth.html#tab-overview
、両方とも 2 つのデータノードのみを示します。
tab-datanode は、NameNode と DataNode2 をアクティブなデータノードとして表示します。DataNode3 はまったく表示されません。
すべての構成ファイル (xml、sh、および slves/master に言及) を複数回チェックして、両方のデータノードに違いがないことを確認しました。
また、etc/hosts
ファイルには、すべてのシステムのすべてのノードのエントリも含まれています。
127.0.0.1 localhost
#127.0.1.1 smishra-VM2
192.168.1.11 DataNode3
192.168.1.10 DataNode2
192.168.1.5 NameNode
言及したいことの 1 つは、最初に 1 つの VM を構成してから、そのクローンを作成したことです。したがって、両方の VM の構成は同じです。そのため、1 つのデータノードが表示され、他のデータノードが表示されない理由がさらにわかりにくくなります。