크기가 알려져 있지 않은 여러 시스템 (주 메모리, 코어 수, 크기 등)으로 구성된 클러스터에서 hadoop 작업을 실행하고 있습니다.하둡 클러스터를 수집하는 방법 크기/코어 수 정보
- : 모든 OS 특정 라이브러리 (* 내 말은 .so를 파일)를 사용하지 않고, 내가 하둡 MR 작업이 실행되는 동안 같은 정보를 수집 할 수있는 자체 또는 일부 추가 라이브러리에서 하둡에 대한 모든 클래스 또는 도구가 코어의 총 수/작업
- 가능한 총 메인 메모리/할당 가능한 메인 메모리로 사용되는 코어의 수 각 기계/할당 된 저장 공간에
- 총 저장 공간 4.
난 몰라 하드웨어 정보를 가지고있다. 이온 또는 클러스터의 사양에 대한 정보를 제공합니다.이 정보는 내 hadoop 코드에서 프로그래밍 방식으로 수집해야합니다.
어떻게하면됩니까? 다른 이유 때문에 이런 종류의 정보를 알고 싶습니다. 한 가지 이유는 다음과 같은 오류로 나타납니다. 공간이 부족한 시스템을 알고 싶습니다.
12/07/17 14:28:25 INFO mapred.JobClient: Task Id : attempt_201205221754_0208_m_001087_0, Status : FAILED
org.apache.hadoop.util.DiskChecker$DiskErrorException: Could not find any valid local directory for output/spill2.out
at org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.getLocalPathForWrite(LocalDirAllocator.java:376)
at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:146)
at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:127)
at org.apache.hadoop.mapred.MapOutputFile.getSpillFileForWrite(MapOutputFile.java:121)
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.sortAndSpill(MapTask.java:1247)
at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.flush(MapTask.java:1155)
at org.apache.hadoop.mapred.MapTask$NewOutputCollector.close(MapTask.java:582)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:649)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:323)
at org.apache.hadoop.mapred.Child$4.run(Child.java:270)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.
이름 노드 웹 UI를 통해 사용 가능한 디스크 공간을 볼 수 있습니다. 라이브 노드 링크를 클릭하십시오. –