3台服务器的服务规划:node
nameNodeweb |
dataNodeapache |
resourceManager服务器 |
nodeManagerapp |
jobHistoryServerssh |
secondaryNameNodewebapp |
|
hadoop.node.server01分布式 (192.168.159.130)oop |
Yspa |
Y |
Y |
Y |
||
hadoop.node.server02 (192.168.159.128) |
Y |
Y |
Y |
|||
hadoop.node.server03 (192.168.159.129) |
Y |
Y |
|
Y |
一、下载hadoop包。
本人使用的是成熟版本2.5.0,下载有两种方式:一种是使用CDH的封装的版本,下载地址:http://archive.cloudera.com/cdh5/cdh/5/,一种是apache官网下载,官网的版本最新版本已是2.7.5版本了,要找2.5.0的老版本,必须在https://archive.apache.org/dist/hadoop/common/
二、解压hadoop包,命令是tar -zxvf hadoop.tar.gz
三、对如下文件配置JAVA环境变量值
配置文件地址:${HADOOP_HOME}/etc/hadoop,配置的文件以下:
hadoop-env.sh
mapred-env.sh
yarn-env.sh
以上3个文件都配置:export JAVA_HOME=/opt/modules/jdk1.8
四、修改core-site.xml,增长如下属性配置:
====core-site.xml====
<!--指定第一台作namenode-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop.node.server01:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/hadoop-2.5.0/data</value>
</property>
五、修改配置hdfs-site.xml,增长如下属性配置:
<!-- 分布式副本数设置为3 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- secondarynamenode主机名 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop.node.server03:50090</value>
</property>
<!-- namenode的web访问主机名:端口号 -->
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop.node.server01:50070</value>
</property>
<!-- 关闭权限检查用户或用户组 -->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
六、修改yarn-site.xml,增长如下属性配置:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop.node.server02</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>86400</value>
</property>
七、修改mapred.site.xml
首先将mapred-site.xml.template更名为mapred-site.xml,而后增长如下属性配置:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop.node.server01:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop.node.server01:19888</value>
</property>
在server01中执行如下两条命令分别发往server02和server03服务器中,替换配置文件:
scp /usr/local/hadoop/hadoop-2.5.0/etc/hadoop/* hadoop.node.server02: /usr/local/hadoop/hadoop-2.5.0/etc/hadoop/
scp /usr/local/hadoop/hadoop-2.5.0/etc/hadoop/* hadoop.node.server03: /usr/local/hadoop/hadoop-2.5.0/etc/hadoop/
在namenode所在server01服务器,以及resourceManager所在的server02服务器,分别向其它服务器配置无密码ssh登陆,
1)、在server01执行如下命令:
ssh-keygen -t rsa
ssh-copy-id hadoop.node.server02
ssh-copy-id hadoop.node.server03
2)、在server02执行如下命令:
ssh-keygen -t rsa
ssh-copy-id hadoop.node.server01
ssh-copy-id hadoop.node.server03
/usr/local/hadoop/hadoop-2.5.0/bin/hdfs namenode -format
在server01服务器中,执行命令: /usr/local/hadoop/hadoop-2.5.0/sbin/start-dfs.sh
在server02服务器中,执行命令:/usr/local/hadoop/hadoop-2.5.0/sbin/start-yarn.sh
在server01服务器,执行命令:/usr/local/hadoop/hadoop-2.5.0/sbin/mr-jobhistory-daemon.sh start historyserver
至此,一切服务就绪。