`

Hadoop HA Cluster

 
阅读更多

原创转载请注明出处:http://agilestyle.iteye.com/blog/2291823

 

前期准备:

修改Linux主机名,IP,SSH无密登录,JDK安装,环境变量配置等,统统省略。

 

集群规划:

hostname

IP

Software

Process

hadoop-0000

192.168.5.200

JDK
hadoop

NameNode
DFSZKFailoverController

hadoop-0001

192.168.5.201

JDK
hadoop

NameNode
DFSZKFailoverController

hadoop-0002

192.168.5.202

JDK
hadoop

ResourceManager

hadoop-0003

192.168.5.203

JDK
hadoop

ResourceManager

hadoop-0004

192.168.5.204

JDK
hadoop
zookeeper

DataNode
NodeManager
JournalNode
QuorumPeerMain

hadoop-0005

192.168.5.205

JDK
hadoop
zookeeper

DataNode
NodeManager
JournalNode
QuorumPeerMain

hadoop-0006

192.168.5.206

JDK
hadoop
zookeeper

DataNode
NodeManager
JournalNode
QuorumPeerMain

 

安装步骤:

1. 配置zookeeper集群

2. 配置Hadoop集群

添加环境变量(添加保存退出之后,需要scp到其他6台机器上)

vi ~/.bashrc
#setup Java & Hadoop environment  
export JAVA_HOME=/home/hadoop/app/jdk1.8.0_77
export HADOOP_HOME=/home/hadoop/app/hadoop-2.6.4
export HIVE_HOME=/home/hadoop/app/apache-hive-1.2.1-bin
export HBASE_HOME=/home/hadoop/app/hbase-1.1.4
export ZOOKEEPER_HOME=/home/hadoop/app/zookeeper-3.4.8
export PATH=$PATH:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${HIVE_HOME}/bin:${HBASE_HOME}/bin:${ZOOKEEPER_HOME}/bin
source ~/.bashrc

 

vi hadoop-env.sh

export JAVA_HOME=/home/hadoop/app/jdk1.8.0_77


 

vi core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://ns1/</value>
    </property>

    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/app/hadoop-2.6.4/tmp</value>
    </property>

    <property>
        <name>ha.zookeeper.quorum</name>
        <value>hadoop-0004:2181,hadoop-0005:2181,hadoop-0006:2181</value>
    </property>
</configuration>


 

vi hdfs-site.xml

<configuration>
    <property>
        <name>dfs.nameservices</name>
        <value>ns1</value>
    </property>

    <property>
        <name>dfs.ha.namenodes.ns1</name>
        <value>nn1,nn2</value>
    </property>

    <property>
        <name>dfs.namenode.rpc-address.ns1.nn1</name>
        <value>hadoop-0000:9000</value>
    </property>

    <property>
        <name>dfs.namenode.http-address.ns1.nn1</name>
        <value>hadoop-0000:50070</value>
    </property>

    <property>
        <name>dfs.namenode.rpc-address.ns1.nn2</name>
        <value>hadoop-0001:9000</value>
    </property>

    <property>
        <name>dfs.namenode.http-address.ns1.nn2</name>
        <value>hadoop-0001:50070</value>
    </property>

    <property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://hadoop-0004:8485;hadoop-0005:8485;hadoop-0006:8485/ns1</value>
    </property>

    <property>
        <name>dfs.journalnode.edits.dir</name>
        <value>/home/hadoop/app/hadoop-2.6.4/journaldata</value>
    </property>

    <property>
        <name>dfs.ha.automatic-failover.enabled</name>
        <value>true</value>
    </property>

    <property>
        <name>dfs.client.failover.proxy.provider.ns1</name>
        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
    </property>

    <property>
        <name>dfs.ha.fencing.methods</name>
        <value>
            sshfence
            shell(/bin/true)
        </value>
    </property>

    <property>
        <name>dfs.ha.fencing.ssh.private-key-files</name>
        <value>/home/hadoop/.ssh/id_rsa</value>
    </property>

    <property>
        <name>dfs.ha.fencing.ssh.connect-timeout</name>
        <value>30000</value>
    </property>
</configuration>

 

cp mapred-site.xml.template mapred-site.xml 

vi mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>


 

vi yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.resourcemanager.ha.enabled</name>
        <value>true</value>
    </property>

    <property>
        <name>yarn.resourcemanager.cluster-id</name>
        <value>yrc</value>
    </property>

    <property>
        <name>yarn.resourcemanager.ha.rm-ids</name>
        <value>rm1,rm2</value>
    </property>

    <property>
        <name>yarn.resourcemanager.hostname.rm1</name>
        <value>hadoop-0002</value>
    </property>

    <property>
        <name>yarn.resourcemanager.hostname.rm2</name>
        <value>hadoop-0003</value>
    </property>

    <property>
        <name>yarn.resourcemanager.zk-address</name>
        <value>hadoop-0004:2181,hadoop-0005:2181,hadoop-0006:2181</value>
    </property>

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>


 

vi slaves 

hadoop-0004
hadoop-0005
hadoop-0006


 

配置完毕之后,将hadoop-0000上的hadoop文件夹scp -r到其他6台机器

 

启动:

第一次配置启动务必按照以下步骤一步一步往下走,亲测不会出错。

启动zookeeper集群(分别在hadoop-0004, hadoop-0005, hadoop-0006上启动)

zkServer.sh start

查看状态:一个leader,两个follower

zkServer.sh status

 

启动journalnode(分别在hadoop-0004, hadoop-0005, hadoop-0006上启动)

hadoop-daemon.sh start journalnode

JPS,hadoop-0004, hadoop-0005, hadoop-0006上多了JournalNode进程

 

格式化HDFS(hadoop-0000上执行)

hdfs namenode -format

格式化后会在根据core-site.xml中的hadoop.tmp.dir配置生成个文件,这里配置的是/home/hadoop/app/hadoop-2.6.4/tmp,然后将/home/hadoop/app/hadoop-2.6.4/tmp拷贝到hadoop-0001的/home/hadoop/app/hadoop-2.6.4/下

scp -r tmp/ hadoop-0001:/home/hadoop/app/hadoop-2.6.4/

 

格式化ZKFC(hadoop-0000上执行)

hdfs zkfc -formatZK

 

启动HDFS(hadoop-0000上执行)

start-dfs.sh

启动YARN(hadoop-0002上执行)

start-yarn.sh

另外需要在hadoop-0003上执行

yarn-daemon.sh start resourcemanager

 

测试:

http://hadoop-0000:50070/


 

http://hadoop-0001:50070/


 

http://hadoop-0002:8088/


 http://hadoop-0003:8088/


以后启动集群,可以先在hadoop-0000上start-dfs.sh


 

之后在hadoop-0002上start-yarn.sh


 

接着hadoop-0003上yarn-daemon.sh start resourcemanager


 

最后可以在hadoop-0004,hadoop-0005,hadoop-0006上JPS


 

 

 

 

  • 大小: 28.8 KB
  • 大小: 116.1 KB
  • 大小: 173.2 KB
  • 大小: 47.9 KB
  • 大小: 180.9 KB
  • 大小: 12.3 KB
  • 大小: 69 KB
  • 大小: 70.6 KB
  • 大小: 123.4 KB
  • 大小: 13.4 KB
  • 大小: 302.4 KB
  • 大小: 119.8 KB
  • 大小: 55.6 KB
  • 大小: 35.5 KB
分享到:
评论

相关推荐

    自己总结的hadoop HA安装流程

    - 指定RM地址,如`yarn.resourcemanager.address.hacluster=hostname1:8032`,`yarn.resourcemanager.webapp.address.hacluster=hostname1:8088`,以及nn2的对应设置。 4. 配置mapred-site.xml: - 设置MapReduce...

    Hadoop HA搭建笔记和配置文件

    7. **配置YARN HA**:在`yarn-site.xml`中配置`yarn.resourcemanager.ha.enabled`为true,并设置`yarn.resourcemanager.cluster-id`和`yarn.resourcemanager.ha.rm-ids`。同样,配置`yarn.resourcemanager.address`...

    配hadoopHA最怕就是配置文件错了

    在这里,我们需要配置`yarn.resourcemanager.ha.enabled`为true,并设定`yarn.resourcemanager.cluster-id`和`yarn.resourcemanager.ha.rm-ids`,分别表示集群ID和RM节点ID列表。 3. **core-site.xml** - 在这个...

    hadoop-cluster-build

    同时,根据业务需求,可能还需要配置Hadoop的高可用性,如通过HA实现NameNode冗余。 网络拓扑设计是关键,确保所有节点能正确通信,可能需要配置Hadoop的网络拓扑模型,比如使用环形或树形结构。 安全性设置是企业...

    HadoopHA配置文件.rar

    本文件"**HadoopHA配置文件.rar**"包含了实现Hadoop HA所需的一些核心配置,主要包括`core-site.xml`、`hdfs-site.xml`、`mapred-site.xml`和`yarn-site.xml`,以及`slaves`文件。以下将详细解析这些配置文件中的...

    Hadoop HA搭建脚本资料(必读)

    7. **配置ResourceManager**:在`yarn-site.xml`中启用ResourceManager HA,设置`yarn.resourcemanager.ha.enabled`为true,定义`yarn.resourcemanager.cluster-id`和`yarn.resourcemanager.ha.rm-ids`。 8. **配置...

    hadoop HA配置文件.zip

    `yarn.resourcemanager.ha.enabled`需设置为`true`,并使用`yarn.resourcemanager.cluster-id`和`yarn.resourcemanager.ha.rm-ids`来标识HA集群和RM实例。此外,`yarn.resourcemanager.recovery.enabled`和`yarn....

    hadoop HA+federation

    【Hadoop HA + Federation】是Hadoop 2.0架构中的关键特性,旨在解决Hadoop 1.0中单点故障和性能瓶颈的问题。在Hadoop 1.0中,NameNode作为HDFS的核心组件,负责存储所有元数据,这导致了单一命名空间的局限性和资源...

    HadoopHA高可用集群配置 hdfs-site.xml

    ### Hadoop HA高可用集群配置详解 #### 一、引言 在大数据处理领域,Hadoop作为一款开源软件框架,以其高效稳定的数据处理能力而受到广泛欢迎。而在实际生产环境中,为了确保系统的高可用性和数据的安全性,通常会...

    Hadoop HA配置

    Hadoop HA配置知识点详解: 一、Hadoop HA概述 Hadoop HA(High Availability)即高可用配置,是一种确保Hadoop集群中 Namenode高可靠性的解决方案。Hadoop 2.0.0版本之前,HDFS集群中只有一个NameNode,如果...

    hadoop ha 配置

    - `yarn-site.xml`中的配置如`yarn.resourcemanager.cluster-id`定义集群ID,`yarn.resourcemanager.ha.enabled`开启HA,`yarn.resourcemanager.ha.rm-ids`列出RM ID,`yarn.resourcemanager.address`和`yarn....

    CentOS7下Hadoop3.2.1集群的安装与部署(下)

    在《CentOS7下Hadoop3.2.1集群的安装与部署(上)》中我们我们完成了对Hadoop集群的安装与启动。接下来,重点对HDFS和Yarn的HA配置进行介绍。 HDFS高可用 在上述Hadoop集群搭建完成... dfs.ha.namenodes.hadoop-cluster

    hadoop+HA+zookeeper+hbase配置文件

    Hadoop 2.6.0版本引入了高可用性(HA)特性,增强了系统的稳定性,而Zookeeper则作为协调服务,确保了分布式环境中的有序和一致性。HBase是基于Hadoop的数据存储系统,适用于实时读写的大数据操作。本文将详细阐述...

    HadoopHA高可用集群配置 yarn-site.xml master2

    ### Hadoop HA高可用集群配置详解 #### 一、引言 Hadoop 是一个能够对大量数据进行分布式处理的软件框架。随着业务需求的增长和技术的发展,对于数据处理平台的稳定性和可靠性提出了更高的要求。Hadoop HA(High ...

    9、hadoop高可用HA集群部署及三种方式验证

    《9、Hadoop高可用HA集群部署及三种方式验证》 Hadoop高可用(HA)集群的部署是确保大数据处理系统稳定性和容错性的关键步骤。本篇文章将详细解析如何设置一个Hadoop HA环境,包括集群规划、部署以及验证。在开始之前...

    hadoop-2.7.2/4-ha-conf

    6. **YARN HA**:在YARN中,ResourceManager(RM)也实现了HA,配置方式类似,但涉及的配置文件主要是`yarn-site.xml`,如`yarn.resourcemanager.cluster-id`,`yarn.resourcemanager.ha.enabled`,`yarn....

    Hadoop_硬件HA_配置

    硬件HA的实现依赖于RHCS(Red Hat Cluster Suite),它包含luci、ricci、cman和rgmanager等组件。通过`yum install luci ricci cman rgmanager`命令来安装这些组件。启动服务并配置它们自动启动: 1. 在mfs01上启动...

    Hadoop2.2.0集群安装

    ### Hadoop2.2.0集群安装:QJM实现HA及Hdfs-site配置详解 #### 一、Hadoop2.2.0完全分布式集群平台安装设置概述 在深入探讨Hadoop2.2.0的安装过程之前,我们需要了解Hadoop的基本架构以及其核心组件——HDFS...

    apache hadoop 2.7.2.chm

    ResourceManager HA Node Labels Web Application Proxy YARN Timeline Server Writing YARN Applications YARN Commands NodeManager Restart DockerContainerExecutor Using CGroups Secure Containers ...

Global site tag (gtag.js) - Google Analytics