ssh配置成功。
2 安装Hadoop2.3
将对应的hadoop2.3的tar包解压缩到本地之后,主要就是修改配置文件,文件的路径都在etc/hadoop中,下面列出几个主要的。
(1)core-site.xml
1 <configuration>
2 <property>
3 <name>hadoop.tmp.dir</name>
4 <value>file:/home/sdc/tmp/hadoop-${user.name}</value>
5 </property>
6 <property>
7 <name>fs.default.name</name>
8 <value>hdfs://192.168.1.106:9000</value>
9 </property>
10 </configuration>
(2)hdfs-site.xml
1 <configuration>
2 <property>
3 <name>dfs.replication</name>
4 <value>3</value>
5 </property>
6 <property>
7 <name>dfs.namenode.secondary.http-address</name>
8 <value>192.168.1.107:9001</value>
9 </property>
10 <property>
11 <name>dfs.namenode.name.dir</name>
12 <value>file:/home/sdc/dfs/name</value>
13 </property>
14 <property>
15 <name>dfs.datanode.data.dir</name>
16 <value>file:/home/sdc/dfs/data</value>
17 </property>
18 <property>
19 <name>dfs.replication</name>
20 <value>3</value>
21 </property>
22 <property>
23 <name>dfs.webhdfs.enabled</name>
24 <value>true</value>
25 </property>
26 </configuration>
(3)hadoop-env.sh
主要是将其中的JAVA_HOME赋值:
export JAVA_HOME=/usr/local/jdk1.6.0_27
(4)mapred-site.xml
1 <configuration>
2 <property>
3 <!-- 使用yarn作为资源分配和任务管理框架 -->
4 <name>mapreduce.framework.name</name>
5 <value>yarn</value>
6 </property>
7 <property>
8 <!-- JobHistory Server地址 -->
9 <name>mapreduce.jobhistory.address</name>
10 <value>centos1:10020</value>
11 </property>
12 <property>
13 <!-- JobHistory WEB地址 -->
14 <name>mapreduce.jobhistory.webapp.address</name>
15 <value>centos1:19888</value>
16 </property>
17 <property>
18 <!-- 排序文件的时候一次同时最多可并行的个数 -->
19 <name>mapreduce.task.io.sort.factor</name>
20 <value>100</value>
21 </property>
22 <property>
23 <!-- reuduce shuffle阶段并行传输数据的数量 -->
24 <name>mapreduce.reduce.shuffle.parallelcopies</name>
25 <value>50</value>
26 </property>
27 <property>
28 <name>mapred.system.dir</name>
29 <value>file:/home/sdc/Data/mr/system</value>
30 </property>
31 <property>
32 <name>mapred.local.dir</name>
33 <value>file:/home/sdc/Data/mr/local</value>
34 </property>
35 <property>
36 <!-- 每个Map Task需要向RM申请的内存量 -->
37 <name>mapreduce.map.memory.mb</name>
38 <value>1536</value>
39 </property>
40 <property>
41 <!-- 每个Map阶段申请的Container的JVM参数 -->
42 <name>mapreduce.map.java.opts</name>
43 <value>-Xmx1024M</value>
44 </property>
45 <property>
46 <!-- 每个Reduce Task需要向RM申请的内存量 -->
47 <name>mapreduce.reduce.memory.mb</name>
48 <value>2048</value>
49 </property>
50 <property>
51 <!-- 每个Reduce阶段申请的Container的JVM参数 -->
52 <name>mapreduce.reduce.java.opts</name>
53 <value>-Xmx1536M</value>
54 </property>
55 <property>
56 <!-- 排序内存使用限制 -->
57 <name>mapreduce.task.io.sort.mb</name>
58 <value>512</value>
59 </property>
60 </configuration>
注意上面的几个内存大小的配置,其中Container的大小一般都要小于所能申请的最大值,否则所运行的Mapreduce任务可能无法运行。
(5)yarn-site.xml
1 <configuration>
2 <property>
3 <name>yarn.nodemanager.aux-services</name>
4 <value>mapreduce_shuffle</value>
5 </property>
6 <property>
7 <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
8 <value>org.apache.hadoop.mapred.ShuffleHandler</value>
9 </property>
10 <property>
11 <name>yarn.resourcemanager.address</name>
12 <value>centos1:8080</value>
13 </property>
14 <property>
15 <name>yarn.resourcemanager.scheduler.address</name>
16 <value>centos1:8081</value>
17 </property>
18 <property>
19 <name>yarn.resourcemanager.resource-tracker.address</name>
20 <value>centos1:8082</value>
21 </property>
22 <property>
23 <!-- 每个nodemanager可分配的内存总量 -->
24 <name>yarn.nodemanager.resource.memory-mb</name>
25 <value>2048</value>
26 </property>
27 <property>
28 <name>yarn.nodemanager.remote-app-log-dir</name>
29 <value>${hadoop.tmp.dir}/nodemanager/remote</value>
30 </property>
31 <property>
32 <name>yarn.nodemanager.log-dirs</name>
33 <value>${hadoop.tmp.dir}/nodemanager/logs</value>
34 </property>
35 <property>
36 <name>yarn.resourcemanager.admin.address</name>
37 <value>centos1:8033</value>
38 </property>
39 <property>
40 <name>yarn.resourcemanager.webapp.address</name>
41 <value>centos1:8088</value>
42 </property>
43 </configuration>
此外,配置好对应的HADOOP_HOME环境变量之后,将当前hadoop文件发送到所有的节点,在sbin目录中有start-all.sh脚本,启动可见: