1. 程式人生 > >Hadoop2.6.0開發遇到的所有問題及解決方案

Hadoop2.6.0開發遇到的所有問題及解決方案

一、如果配置了HDFS的federation,使用eclipse外掛配置完M/R Master的埠(50020)和DFS Master的埠(9000)後,無法連線到HDFS看遠端目錄結構

解決辦法:切換到Advanced parameters標籤,修改fs.defaultFS為hdfs://192.168.0.14:9000/tmp

二、使用Maven開發hadoop2 mapreduce時,下載不了hadoop2.6.0的一些相關包的解決辦法

在pom.xml中增加如下配置:

<repositories> 

    <repository> 

        <id>maven.oschina.net</id> 

        <url>http://maven.oschina.net/content/groups/public/</url> 

    </repository> 

</repositories>

三、引入hadoop2的mapreduce工程報錯Missing artifact jdk.tools:jdk.tools:jar:1.7

在pom.xml檔案中增加如下配置:

<dependency>

      <groupId>jdk.tools</groupId>

      <artifactId>jdk.tools</artifactId>

      <version>1.7</version>

      <scope>system</scope>

      <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>

</dependency>

四、Container *** is running beyond virtual memory limits. Current usage:498.0MB od 1GB physical memory used;2.7GB of 2.1GB virtual memory used.Killing container.

修改yarn-site.xml中yarn.scheduler.minimum-allocation-mb(預設1024)為2048或更大,根據程式需求調整。

五、Container *** is running beyond physical memory limits. Current usage: 2.5 GB of 2.5 GB physical memory used; 3.1 GB of 12.5 GB virtual memory used. Killing container.

在提交作業的命令中加入hadoop jar <jarName> -Dmapreduce.reduce.memory.mb=4096或hadoop jar <jarName> -Dmapreduce.map.memory.mb=4096

或者修改mapred-site.xml中的mapreduce.map.memory.mb(預設1024)或mapreduce.reduce.memory.mb(預設1024)引數。

六、org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.OutOfMemoryError: Java heap space

修改mapred-site.xml,增加如下配置:

<property>

  <name>mapred.child.java.opts</name>

  <value>-Xmx1024m</value>

</property>

七、 [ContainerLauncher #4] org.apache.hadoop.ipc.Client: Retrying connect to server: data-17/192.168.0.17:37595. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)

[ContainerLauncher #4] org.apache.hadoop.ipc.Client: Retrying connect to server: data-17/192.168.0.17:37595. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)......

可能是防火牆沒有關閉,關閉防火牆可以解決。(目前沒有找到相應的通訊埠,若找到開啟埠即可(37595????),不需要關閉防火牆)