一、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