hadoop无法连接到本地主机

问题描述:

我是hadoop的初学者。现在,我有一个Maven项目和配置如下:hadoop无法连接到本地主机

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”);

+0

这工作!非常感谢!!! – Lingyao

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

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

Configuration conf = new Configuration();

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

...

如果您正在使用HDP或CDH分布,你应该能够下载客户端的配置包,并利用它们在本地连接到群集。