1)core-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>fs.default.name</name> <value>hdfs://Master:9000</value> </property> <property>
<name>Hadoop.tmp.dir</name> <value>/home/hadoop/HadoopData/tmp</value> </property> </configuration>
hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,很多路径都依赖它,并且NameNode的元数据备份等信息也会放在此这个目录下,如果不配置,其默认路径是/tmp,而/tmp是系统的临时目录,系统重启时往往会被清空,所以需要自定义一个持久化的数据目录。如果hdfs-site.xml中不配置namenode和datanode的存放位置,默认就放在这个路径中。
fs.default.name参数意义就是Namenode的地址和RPC端口。
2)hdfs-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
dfs.replication表示为了保证数据的可靠性而设置块的复制数量(默认为3)
dfs.name.dir表示存储NameNode元数据的目录(默认值是${hadoop.data.dir}/dfs/name,这个是名称节点上的路径)
dfs.data.dir表示数据块的datanode中存储的目录((默认值是${hadoop.data.dir}/dfs/data,这个是数据节点上的路径)
DataNode节点存储数据块的位置(以Slave2为例):有dfs和mapred目录,其中dfs存储用于MR计算的数据节点块,mapred存放中间计算结果(比如map阶段spill的数据)
3)mapred-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>mapred.job.tracker</name> <value>Master:9001</value> </property> </configuration>
mapred.job.tracker表示RPC地址和端口号。并且,此文件中不能有空白行出现。