请选择 进入手机版 | 继续访问电脑版
点击联系客服
客服QQ:509006671 客服微信:mengfeiseo

北京老站长

 找回密码
 立即注册
查看: 33|回复: 30

完全分布式高可用性Hadoop HDFS HA yarn HA部署

[复制链接]

1

主题

1

帖子

-7

积分

限制会员

积分
-7
发表于 2021-5-13 12:14:52 | 显示全部楼层 |阅读模式
部署 完全分布式高可用 Hadoop   hdfs  HA  + yarn  HA

标签(空格分隔):大数据操作和维护列

一、Hadoop  HDFS  HA和yarn  HA概述

二:部署环境概述

三、zookeeper部署

4: HDFS  HA和yarn  HA部署

第五:对医管局的测试

一:hadoop  HDFS  HA  与 yarn  HA  的 概述

1.1 HA  的概述

HA概述

1)高可用性(7*24小时服务无中断)。

2)实现高可用性的最重要战略是消除单个故障点。HA应严格分为HDFS的HA和YARN的HA等各组件的HA机制。

3)在Hadoop2.0之前,HDFS群集中的NameNode上存在单个故障点(SPOF)。

4)NameNode主要在以下两个方面影响HDFS群集:

如果NameNode系统发生意外停机等事故,则在管理员重新启动之前,群集不可用。

NameNode系统需要升级,包括软件、硬件升级,群集也不可用。

HDFS  HA功能通过将Active/Standby配置为允许两个NameNodes在群集中实施NameNode的热备盘来解决此问题。如果系统崩溃或系统升级维护等故障发生,则可以通过这种方式将NameNode快速切换到其他系统。

1.2  HDFS-HA  的工作机制

HDFS-HA的工作方式

通过双NameNode消除单点故障。

HDFS-HA工作点

1、元数据管理方法需要改变。

内存中分别存储一个元数据。

只有处于Active状态的NameNode节点才能写入Edits日志。

两个NameNode都是Edits来存取编辑器。

共享Edits由一个共享存储(qjournal和NFS两个主要实现)管理。

2、需要状态管理功能模块

实施驻留在每个NameNode所在节点上的zkfailover,每个zkfailover监视自己的NameNode节点,使用ZK进行状态识别,如果需要状态转换,zkfailover负责切换,切换时应防止出现brain  split

3.必须确保两个NameNode之间无需ssh密码即可登录。

4、隔离,即一次只有一个NameNode对外提供服务。

1.3 HDFS-HA手动故障转移工作机制





1.4 HDFS-HA自动故障转移工作机制





二: 部署环境概述

2.1:所需安装配置包

1.系统:CentOS  7.5 X64

2.软件:Hadoop-3.2.1.tar.gz

Apache-zookeeper-3 . 6 . 1-bin  . tar  . gz

Jdk-8u181-linux-x64.rpm

将所有软件安装上载到/software下

3.系统将退出SELINUX,并清空iptables防火墙规则

4.系统配置了时间同步服务器

Ntp1.aliyun.com











三:部署zookeeper

Fat01.flyfish
.com 节点操作
tar -zxvf apache-zookeeper-3.6.1-bin.tar.gz
mv apache-zookeeper-3.6.1-bin /opt/bigdata/zookeeper
cd /opt/bigdata/zookeeper/conf
cp -p zoo_sample.cfg zoo.cfg
vim zoo.cfg
-----
dataDir=/opt/bigdata/zookeeper/data/
server.1=fat01.flyfish.com:2888:3888
server.2=fat02.flyfish.com:2888:3888
server.3=fat03.flyfish.com:2888:3888
----
mkdir -p /opt/bigdata/zookeeper/data/
echo "1" > /opt/bigdata/zookeeper/data/myid
打包zookeeper 目录
cd /opt/bigdata/
tar -zcvf zookeeper.tar.gz zookeeper
scp zookeeper.tar.gz  root@192.168.11.195:/opt/bigdata/
scp zookeeper.tar.gz  root@192.168.11.197:/opt/bigdata/

fat02.flyfish.com 节点操作
cd /opt/bigdata/
tar -zxvf  zookeeper.tar.gz
echo 2 > /opt/bigdata/zookeeper/data/myid

fat03.flyfish.com 节点操作
cd /opt/bigdata/
tar -zxvf zookeeper.tar.gz
echo 3 > /opt/bigdata/zookeeper/data/myid

启动所有节点的zookeeper
cd /opt/bigdata/zookeeper/bin
./zkstart.sh







四:部署HDFS HA 与 yarn HA
4.1 部署解压Hadoop
    tar –zxvf hadoop-3.2.1.tar.gz
    mv hadoop-3.2.1 /opt/bigdata/hadoop/
4.2 编辑Hadoop-env.sh 配置文件
vim hadoop-env.sh
---
export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
export HADOOP_PID_DIR=/opt/bigdata/hadoop/data/tmp
export HADOOP_SECURE_DN_PID_DIR=/opt/bigdata/hadoop/data/tmp
export HDFS_NAMENODE_USER="root"
export HDFS_DATANODE_USER="root"
export HDFS_ZKFC_USER="root"
export HDFS_JOURNALNODE_USER="root"
----


vim mapred-env.sh
增加jdk 的环境
export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
export HADOOP_MAPRED_PID_DIR=/opt/bigdata/hadoop/data/tmp
-----
vim yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root





4.3 编辑core-site.xml 文件
cd /opt/bigdata/hadoop/etc/hadoop
vim core-site.xml
---
        
                fs.defaultFS
                hdfs://myNameService1
        
        
                hadoop.tmp.dir
                file:/opt/bigdata/hadoop/data/tmp
                Abase for other temporary directories.
        
        
        
                ha.zookeeper.quorum
                fat01.flyfish.com:2181,fat02.flyfish.com:2181,fat03.flyfish.com:2181
        
----
4.4 编辑 hdfs-site.xml
vim hdfs-site.xml
----
        
        
                dfs.nameservices
                myNameService1
        
        
        
                dfs.ha.namenodes.myNameService1
                nn1,nn2
        
        
        
                dfs.namenode.rpc-address.myNameService1.nn1
                fat01.flyfish.com:9000
        
        
        
                dfs.namenode.http-address.myNameService1.nn1
                fat01.flyfish.com:50070
        
        
        
                dfs.namenode.rpc-address.myNameService1.nn2
                fat02.flyfish.com:9000
        
        
        
                dfs.namenode.http-address.myNameService1.nn2
                fat02.flyfish.com:50070
        
        
        
                dfs.namenode.shared.edits.dir
                qjournal://fat01.flyfish.com:8485;fat02.flyfish.com:8485;fat03.flyfish.com:8485/myNameService1
        
        
        
                dfs.journalnode.edits.dir
                /opt/bigdata/hadoop/data/jn
        
        
        
                dfs.ha.automatic-failover.enabled
                true
        
        
        
                dfs.client.failover.proxy.provider.myNameService1
                org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
        
        
        
                dfs.ha.fencing.methods
               
                        sshfence
                        shell(/bin/true)
               
        
        
        
                dfs.ha.fencing.ssh.private-key-files
                /root/.ssh/id_rsa
        
        
        
                dfs.ha.fencing.ssh.connect-timeout
                30000
        
        
                dfs.replication
                2
        
        
                dfs.namenode.name.dir
                file:/opt/bigdata/hadoop/data/tmp/dfs/name
        
        
                dfs.datanode.data.dir
                file:/opt/bigdata/hadoop/tmp/dfs/data
        
        
                dfs.permissions
                false
        
-----
4.5 编辑 yarn-site.xml
vim yarn-site.xml
----

        
        
                yarn.resourcemanager.ha.enabled
                true
        
        
        
                yarn.resourcemanager.cluster-id
                yrc
        
        
        
                yarn.resourcemanager.ha.rm-ids
                rm1,rm2
        
        
        
                yarn.resourcemanager.hostname.rm1
                fat01.flyfish.com
        
        
                yarn.resourcemanager.hostname.rm2
                fat02.flyfish.com
        
        
        
                yarn.resourcemanager.webapp.address.rm1
                fat01.flyfish.com:8088
        
        
                yarn.resourcemanager.webapp.address.rm2
                fat02.flyfish.com:8088
        
        
        
                yarn.resourcemanager.zk-address
                fat01.flyfish.com:2181,fat02.flyfish.com:2181,fat03.flyfish.com:2181
        
        
                yarn.nodemanager.aux-services
                mapreduce_shuffle
        
        
                yarn.application.classpath
                /opt/bigdata/hadoop/etc/hadoop:/opt/bigdata/hadoop/share/hadoop/common/lib/*:/opt/bigdata/hadoop/share/hadoop/common/*:/opt/bigdata/hadoop/share/hadoop/hdfs:/opt/bigdata/hadoop/share/hadoop/hdfs/lib/*:/opt/bigdata/hadoop/share/hadoop/hdfs/*:/opt/bigdata/hadoop/share/hadoop/mapreduce/lib/*:/opt/bigdata/hadoop/share/hadoop/mapreduce/*:/opt/bigdata/hadoop/share/hadoop/yarn:/opt/bigdata/hadoop/share/hadoop/yarn/lib/*:/opt/bigdata/hadoop/share/hadoop/yarn/*
        
-----
4.5 编辑 mapred-site.xml
vim mapred-site.xml
-----
        
        
                mapreduce.framework.name
                yarn
        
        
        
                mapreduce.jobhistory.address
                fat01.flyfish.com:10020
        
        
        
                mapreduce.jobhistory.webapp.address
                fat01.flyfish.com:19888
        
        
                mapreduce.application.classpath
                /opt/bigdata/hadoop/share/hadoop/mapreduce/*,/opt/bigdata/hadoop/share/hadoop/mapreduce/lib/*
        
-----
4.6 修改works 文件
fat01.flyfish.com
fat02.flyfish.com
fat03.flyfish.com
4.8 打包 同步所有节点
fat01.flyfish.com 节点:
cd /opt/bigdata/
tar -zcvf hadoop.tar.gz hadoop
scp hadoop.tar.gz root@192.168.11.195:/opt/bigdata/
scp hadoop.tar.gz root@192.168.11.197:/opt/bigdata/

fat02.flyfish.com 节点:
cd /opt/bigdata/
tar -zxvf hadoop.tar.gz
fat03.flyfish.com 节点操作
cd /opt/bigdata/
tar -zxvf hadoop.tar.gz

4.9 启动所有节点的journalnode服务
cd /opt/bigdata/hadoop/
sbin/hadoop-daemon.sh start journalnode







4.10 启动namenode 节点的HDFS
格式化hdfs
hdfs namenode -format





将fat01.flyfish.com上生成的data文件夹复制到fat02.flyfish.com的相同目录下
cd /opt/bigdata/hadoop/
scp -r data/  root@192.168.11.195:/opt/bigdata/hadoop/
启动namenode
hdfs --daemon start namenode


fat02.flyfish.com
执行 备用节点:
hdfs namenode -bootstrapStandby
hdfs --daemon start namenode



4.11格式化ZK 在fat01.flyfish.com上面执行
    cd /opt/bigdata/hadoop/bin
      ./hdfs zkfc –formatZK



4.12  停掉/启动 hdfs 的所有 服务
cd /opt/bigdata/hadoop/sbin/
./stop-dfs.sh
./start-dfs.sh




打开hdfs 的web页面









4.12 启动yarn
cd /opt/bigdata/hadoop/
sbin/start-yarn.sh 启动 yarn
sbin/stop-yarn.sh  停掉 yarn









启动日志聚合功能:
cd /opt/bigdata/hadoop/sbin/
./mr-jobhistory-daemon.sh start historyserver


五:关于 HA 的测试
5.1 hdfs HA 测试
当前节点fat02.flyfish.com 的hdfs 是active 状态
把 fat02.flyfish.com 的 NN 服务停掉
jps
kill -9 94030
fat01.flyfish.com 上的 NN 节点立马变为 active 状态





然后启动fat02.flyfish.com 的NN 节点
hdfs --daemon start namenode
fat02.flyfish.com 上面的NN 变为standby




5.2 yarn 的HA 测试
提交一个job
hdfs dfs -mkdir /input
hdfs dfs -put word.txt /input
cd /opt/bigdata/hadoop/
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar wordcount /input /output1




回复

使用道具 举报

1

主题

542

帖子

-284

积分

限制会员

积分
-284
发表于 2021-5-13 12:14:52 | 显示全部楼层
真是 收益 匪浅
回复

使用道具 举报

1

主题

577

帖子

-274

积分

限制会员

积分
-274
发表于 2021-5-13 12:36:30 | 显示全部楼层
相当不错,感谢无私分享精神!
回复

使用道具 举报

1

主题

559

帖子

-301

积分

限制会员

积分
-301
发表于 2021-5-13 12:56:49 | 显示全部楼层
LZ真是人才
回复

使用道具 举报

1

主题

562

帖子

-292

积分

限制会员

积分
-292
发表于 2021-5-13 13:16:52 | 显示全部楼层
帮帮顶顶!!
回复

使用道具 举报

1

主题

521

帖子

-311

积分

限制会员

积分
-311
发表于 2021-5-13 13:36:53 | 显示全部楼层
不错不错,很好哦
回复

使用道具 举报

1

主题

524

帖子

-212

积分

限制会员

积分
-212
发表于 2021-5-13 13:57:08 | 显示全部楼层
沙发!沙发!
回复

使用道具 举报

1

主题

584

帖子

-305

积分

限制会员

积分
-305
发表于 2021-5-13 14:17:25 | 显示全部楼层
好好 学习了 确实不错
回复

使用道具 举报

1

主题

537

帖子

-267

积分

限制会员

积分
-267
发表于 2021-5-13 14:37:42 | 显示全部楼层
小手一抖,积分到手!
回复

使用道具 举报

1

主题

511

帖子

-286

积分

限制会员

积分
-286
发表于 2021-5-13 14:59:08 | 显示全部楼层
过来看看的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|无图版|手机版|小黑屋|北京@IT精英团

GMT+8, 2021-6-25 04:28 , Processed in 0.680638 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表