hadoop单伪分布式节点集群中的java问题

h7appiyu  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(420)

我正在尝试将hadoop服务器设置为pseudo distributed,以允许并行执行map/reduce任务。现在,当我运行作业时,控制台输出以下行:

Running job: job_local1508664063_0001

这意味着我处于本地模式,所以所有任务都按顺序排列是正常的。这是我当前的配置,我必须编辑什么才能让hadoop运行并行Map任务/减少任务(我使用start dfs和start yarn运行hadoop服务器)
mapred-site.xml文件

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

    <property>
        <name>mapreduce.jobtracker.address</name>
        <value>mymachine:54311</value>
        <description>The host and port that the MapReduce job tracker runs
        at.  If "local", then jobs are run in-process as a single map
        and reduce task.
        </description>
    </property>

    <property>
        <name>mapreduce.jobtracker.http.address</name>
        <value>mymachine:50030</value>
        <description>The host and port that the MapReduce job tracker runs
        at.  If "local", then jobs are run in-process as a single map
        and reduce task.
        </description>
    </property>

</configuration>

mymachine是服务器的帐户名。我也试过用ip得到同样的结果,作业管理器仍然认为服务器是“本地的”。当前作业创建12个Map任务,这些任务按顺序运行。
如本帖所述:
stackoverflow.com/questions/26267476/why-my-map-reduce-job-is-running-sequential为什么
ps:为了确保已加载配置,在我的java Web服务中,我对以下内容进行了冗余设置:

conf.set("mapreduce.jobtracker.address", "mymachine:54311");
conf.set("mapreduce.jobtracker.http.address", "mymachine:50030");

我还设置了允许多个contaniers==>并行Map任务的资源
(i7 4/8,8gb内存)

conf.set("yarn.nodemanager.resource.memory-mb", "6144");
conf.set("yarn.nodemanager.resource.cpu-vcores", "8");
conf.set("yarn.scheduler.minimum-allocation-mb", "1024");

如何修改配置?我的hadoop版本是2.7.1

bihw5rsg

bihw5rsg1#

您可以使用一个免费的开源apacheambari来安装、配置和管理一个完整的hadoop集群,可以是单节点的,也可以是多节点的,所有的配置都来自webui,或者将配置模板存储在版本控制中。
使用ambari部署、管理和配置hdp

mitkmikd

mitkmikd2#

在hadoop2.x中没有jobtracker和tasktraker。来自hadoop1.x。
我在github上维护一个脚本,可以从头开始设置hadoop。你会发现它很有用。它包含最少的hadoop配置。
https://github.com/hadoopfromscratch/hadoopfromscratch/

相关问题