2017-02-16 281 views
1

我是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應該可以成功啓動。

有誰知道如何解決這個問題?

回答

0

50070是HDFS Namenode的webui端口,默認yarn.resourcemanager.address IPC端口是8032,嘗試更新代碼中的下面一行。

conf.set(「yarn.resourcemanager.address」,「http://127.0.0.1:8032」);

+0

這工作!非常感謝!!! – Lingyao

0

如果您的集羣運行正常,連接該集羣的最簡單的方法可以

  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分佈,你應該能夠下載客戶端的配置包,並利用它們在本地連接到羣集。

相關問題