1.配置hosts 至少四个节点(机器) 每个节点的hosts文件都要配置这些
10.10.64.226 SY-0217
10.10.64.234 SY-0225
10.10.64.235 SY-0226
10.10.65.78 SY-0355
2.对namenode所在节点,设置ssh免密码登录(网上查资料)(ssh SY-0217),免密码登录到任何一个节点,包括他自己
3.每个节点安装jdk,并且放在相同的目录下
4.创建一个普通用户(非root用户)
5.四个节点下载hadoop压缩包并解压到相同目录
6.修改一个节点上的配置文件(ls etc/hadoop/),然后拷贝到其他节点(scp etc/hadoop/* root@SY-0355:/home/dongxicheng/hadoop/hadoop-2.2.0/etc/hadoop),同理拷贝三份
7.需要修改的配置文件有:
a.(vi etc/hadoop/hadoop-env.sh) 第一行的JAVA_HOME=/user/lib/jvm/java-6-sun,(ls /user/lib/jvm/java-6-sun)若目录不为空,说明该节点装机时自带了jdk
b.(vi etc/hadoop/mapred-site.xml)添加三个配置
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>SY-0355:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>SY-0355:19888</value>
</property>
</configuration>
c.(vi etc/hadoop/core-site.xml)添加配置,配置内容必须是active namenode所在机器节点,端口号可用就行
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://SY-0217:8020</value>
</property>
</configuration>
d.(vi etc/hadoop/yarn-site.xml)很多配置,查看视频11分36秒
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>SY-0217</value>
</property>
<property>
<name>yarn.resourcemaneger.address</name>
<value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
<name>yarn.resourcemaneger.scheduler.address</name>
<value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
<name>yarn.resourcemaneger.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
<name>yarn.resourcemaneger.webapp.https.address</name>
<value>${yarn.resourcemanager.hostname}:8090</value>
</property>
<property>
<name>yarn.resourcemaneger.resource-tracker.address</name>
<value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
<name>yarn.resourcemaneger.admin.address</name>
<value>${yarn.resourcemanager.hostname}:8033</value>
</property>
。。。。
</configuration>
e.(vi etc/hadoop/hdfs-site.xml)很多配置(特别注意四个节点有些地方不一样),查看视频13分17秒
<configuration>
<property>
<name>dfs.nameservices</name>
<value>hadoop-cluster1,hadoop-cluster2</value>
</property>
<property>
<name>dfs.ha.namenodes.hadoop-cluster1</name>
<value>nn1,nn2</value>
</property>
。。。
</configuration>
f.(vi etc/hadoop/slaves)节点列表 SY-0226,SY-0225,SY-0355
8.启动服务
step1:在各个JournalNode节点上,输入一下命令启动journalnode服务(sbin/hadoop-daemon.sh start journalnode)
step2:在[nn1]上,对其进行格式化,并启动(bin/hdfs namenode -format -clusterId hadoop-cluster),(sbin/hadoop -daemon.sh start namenode)
step3:在[nn2]上,同步nn1的元数据信息(bin/hdfs namenode -bootstrapStandby)
step4:启动[nn2](sbin/hadoop-daemon.sh start namenode)
经过以上四步操作,nn1和nn2均处理standby状态
step5:将[nn1]切换为Active(bin/hdfs haadmin -ns hadoop-cluster1 -transitionToActive nn1)
step6:将[nn1]上,启动所有datanode(sbin/hadoop-daemons.sh start datanode)
关闭Hadoop集群,在[nn1]上输入命令(sbin/stop-dfs.sh)
9.在0217机器上启动所有datanode(sbin/hadoop-daemons.sh start datanode)
10.开始使用(bin/hadoop fs -mkdir /home),(bin/hadoop fs -mkdir /home/dongxicheng)
11.启动yarn,可能会启动失败,需要添加个配置文件fairscheduler.xml(sbin/start-yarn.sh)
12.跑个mapreduce程序(bin/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar pi 2 1000)