利用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了
这样就表示成功啦.
相关推荐
《ZooKeeper实现服务节点HA主备自动切换与高可用性》 在分布式系统中,服务的高可用性(High Availability, HA)是至关重要的,它确保即使在单个组件故障的情况下,系统仍能正常运行。ZooKeeper,作为Apache的一个...
在这个"zookeeper+redis高可用完整实例"中,我们将探讨如何利用Zookeeper来实现Redis的高可用性。Zookeeper是一个分布式协调服务,它为分布式应用提供了诸如配置管理、命名服务、分布式同步和组服务等功能。而Redis...
### ActiveMQ+zookeeper实现高可用和负载均衡 #### 一、背景与目标 在现代分布式系统中,消息中间件如ActiveMQ扮演着重要的角色,它能够帮助应用之间进行可靠的消息传递。为了保证系统的稳定性和可靠性,通常需要...
Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase) 一、Hadoop HA高可用集群概述 在大数据处理中,高可用集群是非常重要的,Hadoop HA高可用集群可以提供高可靠性和高可用性,确保数据处理不中断。该集群由...
Mysql+haproxy+mycat+pxc+zookeeper实现高可用集群 本文将详细介绍如何使用Mysql、Haproxy、Mycat、PXC、Zookeeper实现高可用集群,涵盖了整个架构图、应用程序的访问流程、数据的读写分离、负载均衡、数据库节点的...
基于Zookeeper+MHA的mysql高可用架构设计,基于Zookeeper+MHA的mysql高可用架构设计。
基于ZooKeeper的Hadoop HA集群可以提供高可用性和可扩展性,满足企业对大数据处理的需求。在本文中,我们将详细介绍基于ZooKeeper的Hadoop HA集群的安装过程。 一、 安装环境介绍 在安装基于ZooKeeper的Hadoop HA...
高可用之 ZooKeeper 集群的安装、配置、高可用测试 ZooKeeper 是一个广泛使用的分布式协调服务,提供了高可用、可靠的服务注册中心解决方案。高可用之 ZooKeeper 集群的安装、配置、高可用测试是分布式系统架构中...
ZooKeeper碰到的问题
ActiveMQ 高可用集群(ZooKeeper + LevelDB)安装、配置、高可用测试是实现高可用性和高性能的消息队列服务的关键步骤。在本教程中,我们详细介绍了如何使用 ZooKeeper 和 LevelDB 搭建 ActiveMQ 高可用集群,并对高...
本话题将深入探讨如何通过编写和利用Shell脚本来实现Zookeeper的心跳监测,以确保Redis的高可用性。 首先,我们需要理解Zookeeper的角色。在高可用Redis集群中,Zookeeper作为一个中心化的仲裁者,负责监控Redis...
【标题】"HA高可用hadoop,zookeeper,jdk.rar" 涉及的主要知识点是分布式计算环境中的高可用性(High Availability, HA)技术,其中涵盖了Hadoop、Zookeeper和Java Development Kit(JDK)这三个核心组件。...
基于 Zookeeper 搭建 Hadoop 高可用集群是指使用 Zookeeper 实现 Hadoop 集群的高可用性,确保 Hadoop 集群的可靠性和稳定性。高可用性是指系统在面临故障或错误时仍能继续运行的能力,能够确保系统的连续性和可靠性...
集群中节点数必须是2W+1形式(其中W>1),以确保高可用性和容错性。Zookeeper通过一个称为leader selection的算法来自动选择主节点,确保了集群的统一和稳定运行。 在本论文中,Zookeeper被用来监控和管理MySQL集群...
Zookeeper双机房容灾方案是指在分布式系统中使用Zookeeper来实现高可用性和容灾的方案。本方案使用5个Zookeeper实例来实现高可用性和容灾。 Zookeeper选举机制是指Zookeeper集群中leader的选举机制。Zookeeper...
4. HA 高可用性:ZooKeeper 可以用于实现高可用性,例如,Hadoop、HDFS、YARN 等大数据系统,都选择基于 ZooKeeper 来开发 HA 高可用机制。 一般实现分布式锁的方式 1. 使用 ZooKeeper 实现分布式锁:可以使用 ...
本资料包“基于Zookeeper+MHA的mysql高可用架构设计”主要探讨了如何利用Zookeeper和MHA(Master High Availability)工具来构建一个高可靠的MySQL集群,确保即使在单个节点故障的情况下,服务也能不间断地运行。...
总结来说,Maxwell通过结合Zookeeper的分布式协调能力,实现了高可用的数据库变更数据同步解决方案。这种架构允许在主节点故障时快速恢复服务,保证了数据的连续性和一致性,同时也提供了对集群动态扩展和管理的灵活...
这个名为“基于Netty、ZooKeeper、Hdfs的高可用性的数据同步和保活”的项目,显然聚焦于如何利用这些技术组件来实现稳定、高效的数据同步和节点间的保活机制。以下是对这些关键技术点的详细解释: 1. **Netty**: ...