我用它来管理一个只有3台运行hadoop的centos机器的集群。所以呢 scp 足够我把配置文件复制到另外两台机器上。但是,我必须为10台以上的机器设置一个hadoop集群。它真的是沮丧的同步文件这么多次使用 scp .我想找到一个工具,我可以很容易地同步文件到所有的机器。机器名在配置文件中定义,例如:
scp
node1node2...node10
node1
node2
...
node10
谢谢。
wwwo4jvm1#
在hadoop中使用zookeeper。zookeeper是一个集中的服务,用于维护配置信息、命名、提供分布式同步和提供组服务。参考文献:http://wiki.apache.org/hadoop/zookeeper
qltillow2#
如果不想使用zookeeper,可以在中修改hadoop脚本 $HADOOP_HOME/bin/hadoop 再加上:
$HADOOP_HOME/bin/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 0fi
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
这就是我现在所用的,它起作用了。
vawmfj5a3#
你有几种选择。一种方法是使用rsync之类的工具。hadoop控制脚本可以使用rsync将配置文件分发到集群的所有节点。或者,如果您需要更复杂的方法来实现这一点,您可以使用cloudera manager或ambari之类的工具。
yb3bgrhw4#
如果您使用infospherebiginsights,那么就有脚本syncconf.sh
4条答案
按热度按时间wwwo4jvm1#
在hadoop中使用zookeeper。
zookeeper是一个集中的服务,用于维护配置信息、命名、提供分布式同步和提供组服务。
参考文献:http://wiki.apache.org/hadoop/zookeeper
qltillow2#
如果不想使用zookeeper,可以在中修改hadoop脚本
$HADOOP_HOME/bin/hadoop
再加上:这就是我现在所用的,它起作用了。
vawmfj5a3#
你有几种选择。一种方法是使用rsync之类的工具。hadoop控制脚本可以使用rsync将配置文件分发到集群的所有节点。或者,如果您需要更复杂的方法来实现这一点,您可以使用cloudera manager或ambari之类的工具。
yb3bgrhw4#
如果您使用infospherebiginsights,那么就有脚本syncconf.sh