hadoop 无法连接到本地主机

hadoop cannot connect to 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.1:8032");

如果你的集群运行很好,连接这个集群的最简单方法可以是

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

Configuration conf = new Configuration();

conf.addResource(new Path("file:///path/to/client/yarn-site.xml"));

...

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