Hadoop2.6.0開發遇到的所有問題及解決方案
阿新 • • 發佈:2018-12-12
一、如果配置了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????),不需要關閉防火牆)