一份超详细的高可用分布式Hadoop集群搭建教程

本文详述了如何搭建一个包含两个master节点和三个worker节点的完全分布式Hadoop集群,涉及部署前准备、ZooKeeper集群配置以及Hadoop(Hdfs,Yarn)的配置。关键步骤包括配置IP与主机名映射、JDK安装、DataNode管理、时间同步以及关闭swap分区。通过配置各组件的参数,最终成功启动Hadoop集群。
摘要由CSDN通过智能技术生成

Hadoop的搭建有三种方式,单机版适合开发调试;伪分布式版,适合模拟集群学习;完全分布式,生产使用的模式。这篇文件介绍如何搭建完全分布式的hadoop集群,两个master节点,三个worker节点为例来讲解。

部署前准备

  • 节点详情:
IP HostName 角色分配
10.250.76.175 master-01 QuorumPeerMain,DFSZKFailoverController,JobHistoryServer,NameNode1,Journalnode,ResourceManager1
10.250.76.176 master-02 QuorumPeerMain,DFSZKFailoverController,JobHistoryServer,NameNode2,Journalnode,ResourceManager2
10.250.76.179 hadoop-0001 QuorumPeerMain,DFSZKFailoverController,Journalnode,DataNode,NodeManager
10.250.76.178 hadoop-0002 DataNode,NodeManager
10.250.76.177 hadoop-0003 DataNode,NodeManager
  • 简单介绍下各个进程进程及其作用
进程 作用
NameNode 是hdfs的主服务器,管理文件系统的目录树以及对集群中存储文件的访问,保存有metadate信息,不断读取记录集群中dataNode主机状况和工作状态,可以理解为hdfs的大脑
SecondaryNameNode NameNode的备用节点,负责周期性的合并fsimage以及edit logs,减少NameNode的工作量,主namenode节点异常后,备用节点会顶上
DataNode 负责管理各个存储节点,每个存储数据的节点都有一个datanode守护进程,hdfs的工作节点
DFSZKFailoverController 负责监控NameNode的状态,并及时把信息状态写入zk,通过一个独立的线程周期性的调用Namenode上的一个特定接口来获取NameNode的健康状态,也有选择谁为Active的权利,但是最多只能有两个namenode,所以选择策略为先到先得, 可以理解为故障切换的控制器
QuorumPeerMain zookeeper的主进程
JournalNode 高可用情况下用于存放namenode的editlog文件(元数据),也是多节点高可用
JobHistoryServer 这是yarn提供的一个查看已经完成的任务的历史日志记录的服务,我们可以启动JobHistoryServer来观察已经完成的任务的所有详细日志信息,随RM变化
ResourceManager 负责调度DataManager上的资源,每个DataNode都有一个NodeManager来执行实际工作,可以理解为yarn的大脑,与NamNode一样,主备双节点,互为冗余
NodeManager 管理worker节点的资源,是实际工作的节点
  • 进行部署:
  1. 在每个节点配置IP地址与主机名的映射关系(所有节点都需要)
[root@master-01 ~]# cat /etc/hosts
::1 localhost   localhost.localdomain   localhost6  localhost6.localdomain6
127.0.0.1   localhost   localhost.localdomain   localhost4  localhost4.localdomain4
10.250.76.175   master-01  
10.250.76.176   master-02  
10.250.76.179   hadoop-0001
10.250.76.178   hadoop-0002
10.250.76.177   hadoop-0003

2.配置免密登陆 这一步需要在master1和master2两台节点分别执行。使master1 2 均能免密登陆worker其他任意节点

[root@master-01 ~]# ssh-keygen   # 生产当前主机的公钥和私钥
[root@master-01 ~]# ssh-copy-id hadoop-0001     # 分发密钥
[root@master-01 ~]# ssh-copy-id hadoop-0002
[root@master-01 ~]# ssh-copy-id hadoop-0003
[root@master-01 ~]# ssh-copy-id master-01
[root@master-01 ~]# ssh-copy-id master-02

3.安装JDK (hadoop全家桶都是java写的,少了jdk怎么能行) 安装好jdk后,记得加入环境变量中

[root@master-01 ~]# yum -y install java-1.8.0-openjdk*
[root@master-01 ~]# cat /etc/profile
xxx...
xxx...
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$PATH:$JAVA_HOM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值