core-site.xml
其中 fs.defaultFS 配置的地址就是java代码访问的时候的路径,需要配置在java代码中代码中要用IP:9000不能用localhost
<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/hadoop-2.4.1/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<!-- 配置ipc传输大小 -->
<name>ipc.maximum.data.length</name>
<value>134217728</value>
</property>
</configuration>
hdfs-site.xml
dfs.namenode.secondary.http-address 这个地址就是文件系统浏览器访问地址
主namenode有个hdfs协议的访问地址:http://192.168.187.128:50070
secondNamenode有个http协议的访问地址:http://192.168.187.128:50071
<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/hadoop-2.4.1/dfs/name</value>
</property>
<property>
<!-- datanode数据的存放地点。也就是block块存放的目录了-->
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop-2.4.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>
yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<!--yarn总管理器的IPC通讯地址-->
<name>yarn.resourcemanager.address</name>
<value>singlehost:8032</value>
</property>
<property>
<!--yarn总管理器调度程序的IPC通讯地址-->
<name>yarn.resourcemanager.scheduler.address</name>
<value>singlehost:8030</value>
</property>
<property>
<!--yarn总管理器的IPC通讯地址-->
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>singlehost:8031</value>
</property>
<property>
<!--yarn总管理器的IPC管理地址-->
<name>yarn.resourcemanager.admin.address</name>
<value>singlehost:8033</value>
</property>
<property>
<!--yarn总管理器的web http通讯地址-->
<name>yarn.resourcemanager.webapp.address</name>
<value>singlehost:8088</value>
</property>
mapred-site.xml
MapReduce内部的一个通讯地址:singlehost:10020
MapReduce外部web访问的地址:singlehost:19888
<configuration>
<property>
<!---- 指定mr框架为yarn方式,Hadoop二代MP也基于资源管理系统Yarn来运行 -->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<!---- 指定mr框架jobhistory的内部通讯地址。目前还不知道是做什么的 -->
<name>mapreduce.jobhistory.address</name>
<value>singlehost:10020</value>
</property>
<property>
<!---- 指定mr框架web查看的地址 -->
<name>mapreduce.jobhistory.webapp.address</name>
<value>singleshost:19888</value>
</property>
</configuration>