1. 集群简介
HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起。
HDFS集群负责海量数据的存储,集群中的角色主要有:
NameNode、DataNode、SecondaryNameNode
YARN集群负责海量数据运算时的资源调度,集群中的角色主要有:
ResourceManager、NodeManager
那mapreduce是什么呢?它其实是一个分布式运算编程框架,是应用程序开发包,由用户按照编程规范进行程序开发,后打包运行在HDFS集群上,并且受到YARN集群的资源调度管理。
Hadoop部署方式分三种,Standalone mode(独立模式)、Pseudo-Distributed mode(伪分布式模式)、Cluster mode(群集模式),其中前两种都是在单机部署。
独立模式又称为单机模式,仅1个机器运行1个java进程,主要用于调试。
伪分布模式也是在1个机器上运行HDFS的NameNode和DataNode、YARN的 ResourceManger和NodeManager,但分别启动单独的java进程,主要用于调试。
集群模式主要用于生产环境部署。会使用N台主机组成一个Hadoop集群。这种部署模式下,主节点和从节点会分开部署在不同的机器上。
我们以3节点为例进行搭建,角色分配如下:
node-01 NameNode DataNode ResourceManager
node-02 DataNode NodeManager SecondaryNameNode
node-03 DataNode NodeManager
2. 服务器准备
本案例使用VMware Workstation Pro虚拟机创建虚拟服务器来搭建HADOOP集群,所用软件及版本如下:
VMware Workstation Pro 15.0
Centos 7.5 64bit
3. 网络环境准备
采用NAT方式联网。
如果创建的是桌面版的Centos系统,可以在安装完毕后通过图形页面进行编辑。如果是mini版本的,可通过编辑ifcfg-eth*配置文件进行配置。
注意BOOTPROTO、GATEWAY、NETMASK。
4. 服务器系统设置
同步时间
#手动同步集群各机器时间
date -s "2017-03-03 03:03:03"
yum install ntpdate
#网络同步时间
ntpdate cn.pool.ntp.org
设置主机名
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node-1
配置IP、主机名映射
vi /etc/hosts
192.168.33.151 node-1
192.168.33.152 node-2
192.168.33.153 node-3
小技巧:使用SecureCRT同时操作3台虚拟机
勾选Command Window
在控制台右键→Send Commands to→All Sessions
配置ssh免密登陆
#生成ssh免登陆密钥(一般配置从主节点到从节点的免密登录)
ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登陆的目标机器上
ssh-copy-id node-2 ssh-copy-id node-3
注意:
在给其他主机配置免密登录时,一定要给本主机配置免密登录
在未配置免密登录时,如下图所示:(系统会提示你输入密码,即root账户密码)
接下来对node-1配置免密登录,先生成ssh免登陆密钥(参考上文),接下来如下操作:
配置后再次登录,配置成功后如下图所示:
同理,在主机node-1中配置node-2、node-3的免密登录
以上操作就完成了node-1到自己(本身)、node-1到node-2、node-1到node-3的免密登录。
那么有的同学可能会问node-2到node-3或者node-3到node-1需要配置吗?
答案是不需要在进行这样的配置。我们后续的操作主要在node-1这台主机上进行,可见node-1这台主机的地位还是比较高的。
配置防火墙
可以选择关闭防火墙
5. JDK环境安装
可以参考我之前的jdk安装教程
至此,前期工作准备完成,接下来就是hadoop的安装了。