如何在Hadoop集群上指定Datanote服务器

如何在Hadoop集群上指定Datanote服务器,hadoop,configuration,Hadoop,Configuration,我在4台服务器上运行Hadoop集群。我看到所有服务器都有TaskTracker和DataNone 我使用hadoop/bin/start-all.sh启动集群 我有2台服务器,它们的硬件磁盘很少,所以我希望这些服务器只运行TaskTracker 我应该如何配置hadoop?hadoop/bin/start-all.sh实际上只调用hadoop/bin/start-dfs.sh,后跟hadoop/bin/start-mapred.sh,因此这为两组守护进程使用不同设置提供了一种方便的方法。最简单

我在4台服务器上运行Hadoop集群。我看到所有服务器都有TaskTracker和DataNone

我使用hadoop/bin/start-all.sh启动集群

我有2台服务器,它们的硬件磁盘很少,所以我希望这些服务器只运行TaskTracker

我应该如何配置hadoop?

hadoop/bin/start-all.sh实际上只调用hadoop/bin/start-dfs.sh,后跟hadoop/bin/start-mapred.sh,因此这为两组守护进程使用不同设置提供了一种方便的方法。最简单的方法是创建一个单独的文件,可能称为hadoop/conf/datanodes,然后用您想要成为datanodes的两个服务器填充它;大概您还有hadoop/conf/slaves,其中列出了所有4台服务器

echo "my-datanode0" > hadoop/conf/datanodes
echo "my-datanode1" > hadoop/conf/datanodes
然后,分别运行这两个命令,注意第一个赋值语句后没有分号,因为您需要环境变量传播到基础slaves.sh调用中:

HADOOP_SLAVES=hadoop/conf/datanodes ./hadoop/bin/start-dfs.sh
./hadoop/bin/start-mapred.sh
继续检查端口50030以查看JobTracker的TaskTracker列表,然后检查端口50070以查看NameNode的DataNodes列表,您应该可以开始了