基于Zookeeper的HDFS HA配置主要涉及两个文件,core-site和hdfs-site.xml。
测试环境有三台
hadoop.master
hadoop.slave1
hadoop.slave2
hadoop.master包含的组件NameNode, JournalNode, Zookeeper,DFSZKFailoverController
hadoop.slave1 包含的组件Standby NameNode, DataNode, JournaleNode,DFSZKFailoverController
hadoop.slave2 包含的组件DataNode,JournalNode
1. core-site.xml配置
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. See accompanying LICENSE file. --> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hdfsHA</value> </property> <property> <name>io.file.buffer.size</name> <value>131702</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/home/hadoop/data/tmp</value> </property> <property> <name>ha.zookeeper.quorum</name> <value>hadoop.master:2181</value> </property> <property> <name>hadoop.proxyuser.hadoop.hosts</name> <value></value> </property> <property> <name>hadoop.proxyuser.hadoop.groups</name> <value></value> </property> <property> <name>hadoop.native.lib</name> <value>true</value> <description>Should native hadoop libraries, if present, be used.</description> </property> </configuration>
2. hdfs-site.xml配置
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. See accompanying LICENSE file. --> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>dfs.nameservices</name> <value>hdfsHA</value> </property> <property> <name>dfs.ha.namenodes.hdfsHA</name> <value>nn1,nn2</value> </property> <property> <name>dfs.namenode.rpc-address.hdfsHA.nn1</name> <value>hadoop.master:9000</value> </property> <property> <name>dfs.namenode.rpc-address.hdfsHA.nn2</name> <value>hadoop.slave1:9000</value> </property> <property> <name>dfs.namenode.http-address.hdfsHA.nn1</name> <value>hadoop.master:50070</value> </property> <property> <name>dfs.namenode.http-address.hdfsHA.nn2</name> <value>hadoop.slave1:50070</value> </property> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://hadoop.master:8485;hadoop.slave1:8485;hadoop.slave2:8485/hdfsHA</value> </property> <property> <name>dfs.ha.automatic-failover.enabled.hdfsHA</name> <value>true</value> </property> <property> <name>dfs.client.failover.proxy.provider.hdfsHA</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> <property> <name>dfs.journalnode.edits.dir</name> <value>/home/hadoop/data/dfs/journal</value> </property> <property> <name>dfs.ha.fencing.methods</name> <value>sshfence</value> </property> <property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/home/hadoop/.ssh/id_rsa</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/home/hadoop/data/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/hadoop/data/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop.master:9001</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> </configuration>
3.启动过程
3.1 将两个配置文件分发到hadoop.slave1和hadoop.slave2节点
3.2 在三台机器上启动journalnode
sbin/hadoop-daemon.sh start journalnode
启动进程为6725 org.apache.hadoop.hdfs.qjournal.server.JournalNode
3.3 在hadoop.master上格式化Zookeeper(实际上三台机器哪一台都可以)
bin/hdfs zkfc -formatZK成功信息为:ha.ActiveStandbyElector: Successfully created /hadoop-ha/hdfsHA in ZK
3.4 在hadoop.master上初始化namenode并启动
bin/hdfs namenode -format sbin/hadoop-daemon.sh start namenode
3.5 对hadoop.slave1 namenode进行格式化并启动
bin/hdfs namenode -format sbin/hadoop-daemon.sh start namenode
此时,两台机器都处于standby状态
3.6 在hadoop.master和hadoop.slave1上启动zkfc
sbin/hadoop-daemon.sh start zkfc
启动进程为DFSZKFailoverController
此时,有一台处于active状态,另一台处于standby状态
3.7 在hadoop.master上启动datanode,此时slave1和slave2两台机器的datanode启动
相关推荐
在构建高可用(HA)Hadoop集群时,HDFS(Hadoop Distributed File System)HA配置是关键步骤,目的是确保即使NameNode节点发生故障,数据访问和服务也不会中断。本教程将详细讲解如何配置、启动和验证Hadoop HA集群...
本文将深入探讨Hadoop HA(高可用性)集群的配置文件,包括`core-site.xml`、`hdfs-site.xml`、`mapred-site.xml`、`yarn-site.xml`以及`slaves`文件,这些都是确保Hadoop集群稳定运行的基础。 1. `core-site.xml`:...
hdfs ha设置文档
本文将重点介绍Hadoop HA高可用集群配置中的关键参数及其作用,特别是`hdfs-site.xml`文件中与HA相关的配置项。 #### 二、Hadoop HA概述 Hadoop HA(High Availability)是指通过在集群中部署多个NameNode实例来...
【标题】"Hadoop2的HA配置一键运行脚本startall"主要涉及到的是在Hadoop分布式文件系统(HDFS)中实现高可用性(High Availability, HA)的配置方法。Hadoop HA允许NameNode(Hadoop的核心组件之一,负责管理文件...
本文档详细介绍了Hadoop HDFS的安装和管理过程,从环境准备、用户创建、主机名配置、HDFS部署等多个方面进行了详细介绍。这些步骤对于成功部署Hadoop HDFS至关重要,有助于搭建稳定可靠的Hadoop集群。通过本文档的...
Hadoop HDFS-site 配置文件是 Hadoop 分布式文件系统(HDFS)的核心配置文件,用于存储和管理 HDFS 集群的配置信息。在本文中,我们将详细介绍 HDFS-site 配置文件的各个部分,并对每个配置项进行解释。 HDFS 超级...
Hadoop 2.9.0版本的HDFS配置文件hdfs-site.xml定义了分布式文件系统的主要配置参数,下面详细说明这些属性的关键知识点。 1. hadoop.hdfs.configuration.version 这是一个配置属性,用于记录当前使用的Hadoop HDFS...
此外,HA(High Availability)模式下可以配置多个NameNode,通过 fencing 和 ZooKeeper 实现主NameNode的自动切换,从而避免单点故障。 六、HDFS的容错机制 HDFS通过数据复制来确保容错性。默认情况下,每个文件...
在搭建Hadoop 2.6集群环境时,我们需要关注几个关键组件:HDFS(Hadoop Distributed File System)的高可用性(HA)以及YARN(Yet Another Resource Negotiator)。这个过程涉及多台虚拟机的配置,包括安装操作系统...
在CDH5.5.0中,HDFS(Hadoop Distributed File System)和YARN(Yet Another Resource Negotiator)是两个核心组件,它们在高可用性(HA)模式下的配置尤为重要。HDFS HA允许数据节点和名称节点的冗余,以确保即使单...
本文将深入探讨Hadoop 2.5.1版本中HA与Federation的详细配置过程,帮助你构建一个既可靠又高效的分布式存储和计算环境。 **一、Hadoop HA简介** Hadoop HA是为了解决单点故障问题,通过引入NameNode的热备机制,...
### Hadoop部署和配置Kerberos安全认证 #### 一、Kerberos认证系统简介 Kerberos是一种网络认证协议,其设计目标是通过密钥分发中心(Key Distribution Center, KDC)来管理用户和服务之间的认证过程。Kerberos在...
在本文中,我们将详细讨论如何配置Hadoop HA版本,特别是使用Quorum Journal Manager (QJM) 实现HDFS的HA。 首先,我们需要理解Hadoop HA的基本架构。Hadoop HA主要涉及两个关键组件:NameNode和ResourceManager。...
最后,实现HDFS的高可用性(HDFSHA)和YARN的高可用性(YARNHA)是搭建完全分布式集群的关键目标。这通常涉及到配置ZooKeeper Failover Controller (ZKFC)以实现NameNode的故障转移以及ResourceManager的高可用性。 ...
3. **配置HDFS HA**:在`hdfs-site.xml`中配置HA相关参数,如`fs.defaultFS`为HDFS的高可用命名空间地址,通常采用`hdfs://nameservice1`形式。还需配置`dfs.nameservices`,定义NameNode集群的名字。同时,为每个...
- 配置`core-site.xml`、`hdfs-site.xml`、`yarn-site.xml`等核心配置文件。 - 设置NameNode和ResourceManager的HA配置,包括JournalNodes的地址以及Zookeeper集群的信息。 3. **启动Hadoop集群**: - 格式化...
总之,成功部署Hadoop的HDFS HA+Federation+YARN涉及多步骤,包括配置文件的修改、各个节点服务的启动以及验证整个系统的正常运行。这个过程需要细心和耐心,但一旦完成,将提供一个高可用、可扩展的大数据处理平台...