hadoop各配置文件加载情况

之前依据名字想当然的把fs.default.name配置在hdfs-site.xml里,结果执行ls copy等命令都是本地的方式,后调试也未果,故想了下之前自己的操作,然后看了下代码发现都是配置惹的问题,故在此总结下各配置项的加载情况。

在hadoop 0.20.2版本中存在如下几个配置文件

Java代码     收藏代码
  1. core- default .xml  
  2. core-site.xml  
  3.   
  4. hdfs-default .xml  
  5. hdfs-site.xml  
  6.   
  7. mapred-default .xml  
  8. mapred-site.xml  

 其中default中各个配置项可以参看我之前的blog里有说。下面总结下加载情况

在Configuration类中通过static加载方式加载了

Java代码     收藏代码
  1. core- default .xml  
  2. core-site.xml  

也就是说所有用到Configuration的类都会加载这个配置项。

在以下几个类中会显示加载hdfs-*.xml

Java代码     收藏代码
  1. DataNode  
  2. NameNode  
  3. DFSck  
  4. DistributedFileSystem  

 这几个类加载这些文件是通过Configuration来完成的,也就是说默认会将core-*的xml也加载进来。

以下几个类中会显示加载mapred-*.xml

Java代码     收藏代码
  1. JobClient  
  2. JobConf  
  3. JobTracker  
  4. TaskTracker  

 同样他们的操作也是由Configuration来完成的,也就是说默认会将core-*的xml也加载进来

 

在hadoop命令中有以下类是执行命令的实体类

Java代码     收藏代码
  1. namenode                    CLASS=org.apache.hadoop.hdfs.server.namenode.NameNode  
  2. secondarynamenode    CLASS=org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode  
  3. datanode                     CLASS=org.apache.hadoop.hdfs.server.datanode.DataNode  
  4. fs                                 CLASS=org.apache.hadoop.fs.FsShell  
  5. dfs                               CLASS=org.apache.hadoop.fs.FsShell  
  6. dfsadmin                      CLASS=org.apache.hadoop.hdfs.tools.DFSAdmin  
  7. mradmin                       CLASS=org.apache.hadoop.mapred.tools.MRAdmin  
  8. fsck                              CLASS=org.apache.hadoop.hdfs.tools.DFSck  
  9. balancer                       CLASS=org.apache.hadoop.hdfs.server.balancer.Balancer  
  10. jobtracker                    CLASS=org.apache.hadoop.mapred.JobTracker  
  11. tasktracker                   CLASS=org.apache.hadoop.mapred.TaskTracker  
  12. job                               CLASS=org.apache.hadoop.mapred.JobClient  
  13. queue                           CLASS=org.apache.hadoop.mapred.JobQueueClient  
  14. pipes                            CLASS=org.apache.hadoop.mapred.pipes.Submitter  
  15. version                         CLASS=org.apache.hadoop.util.VersionInfo  
  16. jar                                CLASS=org.apache.hadoop.util.RunJar  
  17. distcp                           CLASS=org.apache.hadoop.tools.DistCp  
  18. daemonlog                   CLASS=org.apache.hadoop.log.LogLevel  
  19. archive                         CLASS=org.apache.hadoop.tools.HadoopArchives  
  20. sampler                        CLASS=org.apache.hadoop.mapred.lib.InputSampler  

 也就是说从这些类中排除上面那些显示指定hdfs,mapred等配置项的类,那么这些剩余的类使用的配置都是从

Java代码     收藏代码
  1. core- default .xml  
  2. core-site.xml  

获得,所以如果你有针对以上类中需要使用的特定配置而不是使用系统默认的配置,那么需要配置在core-site.xml中,例如fs.default.name

更多信息请查看 java进阶网 http://www.javady.com

你可能感兴趣的:(hadoop,Hadoop入门,hadoop教程)