变量fs.defaultFS保存了NameNode的位置,HDFS和MapReduce组件都需要它。这就是它出现在core-site.xml文件中而不是hdfs-site.xml文件中的原因。
修改marpred-site.xml具体修改如下
首先我们需要的是将marpred-site.xml复制一份:
cp etc/hadoop/marpred-site.xml.template etc/hadoop/marpred-site.xml vi etc/hadoop/marpred-site.xml.template此处修改的是marpred-site.xml,不是marpred-site.xml.template。
具体修改如下
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>SparkMaster:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>SparkMaster:19888</value> </property> </configuration> 修改hdfs-site.xml vi etc/hadoop/hdfs-site.xml具体修改如下
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop-2.7.2/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop-2.7.2/hdfs/data</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>SparkMaster:9001</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> </configuration>PS:变量dfs.replication指定了每个HDFS数据块的复制次数,即HDFS存储文件的副本个数.我的实验环境只有一台Master和两台Worker(DataNode),所以修改为2。
配置yarn-site.xml vi etc/hadoop/yarn-site.xml具体配置如下:
<configuration> <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> <name>yarn.resourcemanager.address</name> <value>SparkMaster:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>SparkMaster:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>SparkMaster:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>SparkMaster:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>SparkMaster:8088</value> </property> </configuration> 修改slaves的内容将localhost修改成为SparkWorker1、SparkWorker2