1、硬件环境准备——云主机(三台)
分别为(配置均为1核2GB 40GB高速云盘):
阿里云:IP:47.107.xx.xxx
华为云:ip:114.116.xx.xxx
腾讯云:ip:134.175.xxx.xx
三台主机均为centos7.3-x64系统,由于制作测试用,默认已经关闭系统防火墙。
三台主机之间通过公网IP访问,之间分别设置了ssh免密登录
三台主机修改hostname 分别任 master slave1 slave2 顺序与以上对应
修改hosts 添加 master slave1 slave2对应的IP绑定
(注意点:由于公网ip是云服务器厂商映射出来的 所以在服务器的网卡里面查不到这个地址,正确的做法是在hosts里面做映射的时候 自己服务器的ip设置网卡中的IP地址,其他机器设为公网IP地址,否则自己服务器监听端口的时候 无法对应到具体的端口)
- 软件环境
Hadoop2.8.4软件包----->安装目录统一为/usr/share/opt/bigdata/hadoop
基于yarn资源模型的配置
三台机器节点规划
| master | Slave1 | Slave2 |
HDFS | Namenode DataNode | secondaryManager DataNode | DataNode |
YARN | Nodemanager | Nodemanager | RecourceManager Nodemanager
|
Histrory | HistroryServer |
|
|
配置文件如下:hadoop.env.sh yarn.env.sh mapred.env.sh
分别配置JAVA_HOME路径
Hadoop-site.xml------>hadoop核心配置文件
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/share/opt/bigdata/hadoop/hadoop-2.8.4/tmp/data</value>
</property>
</configuration>
HDFS端口为9000
Hdfs-site.xml
<!-- secondarynamenode主机名 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave1:50090</value>
</property>
<!-- namenode的web访问主机名:端口号 -->
<property>
<name>dfs.namenode.http-address</name>
<value>master:50070</value>
</property>
<!-- 关闭权限检查用户或用户组 -->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
</configuration>
Mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>slave2</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>
</configuration>
以上为最基本配置文件
- 关于端口开放
关于集群各个端口详情 参考这个https://www.cnblogs.com/liying123/p/7097806.html
4、启动集群/hadoop2.8.4/sbin/start-all.sh
(注意一点 测试过程中出现一些小问题使用以上脚本启动集群后RecourceManager可能无法启动,可以先用stop-yarn.sh关闭yarn集群然后到,部署RecourceManager的主机上面执行start-yarn.sh,此时使用jps查看集群状态为正常状态)
使用自带wordcount测试集群
后续。。。。。。。。。。。。。。