Hadoop 配置文件 - 谁需要什么?

Hadoop 配置文件 - 谁需要什么?

当我设置 Hadoop 时,一个问题一直浮现在我的脑海中,但我找不到答案。

需要将哪些 Hadoop 配置文件复制到哪些节点。例如,我正在对以下文件进行更改:

hadoop-env.sh、core-site.xml、mapred-site.xml、hdfs-site.xml、主服务器、从服务器

我是否需要将这些文件复制到我的所有 Hadoop 节点(如果我更新一个文件,这会很麻烦)。是否只需要复制某些文件?或者,我是否只需要在主节点上进行更改?

似乎在任何地方都找不到答案,所以我想在这里问。(到目前为止,我已经在每个节点上镜像了所有文件,但这似乎效率低下。我的设置确实有效。)

答案1

就读取哪些文件而言:

  • hadoop-env.sh: 一切
  • core-site.xml: 一切
  • hdfs-site.xml:HDFS(名称节点、辅助名称节点、数据节点)
  • mapred-site.xml:MapReduce(JobTracker、TaskTracker)
  • mastersslaves:我不认为这些是由应用程序直接读取的,而是由管理脚本使用的。

不过,我建议设置一个部署系统,这样你就可以轻松地将所有这些文件分发到所有节点,而不必费力弄清楚需要什么。这可能只是一个ssh使用公钥身份验证调用的脚本,也可能是 Puppet 或 Chef 之类的东西。

相关内容