我想管理一个只运行Hadoop的3 Centos机器的集群。所以scp
足以让我将配置文件复制到其他2台机器上。
但是,我必须将Hadoop集群设置为10台以上的计算机。使用scp
来同步文件非常沮丧。
我想找到一个可以轻松将文件同步到所有计算机的工具。机器名称在配置文件中定义,例如:
node1
node2
...
node10
感谢。
答案 0 :(得分:1)
将Zookeeper与Hadoop一起使用。
ZooKeeper是一个集中服务,用于维护配置信息,命名,提供分布式同步和提供组服务。
答案 1 :(得分:1)
你有几种选择。一种方法是使用 rsync 等工具。 Hadoop控制脚本可以使用rsync将配置文件分发到群集的所有节点。或者,如果您需要更复杂的方法来实现这一目标,则可以使用Cloudera Manager或Ambari等工具。
答案 2 :(得分:1)
如果您不想使用Zookeeper,可以在$HADOOP_HOME/bin/hadoop
中修改您的hadoop脚本并添加如下内容:
if [ "$COMMAND" == "deployConf" ]; then
for HOST in `cat $HADOOP_HOME/conf/slaves`
do
scp $HADOOP_HOME/conf/mapred-site.xml $HOST:$HADOOP_HOME/conf
scp $HADOOP_HOME/conf/core-site.xml $HOST:$HADOOP_HOME/conf
scp $HADOOP_HOME/conf/hdfs-site.xml $HOST:$HADOOP_HOME/conf
done
exit 0
fi
这就是我现在正在使用它并完成工作。
答案 3 :(得分:0)
如果您使用InfoSphere BigInsights,则会出现脚本syncconf.sh