在伪分布式模式下设置高可用性(ha)

idv4meu8  于 2021-06-01  发布在  Hadoop
关注(0)|答案(0)|浏览(275)

我是一名学生,开始了一个涉及hadoop的新研究项目。
我一直在尝试在一台机器(我的个人电脑与ubuntu16.04)上安装yarn-ha进行一些测试。很难在单个节点上找到resourcemanager ha测试的报告(此链接是少数几个有相关信息的链接之一)。
我的hadoop(目前是2.7.5版,我已经尝试过2.9版,但遇到了相同的问题)配置是:
etc/hadoop/core-site.xml:

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

etc/hadoop/hdfs-site.xml:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

Yarn结构:
etc/hadoop/mapred-site.xml

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

etc/hadoop/yarn-site.xml文件
在这里我尝试了很多不同的配置,因为我认为端口号或主机名有一些问题。在这种情况下,我尝试编辑这里显示的基本配置,并按照这里Yarn配置参数的说明进行编辑。实际上,我对rms应该使用的地址有点困惑(它真的是localhost吗?)。

<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>

    <!-- H.A. -->
    <property>
        <name>yarn.resourcemanager.ha.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.resourcemanager.cluster-id</name>
        <value>yarn-cluster</value>
    </property>
    <property>
        <name>yarn.resourcemanager.ha.rm-ids</name>
        <value>rm1,rm2</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname.rm1</name>
        <value>localhost</value> 
    </property>
    <property>
        <name>yarn.resourcemanager.hostname.rm2</name>
        <value>localhost</value>
    </property>
    <property>
        <name>yarn.resourcemanager.recovery.enabled</name>
        <value>true</value>
    </property>

    <!-- RM1 Configs -->
    <property>
        <name>yarn.resourcemanager.address.rm1</name>
        <value>localhost:23140</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address.rm1</name>
        <value>localhost:23130</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address.rm1</name>
        <value>localhost:23188</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address.rm1</name>
        <value>localhost:23125</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address.rm1</name>
        <value>localhost:23141</value>
    </property>

    <!-- RM2 configs -->
    <property>
        <name>yarn.resourcemanager.address.rm2</name>
        <value>localhost:33140</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address.rm2</name>
        <value>localhost:33130</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address.rm2</name>
        <value>localhost:33188</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address.rm2</name>
        <value>localhost:33125</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address.rm2</name>
        <value>localhost:33141</value>
    </property>

所以,我试着跑:

$ yarn rmadmin -getServiceState rm1

但我每次都有连接异常。如下所示:

18/04/05 21:49:59 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:23141. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=1, sleepTime=1000 MILLISECONDS)

Operation failed: Call From hadoop-pc/127.0.1.1 to localhost:23141 failed on connection exception: java.net.ConnectException: Connection refused;

For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

谁能帮我一下吗?我真的不知道我做错了什么或者我能做些什么来弥补它。
编辑:可以在一台机器上设置Yarnha吗?我想用zookeeper来做,但现在我不确定这是否可行。
谢谢你的帮助。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题