`
youguofu
  • 浏览: 25479 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

利用zookeeper来实现namanode的高可用(HA)(第二篇)

阅读更多

利用zookeeper来实现namanode的高可用(HA)(第二篇,接上篇)

 

 

机器设备:为了叙述方面 采用nodeX的形式来表示主机名

192.168.159.31(node1)                Namenode

 

192.168.159.32(node2) zookeeper      Datanode     JN(JournalNode)

  

192.168.159.33(node3) zookeeper      Datanode     JN

 

192.168.159.34(node4) zookeeper      Datanode     JN

 

192.168.159.35(node5)                Namenode

 

第一步:

1:zookeeper环境已经搭好,并启动

2:hadoop在.bash_profile已经配置好

3:hadoop-env.sh JAVA_HOME已经配置好

 

第二步:

 

node1可以免密登录到node2,node3,node4,node5;

node5可以免密登录到node1

 

具体怎么做我不做解释,很简单的

 

第三步:

 

在node1上配置hadoop然后 scp到其他主机上即可 

 

vim hdfs-site.xml  (汉字不要复制)

 

<property>

<name>dfs.nameservices</name>  #集群名字 唯一标识

<value>mycluster</value>

</property>

 

<property>

<name>dfs.ha.namenodes.mycluster</name>  #namenode 两个

<value>nn1,nn2</value>

</property>

 

<property>

<name>dfs.namenode.rpc-address.mycluster.nn1</name> #第一个namenode在哪

<value>node1:8020</value>

</property>

<property>

<name>dfs.namenode.rpc-address.mycluster.nn2</name>  #第二个namenode在哪

<value>node5:8020</value>

</property>

 

<property>

<name>dfs.namenode.http-address.mycluster.nn1</name>  #页面访问 第一个namenode

<value>node1:50070</value>

</property>

<property>

<name>dfs.namenode.http-address.mycluster.nn2</name>  #页面访问 第二个namenode

<value>node5:50070</value>

</property>

 

<property>

<name>dfs.namenode.shared.edits.dir</name>

<value>qjournal://node2;node3;node4/mycluster</value>  #JN在哪几台主机上

</property>

 

<property>

<name>dfs.client.failover.proxy.provider.mycluster</name>

<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>

</property>

 

<property>

<name>dfs.ha.fencing.methods</name>

<value>sshfence</value>

</property>

 

<property>

<name>dfs.ha.fencing.ssh.private-key-files</name>

<value>/root/.ssh/id_rsa</value>

</property>

<property>

name>dfs.ha.automatic-failover.enabled</name>

<value>true</value>

</property>

 

 

第四步:

 

vim core-site.xml

 

<property>

<name>hadoop.tmp.dir</name>

<value>/opt/hadoop</value>

</property>

<property>

<name>fs.defaultFS</name>

<value>hdfs://mycluster</value>

</property>

<property>

<name>dfs.journalnode.edits.dir</name>

<value>/opt/JN</value>

</property>

<property>

<name>ha.zookeeper.quorum</name>

<value>node2:2181,node3:2181,node4:2181</value>  #zookeeper部署在哪几台主机

</property>

 

 

 

 

第五步:

 

把node1上配置好的hadoop scp到node2...node5上

 

第六步:

 

在node2,node3,node4上执行: (这是第一次运行环境的时候需要,为hdfs namenode -format做准备)

 

hadoop-daemon.sh start journalnode

 

第七步:

 

在任意一个namenode节点上运行.比如在node1上

 

hdfs namenode -format

 

成功之后执行

 

hadoop-daemon.sh start namenode 启动节点

 

在node5上执行

 

hdfs namenode -bootstrapStandby

 

然后在node5上启动namenode

 

hadoop-daemon.sh start namenode 启动节点

 

第七步的作用是:首先在一个节点上格式化namenode,然后把元数据fsimage复制到另一个namenode节点上

 

最后:

 

在node1上执行: stop-dfs.sh

 

全面启动:stop-dfs.sh 

 

 

验证:

 

1:利用jps检验是否成功:

 

node1,node5

 

7512 DFSZKFailoverController

7745 Jps

7626 NameNode

 

node2,node3,node4

 

3165 Jps

2931 QuorumPeerMain (zookeeper进程)

3068 JournalNode   (JN进程)

2983 DataNode

 

2:页面验证

 

192.168.159.31:50070

192.168.159.35:50070

 

这两个中一个是active,另一个是standby

 

然后把active的进程kill掉,就可以看到原先是standby的变为了active了

 

 

 

这样就表示成功啦.

0
3
分享到:
评论

相关推荐

    zookeeper实现服务节点HA主备自动切换,1主多从模式、ZooKeeper实现高可用

    《ZooKeeper实现服务节点HA主备自动切换与高可用性》 在分布式系统中,服务的高可用性(High Availability, HA)是至关重要的,它确保即使在单个组件故障的情况下,系统仍能正常运行。ZooKeeper,作为Apache的一个...

    zookeeper+redis高可用完整实例.zip

    在这个"zookeeper+redis高可用完整实例"中,我们将探讨如何利用Zookeeper来实现Redis的高可用性。Zookeeper是一个分布式协调服务,它为分布式应用提供了诸如配置管理、命名服务、分布式同步和组服务等功能。而Redis...

    Mysql+haproxy+mycat+pxc+zookeeper实现高可用集群

    Mysql+haproxy+mycat+pxc+zookeeper实现高可用集群 本文将详细介绍如何使用Mysql、Haproxy、Mycat、PXC、Zookeeper实现高可用集群,涵盖了整个架构图、应用程序的访问流程、数据的读写分离、负载均衡、数据库节点的...

    Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)

    Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase) 一、Hadoop HA高可用集群概述 在大数据处理中,高可用集群是非常重要的,Hadoop HA高可用集群可以提供高可靠性和高可用性,确保数据处理不中断。该集群由...

    基于Zookeeper+MHA的mysql高可用架构设计

    基于Zookeeper+MHA的mysql高可用架构设计,基于Zookeeper+MHA的mysql高可用架构设计。

    基于zookeeper的hadoop ha集群安装过程

    基于ZooKeeper的Hadoop HA集群可以提供高可用性和可扩展性,满足企业对大数据处理的需求。在本文中,我们将详细介绍基于ZooKeeper的Hadoop HA集群的安装过程。 一、 安装环境介绍 在安装基于ZooKeeper的Hadoop HA...

    高可用之ZooKeeper集群的安装、配置、高可用测试

    高可用之 ZooKeeper 集群的安装、配置、高可用测试 ZooKeeper 是一个广泛使用的分布式协调服务,提供了高可用、可靠的服务注册中心解决方案。高可用之 ZooKeeper 集群的安装、配置、高可用测试是分布式系统架构中...

    ZooKeeper 是如何实现高可用的.md

    ZooKeeper碰到的问题

    zookeeper高可用shell脚本监测.

    本话题将深入探讨如何通过编写和利用Shell脚本来实现Zookeeper的心跳监测,以确保Redis的高可用性。 首先,我们需要理解Zookeeper的角色。在高可用Redis集群中,Zookeeper作为一个中心化的仲裁者,负责监控Redis...

    HA高可用hadoop,zookeeper,jdk.rar

    【标题】"HA高可用hadoop,zookeeper,jdk.rar" 涉及的主要知识点是分布式计算环境中的高可用性(High Availability, HA)技术,其中涵盖了Hadoop、Zookeeper和Java Development Kit(JDK)这三个核心组件。...

    基于Zookeeper搭建Hadoop高可用集群

    基于 Zookeeper 搭建 Hadoop 高可用集群是指使用 Zookeeper 实现 Hadoop 集群的高可用性,确保 Hadoop 集群的可靠性和稳定性。高可用性是指系统在面临故障或错误时仍能继续运行的能力,能够确保系统的连续性和可靠性...

    Zookeeper双机房容灾方案.pdf

    Zookeeper双机房容灾方案是指在分布式系统中使用Zookeeper来实现高可用性和容灾的方案。本方案使用5个Zookeeper实例来实现高可用性和容灾。 Zookeeper选举机制是指Zookeeper集群中leader的选举机制。Zookeeper...

    基于Zookeeper框架实现MySQL分布式数据库集群.pdf

    集群中节点数必须是2W+1形式(其中W&gt;1),以确保高可用性和容错性。Zookeeper通过一个称为leader selection的算法来自动选择主节点,确保了集群的统一和稳定运行。 在本论文中,Zookeeper被用来监控和管理MySQL集群...

    zookeeper常见面试题

    4. HA 高可用性:ZooKeeper 可以用于实现高可用性,例如,Hadoop、HDFS、YARN 等大数据系统,都选择基于 ZooKeeper 来开发 HA 高可用机制。 一般实现分布式锁的方式 1. 使用 ZooKeeper 实现分布式锁:可以使用 ...

    基于Zookeeper+MHA的mysql高可用架构设计.zip

    本资料包“基于Zookeeper+MHA的mysql高可用架构设计”主要探讨了如何利用Zookeeper和MHA(Master High Availability)工具来构建一个高可靠的MySQL集群,确保即使在单个节点故障的情况下,服务也能不间断地运行。...

    maxwell 基于zookeeper的高可用方案

    总结来说,Maxwell通过结合Zookeeper的分布式协调能力,实现了高可用的数据库变更数据同步解决方案。这种架构允许在主节点故障时快速恢复服务,保证了数据的连续性和一致性,同时也提供了对集群动态扩展和管理的灵活...

    基于Netty、ZooKeeper、Hdfs的高可用性的数据同步和保活.zip

    这个名为“基于Netty、ZooKeeper、Hdfs的高可用性的数据同步和保活”的项目,显然聚焦于如何利用这些技术组件来实现稳定、高效的数据同步和节点间的保活机制。以下是对这些关键技术点的详细解释: 1. **Netty**: ...

    zookeeper分布session式实现

    在这种情况下,可以将用户的Session信息存储在ZooKeeper集群中,利用ZooKeeper的特性实现Session的集中管理和动态分配。 - **登录认证:** 用户登录时,在ZooKeeper中创建一个临时节点,用于记录用户的Session信息...

    ActiveMQ高可用集群(ZooKeeper+LevelDB)安装、配置、高可用测试.docx

    ActiveMQ 高可用集群(ZooKeeper + LevelDB)安装、配置、高可用测试是实现高可用性和高性能的消息队列服务的关键步骤。在本教程中,我们详细介绍了如何使用 ZooKeeper 和 LevelDB 搭建 ActiveMQ 高可用集群,并对高...

Global site tag (gtag.js) - Google Analytics