在分布式Hadoop集群上,我可以将相同的hdfs-site.xml文件复制到namenodes和datanodes吗?
我见过的一些设置说明(即Cloudera)说在datanodes上的这个文件中有dfs.data.dir属性,而在namenode上有这个文件中的dfs.name.dir属性。意思是我应该有两个hdfs-site.xml副本,一个用于namenode,一个用于datanode。
但如果它完全相同,我宁愿只拥有/维护该文件的一个副本,并在我改变它时随时将其推送到所有节点。 在同一个文件中同时存在dfs.name.dir和dfs.data.dir属性是否有任何损害/风险?如果数据节点看到“dfs.name.dir”的属性,可能会发生什么问题? 如果存在问题,namenode上的hdfs-site.xml文件中应该包含哪些其他属性,而不是datanode?反之亦然。
最后,我需要将哪些属性包含在我复制到客户端计算机的hdfs-site.xml文件中(谁不是任务跟踪器或数据节点,只是与Hadoop集群对话)?
我搜索过,包括O'reilly操作手册,但找不到任何描述配置文件在不同节点之间需要区别的文章。 谢谢!
答案 0 :(得分:0)
namenode是从master文件中获取的,因此基本上FSimage和edit日志只会写在namenode而不是datanode中,即使你复制了相同的hdfs-site.xml。
对于第二个问题..如果不直接在群集上,您不一定能与hdfs通信。如果您想拥有一个远程客户端,您可以尝试使用webhdfs并创建某些Web服务,您可以使用它来编写或访问hdfs中的文件