Hadoop无法连接到Localhost



我是Hadoop的初学者。现在,我有一个Maven项目,配置如下:

Configuration conf = new Configuration();
conf.set("mapred.job.tracker", "http://127.0.0.1:8088");
conf.set("yarn.resourcemanager.address", "http://127.0.0.1:50070");
conf.set("mapreduce.framework.name", "yarn");

但是当我在笔记本电脑上运行它时,该程序将停在

INFO client.RMProxy: Connecting to ResourceManager at /127.0.0.1:50070

如果我将配置更改为

Configuration conf = new Configuration();
conf.set("mapred.job.tracker", "http://localhost:8088");
conf.set("yarn.resourcemanager.address", "http://hoathost:50070");
conf.set("mapreduce.framework.name", "yarn");

该程序将停在

INFO client.RMProxy: Connecting to ResourceManager at localhost/127.0.0.1:50070

我可以在浏览器中看到127.0.0.1:50070页面,因此应该成功地启动Hadoop。

有人知道如何解决这个问题吗?

50070是hdfs namenode webUI端口,默认yarn.resourcemanager.address ipc端口为8032,尝试在代码中更新以下行。

conf.set(" yarn.resourcemanager.address"," http://127.0.0.0.1:8032");

如果您的群集运行正常,那么连接此群集的最简单方法可以是

  1. 复制hadoop conf从$ hadoop_conf_dir到本地dir
  2. 将配置文件加载到您的客户端Configuration

配置conf = new Configuration();

conf.addresource(新路径(" file:///path/to/client/yarn-site.xml"));

...

如果您使用的是HDP或CDH发行版,则应该能够下载客户端配置软件包并在本地使用它们连接到集群。

最新更新