前言
距离唯一一次搭建Hadoop集群,已是六年有余。那时候大数据的学习资料还是我从某宝25买来的,如今大数据已遍地开花。最近想写一些关于大数据的东西,例如Spark、flink等,想放在Yarn上跑,所以就从Hadoop的搭建开始写起。
关于Hadoop
刚接触Hadoop的时候,还是Hadoop1,如今已经是Hadoop3,在搭建的过程中也多了一些配置。本次使用的是Apache Hadoop,在生产中一般用国内大厂的Hadoop,或者CDH、HDP(2019年合并成CDP)版本的Hadoop。
我们生产中有两个Hadoop集群,规模在1200台主机左右,是基于Hadoop3的HDP版本。为什么不选择Apache版本的,我个人认为有几个原因:
1. 安装
HDP有一个后台管理平台,叫Ambari 。首先具有安装导向的作用,在页面安装时直接将所有IP/Hosts填入,然后选择每个节点安装哪些组件。不用像Apache Hadoop一样,手动分发安装包到每个节点安装。
2. 集成
HDP将所有软件都放在了一个包里,例如Kafka、Spark、Flume、Hadoop等,都做了版本的适配,不用自己去各个网站下载了。
3. 运维
Apache Hadoop只有一个HDFS和Yarn的web页面,来查看节点的信息。当某个节点发生故障的时候,只能登录到主机上查看日志,然后手动启停服务。
而Ambari提供了节点服务启停、Hadoop的dashboard、以及节点状态的监控等功能。
既然这么好,为什么这里我不使用HDP?
原因就是:HDP的软件包太大了。我之前用docker搭建过HDP版本的Hadoop,需要下载四个软件包,大概12G左右,而Apache只有几百MB。而且在安装过程中,Ambari会启动很多进程,进行Ambari Server与Agent的通信,就会导致电脑很卡。如果只是测试,那就使用HDP
环境配置
环境配置主要是对节点的配置,包括网络、防火墙等。
1. 安装虚拟机
下载Centos镜像,我选择的版本是7,在VMware中进行虚拟机的安装配置。
2. 配置虚拟机网络
在VMware中,通过虚拟机网络编辑器可以看到NAT网络分配的子网,我这里分配的是192.168.227网段,所以我将这个主机的节点的IP配置为192.168.227.100。
同时在修改网络配置时,要将BOOTPROTO从DHCP修改为static。
vi /etc/sysconfig/network-scripts/ifcfg-ens33
然后重启网络:
systemctl restart network
3. 分配节点IP,设置host
我这里分配了三个节点,一个master主节点,两个slave从节点。我这里的master为192.168.227.100,slave1为192.168.227.101,slave2为192.168.227.102,在/etc/hosts中添加host映射:
192.168.227.100 master