hadoop-005-YARN HA如何配置

发布时间:2021-12-07 14:49:53 作者:小新
来源:亿速云 阅读:166

Hadoop-005-YARN HA如何配置

1. 概述

YARN(Yet Another Resource Negotiator)是Hadoop生态系统中的资源管理系统,负责集群资源的管理和调度。在生产环境中,YARN的高可用性(High Availability, HA)至关重要,以确保集群在出现故障时仍能正常运行。本文将详细介绍如何配置YARN的高可用性。

2. YARN HA的基本概念

YARN的高可用性主要通过以下两个组件实现:

3. 配置ResourceManager HA

3.1 前提条件

在配置YARN HA之前,确保以下条件已满足:

3.2 配置步骤

3.2.1 修改yarn-site.xml文件

yarn-site.xml文件中添加或修改以下配置项:

<configuration>
    <!-- 启用ResourceManager HA -->
    <property>
        <name>yarn.resourcemanager.ha.enabled</name>
        <value>true</value>
    </property>

    <!-- 指定ResourceManager的逻辑ID -->
    <property>
        <name>yarn.resourcemanager.ha.rm-ids</name>
        <value>rm1,rm2</value>
    </property>

    <!-- 配置每个ResourceManager的主机名 -->
    <property>
        <name>yarn.resourcemanager.hostname.rm1</name>
        <value>rm1-hostname</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname.rm2</name>
        <value>rm2-hostname</value>
    </property>

    <!-- 配置ZooKeeper集群地址 -->
    <property>
        <name>yarn.resourcemanager.zk-address</name>
        <value>zk1:2181,zk2:2181,zk3:2181</value>
    </property>

    <!-- 配置ResourceManager的状态存储目录 -->
    <property>
        <name>yarn.resourcemanager.store.class</name>
        <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
    </property>

    <!-- 配置ResourceManager的自动故障转移 -->
    <property>
        <name>yarn.resourcemanager.recovery.enabled</name>
        <value>true</value>
    </property>

    <!-- 配置ResourceManager的Web UI地址 -->
    <property>
        <name>yarn.resourcemanager.webapp.address.rm1</name>
        <value>rm1-hostname:8088</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address.rm2</name>
        <value>rm2-hostname:8088</value>
    </property>
</configuration>

3.2.2 修改core-site.xml文件

core-site.xml文件中添加或修改以下配置项:

<configuration>
    <!-- 配置HDFS的HA -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://mycluster</value>
    </property>

    <!-- 配置ZooKeeper的HA -->
    <property>
        <name>ha.zookeeper.quorum</name>
        <value>zk1:2181,zk2:2181,zk3:2181</value>
    </property>
</configuration>

3.2.3 启动ResourceManager

在所有配置了ResourceManager的节点上启动ResourceManager服务:

$ yarn-daemon.sh start resourcemanager

3.2.4 验证ResourceManager HA

通过以下命令验证ResourceManager HA是否配置成功:

$ yarn rmadmin -getServiceState rm1
$ yarn rmadmin -getServiceState rm2

如果返回结果为activestandby,则表示ResourceManager HA配置成功。

4. 配置Timeline Server HA

4.1 前提条件

在配置Timeline Server HA之前,确保以下条件已满足:

4.2 配置步骤

4.2.1 修改yarn-site.xml文件

yarn-site.xml文件中添加或修改以下配置项:

<configuration>
    <!-- 启用Timeline Server HA -->
    <property>
        <name>yarn.timeline-service.ha.enabled</name>
        <value>true</value>
    </property>

    <!-- 指定Timeline Server的逻辑ID -->
    <property>
        <name>yarn.timeline-service.ha.id</name>
        <value>timeline1,timeline2</value>
    </property>

    <!-- 配置每个Timeline Server的主机名 -->
    <property>
        <name>yarn.timeline-service.hostname.timeline1</name>
        <value>timeline1-hostname</value>
    </property>
    <property>
        <name>yarn.timeline-service.hostname.timeline2</name>
        <value>timeline2-hostname</value>
    </property>

    <!-- 配置ZooKeeper集群地址 -->
    <property>
        <name>yarn.timeline-service.zk-address</name>
        <value>zk1:2181,zk2:2181,zk3:2181</value>
    </property>

    <!-- 配置Timeline Server的状态存储目录 -->
    <property>
        <name>yarn.timeline-service.store.class</name>
        <value>org.apache.hadoop.yarn.server.timeline.recovery.ZKTimelineStateStore</value>
    </property>

    <!-- 配置Timeline Server的自动故障转移 -->
    <property>
        <name>yarn.timeline-service.recovery.enabled</name>
        <value>true</value>
    </property>

    <!-- 配置Timeline Server的Web UI地址 -->
    <property>
        <name>yarn.timeline-service.webapp.address.timeline1</name>
        <value>timeline1-hostname:8188</value>
    </property>
    <property>
        <name>yarn.timeline-service.webapp.address.timeline2</name>
        <value>timeline2-hostname:8188</value>
    </property>
</configuration>

4.2.2 启动Timeline Server

在所有配置了Timeline Server的节点上启动Timeline Server服务:

$ yarn-daemon.sh start timelineserver

4.2.3 验证Timeline Server HA

通过以下命令验证Timeline Server HA是否配置成功:

$ yarn timelineadmin -getServiceState timeline1
$ yarn timelineadmin -getServiceState timeline2

如果返回结果为activestandby,则表示Timeline Server HA配置成功。

5. 总结

通过以上步骤,我们成功配置了YARN的高可用性。ResourceManager HA和Timeline Server HA的配置确保了在出现故障时,YARN集群仍能正常运行,从而提高了集群的可靠性和稳定性。在实际生产环境中,建议定期测试HA配置,以确保其在实际故障发生时能够正常工作。

推荐阅读:
  1. Hadoop完全分布式部署
  2. hadoop跟mysql的区别有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hadoop yarn

上一篇:Spring Boot中的yaml怎么配置

下一篇:OAuth协议的授权模式有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》