没有合适的资源?快使用搜索试试~ 我知道了~
首页大数据hadoop集群部署-最详细的部署-2.8.5.pdf
大数据hadoop集群部署-最详细的部署-2.8.5.pdf
需积分: 50 346 浏览量
更新于2023-05-22
评论
收藏 1.34MB PDF 举报
HDFS HA通常由两个NameNode组成,一个处于Active状态,另一个处于Standby状态。Active NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步Active NameNode的状态,以便能够在它失败时快速进行切换。 Hadoop 2.0官方提供了两种HDFS HA的解决方案,一种是NFS,另一种是QJM。这里我们使用简单的QJM。在该方案中,主备NameNode之间通过一组JournalNode同步元数据信息,一条数据只要成功写入多数JournalNode即认为写入成功。通常配置奇数个JournalNode,这里还配置了一个Zookeeper集群,用于ZKFC故障转移,当Active NameNode挂掉了,会自动切换Standby NameNode为Active状态。 YARN的ResourceManager也存在单点故障问题,这个问题在hadoop-2.4.1得到了解决:有两个ResourceManager,一个是Active,一个是Standby,状态由zookeeper进行协调。 YARN框架下的MapReduce可以开启JobHistoryServer来记录历史任务信息,否则只能查看当前正在执行的任务信息。 Zookeeper的作用是负责HDFS中NameNode主备节点的选举,和YARN框架下ResourceManaer主备节点的选举。
资源详情
资源评论
资源推荐

0,理论简介:
HA概念以及作用
HA(HighAvailable),高可用性群集,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节
点及备用节点。通常把正在执行业务的称为活动节点,而作为活动节点的一个备份的则称为备用节点。当活动节点出现问
题,导致正在运行的业务(任务)不能正常运行时,备用节点此时就会侦测到,并立即接续活动节点来执行业务。从而实现
业务的不中断或短暂中断。
HDFS概述
基础架构
1、NameNode(Master)
1)命名空间管理:命名空间支持对HDFS中的目录、文件和块做类似文件系统的创建、修改、删除、列表文件和目录等基本操
作。
2)块存储管理。
NameNode+HA架构
从上面的架构图可以看出,使用ActiveNameNode,StandbyNameNode两个节点可以解决单点问题,两个节点通
过JounalNode共享状态,通过ZKFC选举Active,监控状态,自动备份。
1、ActiveNameNode
接受client的RPC请求并处理,同时写自己的Editlog和共享存储上的Editlog,接收DataNode的Blockreport,block
locationupdates和heartbeat。
2、StandbyNameNode
同样会接到来自DataNode的Blockreport,blocklocationupdates和heartbeat,同时会从共享存储的Editlog上读取
并执行这些log操作,保持自己NameNode中的元数据(Namespcaeinformation+Blocklocationsmap)和Active
NameNode中的元数据是同步的。所以说Standby模式的NameNode是一个热备(HotStandbyNameNode),一旦切
换成Active模式,马上就可以提供NameNode服务。
3、JounalNode
用于ActiveNameNode,StandbyNameNode同步数据,本身由一组JounnalNode节点组成,该组节点奇数个。
4、ZKFC
监控NameNode进程,自动备份。

YARN概述
基础架构
1、ResourceManager(RM)
接收客户端任务请求,接收和监控NodeManager(NM)的资源情况汇报,负责资源的分配与调度,启动和监控
ApplicationMaster(AM)。
2、NodeManager
节点上的资源管理,启动Container运行task计算,上报资源、container情况汇报给RM和任务处理情况汇报给AM。
3、ApplicationMaster
单个Application(Job)的task管理和调度,向RM进行资源的申请,向NM发出launchContainer指令,接收NM的task
处理状态信息。
4、WebApplicationProxy
用于防止Yarn遭受Web攻击,本身是ResourceManager的一部分,可通过配置独立进程。ResourceManagerWeb的
访问基于守信用户,当ApplicationMaster运行于一个非受信用户,其提供给ResourceManager的可能是非受信连接,
WebApplicationProxy可以阻止这种连接提供给RM。
5、JobHistoryServer
NodeManager在启动的时候会初始化LogAggregationService服务,该服务会在把本机执行的containerlog(在
container结束的时候)收集并存放到hdfs指定的目录下.ApplicationMaster会把jobhistory信息写到hdfs的jobhistory临时
目录下,并在结束的时候把jobhisoty移动到最终目录,这样就同时支持了job的recovery.History会启动web和RPC服务,用户
可以通过网页或RPC方式获取作业的信息。
ResourceManager+HA架构

ResourceManagerHA由一对Active,Standby结点构成,通过RMStateStore存储内部数据和主要应用的数据及标记。
需要说明以下几点:
HDFSHA通常由两个NameNode组成,一个处于Active状态,另一个处于Standby状态。ActiveNameNode对外提
供服务,而StandbyNameNode则不对外提供服务,仅同步ActiveNameNode的状态,以便能够在它失败时快速进行切
换。
Hadoop2.0官方提供了两种HDFSHA的解决方案,一种是NFS,另一种是QJM。这里我们使用简单的QJM。在该方案中,
主备NameNode之间通过一组JournalNode同步元数据信息,一条数据只要成功写入多数JournalNode即认为写入成功。
通常配置奇数个JournalNode,这里还配置了一个Zookeeper集群,用于ZKFC故障转移,当ActiveNameNode挂掉了,会
自动切换StandbyNameNode为Active状态。
YARN的ResourceManager也存在单点故障问题,这个问题在hadoop-2.4.1得到了解决:有两个ResourceManager,一个
是Active,一个是Standby,状态由zookeeper进行协调。
YARN框架下的MapReduce可以开启JobHistoryServer来记录历史任务信息,否则只能查看当前正在执行的任务信息。
Zookeeper的作用是负责HDFS中NameNode主备节点的选举,和YARN框架下ResourceManaer主备节点的选举。
(一),基础环境配置:
[hadoop@big-master1hadoop]$cat/etc/hosts
127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.localdomain4
::1localhostlocalhost.localdomainlocalhost6localhost6.localdomain6
##bigdatacluster##
192.168.41.20big-master1#bigdata1namenode1,zookeeper,resourcemanager
192.168.41.21big-master2#bigdata2namenode2,zookeeper,slave,resourcemanager
192.168.41.22big-slave01#bigdata3datanode1,zookeeper,slave

192.168.41.25big-slave02#bigdata4datanode2,zookeeper,slave
192.168.41.27big-slave03#bigdata5datanode3,zookeeper,slave
hadoop分布式系统各软件版本:
系统版本:
[hadoop@big-master1hadoop]$cat/etc/redhat-release
CentOSLinuxrelease7.7.1908(Core)
JDK版本:
下载JDK:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
[hadoop@big-master1~]$java-version
javaversion"1.8.0_251"
Java(TM)SERuntimeEnvironment(build1.8.0_251-b08)
JavaHotSpot(TM)64-BitServerVM(build25.251-b08,mixedmode)
zookeeper版本:
3.4.14
download:https://zookeeper.apache.org/releases.html
wgethttp://mirror.bit.edu.cn/apache/zookeeper/stable/zookeeper-3.4.12.tar.gz
yuminstallglibc-headersgccgcc-c++makecmakeopenssl-develncurses-devel-y
hadoop版本:
2.8.5版本
##appachehadoop
download:http://hadoop.apache.org
https://archive.apache.org/dist/hadoop/common/
网卡设置:
[hadoop@big-master1tools]$cat/etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=46ab62bc-448c-443b-9755-6bf8abbdc612
DEVICE=enp0s3
ONBOOT=yes
IPV6_PRIVACY=no
IPADDR=192.168.41.20
NETMASK=255.255.255.0

GATEWAY=192.168.41.1
Java版本
[hadoop@big-master1hadoop]$java-version
javaversion"1.8.0_251"
Java(TM)SERuntimeEnvironment(build1.8.0_251-b08)
JavaHotSpot(TM)64-BitServerVM(build25.251-b08,mixedmode)
####
全局环境变量新增:
[hadoop@big-master1hadoop]$cat/etc/profile
###JDK###
JAVA_HOME=/usr/local/jdk1.8.0_251
CLASSPATH=$JAVA_HOME/lib/tools.jar$JAVA_HOME/lib/dt.jar
PATH=$JAVA_HOME/bin:$PATH
exportJAVA_HOMECLASSPATHPATH
###zookeeper##
exportZK_HOME=/usr/local/zookeeper
exportPATH=$ZK_HOME/bin:$PATH
###hadoop##
exportHADOOP_HOME=/usr/local/hadoop
exportPATH=$HADOOP_HOME/bin:$PATH:$HADOOP_HOME/sbin:$PATH
##tools##
exportPATH=/home/hadoop/tools:$PATH
####
关闭安全策略:
Selinux安全策略关闭:
cat>/etc/selinux/config<<EOF
#ThisfilecontrolsthestateofSELinuxonthesystem.
#SELINUX=cantakeoneofthesethreevalues:
#enforcing-SELinuxsecuritypolicyisenforced.
#permissive-SELinuxprintswarningsinsteadofenforcing.
#disabled-NoSELinuxpolicyisloaded.
SELINUX=disabled
#SELINUXTYPE=cantakeoneofthreevalues:
#targeted-Targetedprocessesareprotected,
#minimum-Modificationoftargetedpolicy.Onlyselectedprocessesareprotected.
#mls-MultiLevelSecurityprotection.
SELINUXTYPE=targeted
EOF
剩余55页未读,继续阅读

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0