3台服务器的服务规划:
nameNode |
dataNode |
resourceManager |
nodeManager |
jobHistoryServer |
secondaryNameNode |
|
hadoop.node.server01 (192.168.159.130) |
Y |
Y |
Y |
Y |
||
hadoop.node.server02 (192.168.159.128) |
Y |
Y |
Y |
|||
hadoop.node.server03 (192.168.159.129) |
Y |
Y |
Y |
一、先在server01配置好所有属性:
1、下载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/
2、解压hadoop包,命令是tar -zxvf hadoop.tar.gz
3、对以下文件配置JAVA环境变量值
配置文件地址:${HADOOP_HOME}/etc/hadoop,配置的文件如下:
hadoop-env.sh
mapred-env.sh
yarn-env.sh
以上3个文件都配置:export JAVA_HOME=/opt/modules/jdk1.8
4、修改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>
5、修改配置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>
6、修改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>
7、修改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
四、在namenode所在的server01服务器中格式化namenode
/usr/local/hadoop/hadoop-2.5.0/bin/hdfs namenode -format
五、启动namenode服务
在server01服务器中,执行命令: /usr/local/hadoop/hadoop-2.5.0/sbin/start-dfs.sh
六、启动YARN服务
在server02服务器中,执行命令:/usr/local/hadoop/hadoop-2.5.0/sbin/start-yarn.sh
七、启动jobhistoryserver
在server01服务器,执行命令:/usr/local/hadoop/hadoop-2.5.0/sbin/mr-jobhistory-daemon.sh start historyserver
至此,一切服务就绪。