Hadoop 실행 오류 기록
5504 단어 hadoop
1 15/04/22 14:46:46 INFO mapred.JobClient: Task Id : attempt_201504221017_0006_r_000077_0, Status : FAILED
2 java.lang.RuntimeException: Error while running command to get file permissions : java.io.IOException: Cannot run program "/bin/ls": error=11, Resource temporarily unavailable
3 at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)
4 at org.apache.hadoop.util.Shell.runCommand(Shell.java:200)
5 at org.apache.hadoop.util.Shell.run(Shell.java:182)
6 at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:375)
7 at org.apache.hadoop.util.Shell.execCommand(Shell.java:461)
8 at org.apache.hadoop.util.Shell.execCommand(Shell.java:444)
9 at org.apache.hadoop.fs.FileUtil.execCommand(FileUtil.java:712)
10 at org.apache.hadoop.fs.RawLocalFileSystem$RawLocalFileStatus.loadPermissionInfo(RawLocalFileSystem.java:448)
11 at org.apache.hadoop.fs.RawLocalFileSystem$RawLocalFileStatus.getOwner(RawLocalFileSystem.java:431)
12 at org.apache.hadoop.mapred.TaskLog.obtainLogDirOwner(TaskLog.java:267)
13 at org.apache.hadoop.mapred.TaskLogsTruncater.truncateLogs(TaskLogsTruncater.java:124)
14 at org.apache.hadoop.mapred.Child$4.run(Child.java:260)
15 at java.security.AccessController.doPrivileged(Native Method)
16 at javax.security.auth.Subject.doAs(Subject.java:415)
17 at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
18 at org.apache.hadoop.mapred.Child.main(Child.java:249)
19 Caused by: java.io.IOException: error=11, Resource temporarily unavailable
20 at java.lang.UNIXProcess.forkAndExec(Native Method)
21 at java.lang.UNIXProcess.<init>(UNIXProcess.java:186)
22 at java.lang.ProcessImpl.start(ProcessImpl.java:130)
23 at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028)
24 ... 15 more
이 문제는 현재 Hadoop 작업을 제출한 사용자가 열 수 있는 파일 개수 제한 (주로 slave 결점) 때문일 가능성이 높으며, ulimit-n을 사용하여 현재 사용자가 열 수 있는 파일 개수를 볼 수 있습니다.
참조:http://mail-archives.apache.org/mod_mbox/nutch-user/201312.mbox/%[email protected]%3E
문제 2:java.lang.OutOfMemoryError: unable to create new native thread
1 15/04/22 11:08:16 WARN hdfs.DFSClient: DataStreamer Exception: java.lang.OutOfMemoryError: unable to create new native thread
2 at java.lang.Thread.start0(Native Method)
3 at java.lang.Thread.start(Thread.java:714)
4 at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:3030)
이 문제는 반드시 메모리가 부족한 것은 아닙니다. 현재 Hadoop 작업을 제출한 사용자가 만들 수 있는 프로세스 개수 제한 (주로 slave 결점) 을 사용하면ulimit-u를 사용하여 현재 사용자가 만들 수 있는 파일 개수를 볼 수 있습니다.
참조:http://www.nosql.se/2011/10/hadoop-tasktracker-java-lang-outofmemoryerror/
현재 사용자가 생성할 수 있는 프로세스 개수를 수정하는 방법:
CentOS에서 vim/etc/security/limits.d/90-nproc.conf 파일 끝에 다음 문장을 추가합니다.
1 * soft nproc 102400
2 * hard nproc 102400
수정이 완료되면 사용자를 사용하여 다시 로그인해야 합니다.(Xshell과 같은 원격 소프트웨어를 사용하는 경우 호스트 원격 연결의 탭 카드를 끄고 다시 로그인하면 됩니다.)
질문 3:
여부
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Azure HDInsight + Microsoft R Server에서 연산 처리 분산Microsoft Azure HDInsight는 Microsoft가 제공하는 Hadoop의 PaaS 서비스로 인프라 주변의 구축 노하우를 몰라도 훌륭한 Hadoop 클러스터를 구축할 수 있는 훌륭한 서비스입니다. 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.