热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[置顶]CDH4.2的HA配置

一、NameNode的HA1、core-site.xml•ForMRv1:<property><name>fs.default.namename><val

一、NameNode的HA

1、 core-site.xml 

• For MRv1:

fs.default.name/name>
hdfs://mycluster

• For YARN:

fs.defaultFS
hdfs://mycluster


ha.zookeeper.quorum
zk1.example.com:2181,zk2.example.com:2181,zk3.example.com:2181


 

2、 hdfs-site.xml 


dfs.nameservices
mycluster


dfs.ha.namenodes.mycluster
nn1,nn2


dfs.namenode.rpc-address.mycluster.nn1
machine1.example.com:8020


dfs.namenode.rpc-address.mycluster.nn2
machine2.example.com:8020


dfs.namenode.http-address.mycluster.nn1
machine1.example.com:50070


dfs.namenode.http-address.mycluster.nn2
machine2.example.com:50070


dfs.namenode.shared.edits.dir
qjournal://node1.example.com:8485;node2.example.com:8485;node3.example.com:8485/mycluster

===JournalNode===


dfs.journalnode.edits.dir
/data/1/dfs/jn

===Client Failover COnfiguration===


dfs.client.failover.proxy.provider.mycluster
org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

===Fencing COnfiguration===


dfs.ha.fencing.methods
sshfence


dfs.ha.fencing.ssh.private-key-files
/home/exampleuser/.ssh/id_rsa

==================


dfs.ha.automatic-failover.enabled
true

3、在NameNode的一个节点上执行初始化到ZK的HA状态信息的命令

hdfs zkfc -formatZK

4、格式化NameNode

5、安装和启动JournalNode(要在NameNode之前启动)

 sudo yum install hadoop-hdfs-journalnode

 sudo service hadoop-hdfs-journalnode start

6、启动NameNode

(1)、Start the primary (formatted) NameNode:

sudo -u hdfs hadoop namenode -format

sudo service hadoop-hdfs-namenode start

(2)、Start the standby NameNode:

sudo -u hdfs hdfs namenode -bootstrapStandby
sudo service hadoop-hdfs-namenode start

7、配置自动故障转移:在NameNode节点上安装和运行ZKFC

sudo yum install hadoop-hdfs-zkfc

sudo service hadoop-hdfs-zkfc start

8、验证自动故障转移

kill -9

观察效果

 

二、Jobtracker的HA

1、在两个节点上安装HA Jobtracker包

sudo yum install hadoop-0.20-mapreduce-jobtrackerha

2、如果想主动故障恢复,就需要在两个HA jobtracker节点安装zkfc

sudo yum install hadoop-0.20-mapreduce-zkfc

3、配置HA jobtracker






mapred.job.tracker
logicaljt 



mapred.jobtrackers.logicaljt
jt1,jt2
Comma-separated list of JobTracker IDs.


mapred.jobtracker.rpc-address.logicaljt.jt1 

myjt1.myco.com:8021


mapred.jobtracker.rpc-address.logicaljt.jt2 

myjt2.myco.com:8022


mapred.job.tracker.http.address.logicaljt.jt1 

0.0.0.0:50030


mapred.job.tracker.http.address.logicaljt.jt2 

0.0.0.0:50031


mapred.ha.jobtracker.rpc-address.logicaljt.jt1 

myjt1.myco.com:8023


mapred.ha.jobtracker.rpc-address.logicaljt.jt2 

myjt2.myco.com:8024


mapred.ha.jobtracker.http-redirect-address.logicaljt.jt1 

myjt1.myco.com:50030


mapred.ha.jobtracker.http-redirect-address.logicaljt.jt2 

myjt2.myco.com:50031


mapred.jobtracker.restart.recover
true


mapred.job.tracker.persist.jobstatus.active
true


mapred.job.tracker.persist.jobstatus.hours
1


mapred.job.tracker.persist.jobstatus.dir
/jobtracker/jobsInfo


mapred.client.failover.proxy.provider.logicaljt
org.apache.hadoop.mapred.ConfiguredFailoverProxyProvider


mapred.client.failover.max.attempts
15


mapred.client.failover.sleep.base.millis
500


mapred.client.failover.sleep.max.millis
1500 


mapred.client.failover.connection.retries
0 


mapred.client.failover.connection.retries.on.timeouts
0 


mapred.ha.fencing.methods
shell(/bin/true)

4、启动HA jobtracker:在两个HA jobtracker上启动

sudo service hadoop-0.20-mapreduce-jobtrackerha start

如果没有配置主动故障恢复,两个启动的jobtracker都处于standby状态。

 

可以根据sudo -u mapred hadoop mrhaadmin -getServiceState 获取jobtracker状态信息

是 mapred.jobtrackers.里面的name,如上面配置的 jt1 or jt2。

将一个jobtracker切换至Active状态:

sudo -u mapred hadoop mrhaadmin -transitionToActive
sudo -u mapred hadoop mrhaadmin -getServiceState

5、故障转移验证(手动故障转移)

sudo -u mapred hadoop mrhaadmin -failover

例如:将有故障的active的jt1转移到jt2,这个时候jt2变成active了

sudo -u mapred hadoop mrhaadmin -failover jt1 jt2 

如果转移成功,jt2状态将变成active,执行以下命令可以查看

sudo -u mapred hadoop mrhaadmin -getServiceState jt2

6、配置自动故障转移

(1)、安装配置zookeeper集群(可以公用hdfs ha的zk)

(2)、手动故障转移参数配置






mapred.job.tracker
logicaljt 



mapred.jobtrackers.logicaljt
jt1,jt2
Comma-separated list of JobTracker IDs.


mapred.jobtracker.rpc-address.logicaljt.jt1 

myjt1.myco.com:8021


mapred.jobtracker.rpc-address.logicaljt.jt2 

myjt2.myco.com:8022


mapred.job.tracker.http.address.logicaljt.jt1 

0.0.0.0:50030


mapred.job.tracker.http.address.logicaljt.jt2 

0.0.0.0:50031


mapred.ha.jobtracker.rpc-address.logicaljt.jt1 

myjt1.myco.com:8023


mapred.ha.jobtracker.rpc-address.logicaljt.jt2 

myjt2.myco.com:8024


mapred.ha.jobtracker.http-redirect-address.logicaljt.jt1 

myjt1.myco.com:50030


mapred.ha.jobtracker.http-redirect-address.logicaljt.jt2 

myjt2.myco.com:50031


mapred.jobtracker.restart.recover
true


mapred.job.tracker.persist.jobstatus.active
true


mapred.job.tracker.persist.jobstatus.hours
1


mapred.job.tracker.persist.jobstatus.dir
/jobtracker/jobsInfo


mapred.client.failover.proxy.provider.logicaljt
org.apache.hadoop.mapred.ConfiguredFailoverProxyProvider


mapred.client.failover.max.attempts
15


mapred.client.failover.sleep.base.millis
500


mapred.client.failover.sleep.max.millis
1500 


mapred.client.failover.connection.retries
0 


mapred.client.failover.connection.retries.on.timeouts
0 


mapred.ha.fencing.methods
shell(/bin/true)

(3)、配置故障恢复控制参数

 mapred-site.xml:


mapred.ha.automatic-failover.enabled
true


mapred.ha.zkfc.port
8018 

(4)、初始化在ZK中的HA的状态信息(在某一个jobtracker上面执行就行,在执行前,zk集群必须先启动起来)

sudo service hadoop-0.20-mapreduce-zkfc init

OR

sudo -u mapred hadoop mrzkfc -formatZK

(5)、启动自动故障恢复

在每一个jobtracker节点上启动zkfc和jobtracker:

sudo service hadoop-0.20-mapreduce-zkfc start
sudo service hadoop-0.20-mapreduce-jobtrackerha start

(6)、验证自动故障恢复功能

首先通过以下命令找到那个jt是处于active状态:

sudo -u mapred hadoop mrhaadmin -getServiceState

然后执行kill命令杀死对应的jvm进程:

kill -9

最后就看是否成功将active状态切换到另外一个节点上。

无 
     编辑

    推荐阅读
    • CEPH LIO iSCSI Gateway及其使用参考文档
      本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
    • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
      本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
    • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
    • Hadoop 源码学习笔记(4)Hdfs 数据读写流程分析
      Hdfs的数据模型在对读写流程进行分析之前,我们需要先对Hdfs的数据模型有一个简单的认知。数据模型如上图所示,在NameNode中有一个唯一的FSDirectory类负责维护文件 ... [详细]
    • 微软头条实习生分享深度学习自学指南
      本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
    • Spring源码解密之默认标签的解析方式分析
      本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
    • HDFS2.x新特性
      一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
    • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
    • Java学习笔记之面向对象编程(OOP)
      本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
    • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
    • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
      本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
    • centos安装Mysql的方法及步骤详解
      本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
    • Hadoop源码解析1Hadoop工程包架构解析
      1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
    • 对于开源的东东,尤其是刚出来不久,我认为最好的学习方式就是能够看源代码和doc,測试它的样例为了方便查看源代码,关联导入源代 ... [详细]
    •        在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下:       1、CentOS6.7下安装JDK,地址:http:b ... [详细]
    author-avatar
    幸福的妈妈88
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有