복붙노트

[HADOOP] Hadoop이 웹 인터페이스에 표시하는 모든 직업 추적기 및 작업 추적기 정보를 프로그래밍 방식으로 어떻게 얻을 수 있습니까?

HADOOP

Hadoop이 웹 인터페이스에 표시하는 모든 직업 추적기 및 작업 추적기 정보를 프로그래밍 방식으로 어떻게 얻을 수 있습니까?

Cloudera의 Hadoop 배포 CDH-0.20.2CDH3u0을 사용하고 있습니다. jobtracker 상태, tasktracker 상태, hadoop 프레임 워크 외부에서 실행중인 JAVA 프로그램을 사용하는 카운터 등의 정보를 얻을 수있는 방법이 있습니까? JMX를 사용하여 듣기를 시도했지만 hadoop은 Jobtracker, tasktracker 및 datanode에 관한 정보를 거의 제공하지 않습니다. 맵 퍼센트 완료, 퍼센트 완료, 태스크 퍼센트 완료, 시도 완료 퍼센트, 카운터 상태 등과 같은 작업 상태의 실행과 관련된 JMX 속성을 제공하지 않습니다.

또한 hadoop에 의해 덤프 된 통계 로그를 사용하여 시도했습니다. 그러나 맵 / 감소율 완료, 완료율 완료에 관한 정보도 포함되어 있지 않습니다.

내 생각에, 모든 것들을 얻으려면 대체 방법이 있어야합니다.

답장을 보내주십시오.

해결법

  1. ==============================

    1.이것이 맞는지 확실하지 않지만 당신이 색조를 시험해 볼 수 있습니다. 나는 색조가 일에 관한 정보를 제공한다고 생각한다. 오픈 소스 이후로 당신은 구직자와 이름 추적자에 어떻게 접근하는지 볼 수 있습니다.

    이것이 맞는지 확실하지 않지만 당신이 색조를 시험해 볼 수 있습니다. 나는 색조가 일에 관한 정보를 제공한다고 생각한다. 오픈 소스 이후로 당신은 구직자와 이름 추적자에 어떻게 접근하는지 볼 수 있습니다.

  2. ==============================

    2.Hadoop API를 사용하여 프로그래밍 방식으로이 정보에 액세스 할 수 있습니다. 특히 클러스터에 적합한 구성으로 JobClient를 인스턴스화 한 다음 해당 인스턴스에서 getJob을 사용하여 RunningJob을 얻을 수 있습니다. 그걸로, 당신은 당신이 찾고있는 세부 사항에 도달 할 수 있어야한다. (코드가 완전히 테스트되지 않았지만 올바른 생각의 방향으로 나는 희망한다.)

    Hadoop API를 사용하여 프로그래밍 방식으로이 정보에 액세스 할 수 있습니다. 특히 클러스터에 적합한 구성으로 JobClient를 인스턴스화 한 다음 해당 인스턴스에서 getJob을 사용하여 RunningJob을 얻을 수 있습니다. 그걸로, 당신은 당신이 찾고있는 세부 사항에 도달 할 수 있어야한다. (코드가 완전히 테스트되지 않았지만 올바른 생각의 방향으로 나는 희망한다.)

    JobClient theJobClient = new JobClient(new InetSocketAddress("your.job.tracker", 8021), new Configuration());
    RunningJob theJob = theJobClient.getJob("job_id_string"); // caution, deprecated
    float mapProgress = theJob.mapProgress(); // similar for reduceProgress
    // etc (see RunningJob)
    

    JobStatus의 배열을 반환하는 JobClient.jobsToComplete를 사용하여 현재 실행중인 작업 목록을 가져올 수도 있습니다. JobStatus 배열은 유사한 값 (mapProgress 등)을 제공해야하며 위의 RunningJob을 가져올 수있는 JobID 인스턴스를 제공 할 수 있습니다 (if deprecated 메소드를 피하기를 원한다).

    분명히 추가 옵션이 있습니다. 자세한 내용은 http://hadoop.apache.org/common/docs/r0.20.2/api/org/apache/hadoop/mapred/JobClient.html에서 시작하십시오.

  3. from https://stackoverflow.com/questions/6620374/how-could-i-programmatically-get-all-the-job-tracker-and-tasktracker-information by cc-by-sa and MIT license