搭建三台高可用hadoop服务器集群

本文详细介绍了如何在3台服务器上搭建高可用的Hadoop集群,包括配置Zookeeper、HDFS HA和YARN。通过Zookeeper进行故障转移,确保NameNode和ResourceManager的高可用性。集群安装步骤详尽,包括修改主机名、IP、配置SSH免登陆、安装JDK和Hadoop,以及启动和验证集群的正确运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果只有3台主机,可以按照如下规划来部署安装

weekend01    zookeeper    journalnode   namenode zkfc    resourcemanager  datanode

weekend02    zookeeper    journalnode   namenode zkfc    resourcemanager  datanode

weekend03    zookeeper    journalnode   datanode

           hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA、YARN等。最新的hadoop-2.4.1又增加了YARN HA

注意:apache提供的hadoop-2.4.1的安装包是在32位操作系统编译的,因为hadoop依赖一些C++的本地库,所以如果在64位的操作上安装hadoop-2.4.1就需要重新在64操作系统上重新编译,建议第一次安装用32位的系统,我将编译好的64位的也上传到群共享里了,如果有兴趣的可以自己编译一下)

说明:

1.在hadoop2.0中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步active namenode的状态,以便能够在它失败时快速进行切换。

hadoop2.0官方提供了两种HDFS HA的解决方案,一种是NFS,另一种是QJM。这里我们使用简单的QJM。在该方案中,主备NameNode之间通过一组JournalNode同步元数据信息,一条数据只要成功写入多数JournalNode即认为写入成功。通常配置奇数个JournalNode

这里还配置了一个zookeeper集群,用于ZKFC(DFSZKFailoverController)故障转移,当Active NameNode挂掉了,会自动切换Standby NameNode为standby状态

2.hadoop-2.2.0中依然存在一个问题,就是ResourceManager只有一个,存在单点故障,hadoop-2.4.1解决了这个问题,有两个ResourceManager,一个是Active,一个是Standby,状态由zookeeper进行协调

 

首先要准备好三台服务器,安装和配置好所有需要的软件和配置

前期准备就不详细说了

1.修改Linux主机名

2.修改IP

3.修改主机名和IP的映射关系

######注意######如果你们公司是租用的服务器或是使用的云主机(如华为用主机、阿里云主机等)

/etc/hosts里面要配置的是内网IP地址和主机名的映射关系

4.关闭防火墙

5.ssh免登陆

6.安装JDK,配置环境变量等

接着我们配置ssh免密登录,我们要怎么配置免密登录呢

1)我们在一个namenode启动start脚本的时候,会ssh启动standby的namenode,然后读取一个文件查看slave的位置是哪里,然后一个一个去ssh启动datanode

2)我们启动yarn的一个resourcemanage的start脚本的时候,会ssh启动standby的resourcemanage,然后读取一个文件查看,然后一个一个去ssh'启动nodemanage

集群的安装步骤:

1.安装配置zooekeeper集群  --weekend01

1.1解压

tar -zxvf zookeeper-3.4.5.tar.gz -C /weekend/

1.2修改配置

cd /weekend/zookeeper-3.4.5/conf/

cp zoo_sample.cfg zoo.cfg

vim zoo.cfg

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/rootzookeeper/data
dataLogDir=/root/zookeeper/logs
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

server.1=weekend01:2888:3888

server.2=weekend02:2888:3888

server.3=weekend03:2888:3888

保存退出

说明:

  • dataDir 和 dataLogDir 需要在启动前创建完成
  • clientPort 为 zookeeper的服务端口
  • server.0、server.1、server.2 为 zk 集群中三个 node 的信息,定义格式为 hostname:port1:port2,其中 port1 是 node 间通信使用的端
RHadoop是运行R语言的Hadoop分布式计算平的简称。要认识Rhadoop首先我们分别来认识R语言和HadoopHadoop已经成名好多年了,它是Apache软件基金会旗下的一个JAVA开源分布式计算平,现已被各大互联网企业(包括Yahoo和Facebook等)用于大规模数据分布式存储与分布式计算。近年来随着云计算、大数据处理、数据挖掘等概念和应用越来越火,Hadoop更是名声大噪,各大企业对熟悉Hadoop体系架构和性能优化的人才需求也相当旺盛,人才缺口也相对加大。 R语言可能对大多数人来说比较陌生,但是做数理统计、数据分析的人不会不知道R。R是一门主要运用于统计分析与绘图的编程语言和操作工具。和Matlab类似,R是一门高级脚本化编程语言,直接在命令行输入指令即可运行,无需编译链接。它可以进行高效的向量化运算,效率远高于传统的循环运算。另外,R是开源的,有大批杰出的工程师和程序员为R开发了许多好用的函数库和图形化工具,尤其在数理统计方面有大量成熟的开源的程序包。所以R是做数据挖掘、数据分析的廉价高效的方案。 所以如果让能R运行在Hadoop上可以说是如虎添翼,可以让数据分析人员,即能用到R丰富的程序包,又能借助Hadoop分布式运算、分布式存储的优势做海量数据的处理。 现在,这个如果已经可以成为结果
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值