一、core-site.xml与core-default.xml
core-default.xml与core-site.xml的功能是一样的,如果在core-site.xml里没有配置的属性,则会自动会获取core-default.xml里的相同属性的值
<configuration><property><!-- 这个属性用来指定namenode的hdfs协议的文件系统通信地址,可以指定一个主机+端口,也可以指定为一个namenode服务(这个服务内部可以有多台namenode实现ha的namenode服务) --><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property><property><!-- 这个属性用来执行文件IO缓冲区的大小--><name>io.file.buffer.size</name><value>131072</value></property><property><!-- 指定hadoop临时目录,前面用file:表示是本地目录。也可以直接使用/usr/local/hadoop/tm,我估计不加file:应该也可以。hadoop在运行过程中肯定会有临时文件或缓冲之类的,必然需要一个临时目录来存放,这里就是指定这个的。当然这个目录前面我们已经创建好了。 --><name>hadoop.tmp.dir</name><value>file:/usr/local/apps/hadoop-3.2.1/tmp</value><description>Abase for other temporary directories.</description></property><property><!-- 配置ipc传输大小 --><name>ipc.maximum.data.length</name><value>134217728</value></property></configuration>
具体配置可以参考https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/core-default.xml
二、hdfs-site.xml与hdfs-default.xml
hdfs-default.xml与hdfs-site.xml的功能是一样的,如果在hdfs-site.xml里没有配置的属性,则会自动会获取hdfs-default.xml里的相同属性的值
<configuration><property><!-- secondary namenode的http通讯地址,有何用呢?为何不用hdfs协议了?我还不太清楚--><name>dfs.namenode.secondary.http-address</name><value>localhost:50070</value></property><property><!-- namenode数据的存放地点。也就是namenode元数据存放的地方,记录了hdfs系统中文件的元数据--><name>dfs.namenode.name.dir</name><value>file:/usr/local/apps/hadoop-3.2.1/dfs/name</value></property><property><!-- datanode数据的存放地点。也就是block块存放的目录了--><name>dfs.datanode.data.dir</name><value>file:/usr/local/apps/hadoop-3.2.1/dfs/data</value></property><property><!-- hdfs的副本数设置。也就是上传一个文件,其分割为block块后,每个block的冗余副本个数--><name>dfs.replication</name><value>3</value></property><property><!-- 开启hdfs的web访问接口。默认端口是50070--><name>dfs.webhdfs.enabled</name><value>true</value></property>
</configuration>
具体配置可以参考https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml