我在4台服务器上运行Hadoop集群。我发现所有服务器都有TaskTracker
和DataNone
我使用hadoop/bin/start-all.sh
我有2台服务器,它们有非常垃圾的硬盘,所以我希望它们只运行TaskTracker
。
我该如何配置hadoop?
答案 0 :(得分:0)
hadoop/bin/start-all.sh
实际上只调用hadoop/bin/start-dfs.sh
后跟hadoop/bin/start-mapred.sh
,因此这提供了一种方便的方法来为两组守护进程使用不同的设置。最简单的方法是创建一个单独的文件,可能称为hadoop / conf / datanodes,然后用你想成为datanode的2个服务器填充它;据推测,你也有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的TaskTrackers列表,然后查看50070以获取NameNode的DataNode列表,您应该很高兴。