2017-12-26 20 views
0

필자는 원사에 플랭크 (AWS EMR 원사 클러스터에서보다 정확하게)를 실행 중입니다.플랭크 컨테이너의 코어 크기가 항상 1 인 이유

나는 기본적으로 각 작업 관리자 컨테이너에 대해 flink가 원사로부터 자원을 요청할 때 작업 관리자 당 슬롯 수를 vCOres의 수로 요청한다는 flink 문서와 소스 코드를 읽습니다. 그리고 나는 또한 소스 코드에서 확인 : 나는 -yn 1 -ys 3, 나는, 원사가 유일한 작업 관리자 컨테이너 3 vcores을 할당합니다 가정 FLINK를 시작하는 데 사용할

// Resource requirements for worker containers 
      int taskManagerSlots = taskManagerParameters.numSlots(); 
      int vcores = config.getInteger(ConfigConstants.YARN_VCORES, 
Math.max(taskManagerSlots, 1)); 
      Resource capability = Resource.newInstance(containerMemorySizeMB, 
vcores); 

      resourceManagerClient.addContainerRequest(
       new AMRMClient.ContainerRequest(capability, null, null, 
priority)); 

하지만 난을 선택하면 원사 리소스 관리자 웹 ui에서 각 컨테이너에 대한 vcores의 수를, 나는 항상 vcores의 수를 볼 수 있습니다 1. 또한 원사 리소스 관리자 로그에서 1로 vcore를 참조하십시오.

은 내가 아래에 붙여 라인에 FLINK 소스 코드를 디버깅, 나는 vcores의 값이 3입니다 보았다. 이것은 정말로 나를 혼란스럽게합니다. 누군가 나를 도와 줄 수 있습니다, 감사합니다.

+0

은 어떻게 당신의 응용 프로그램을 실행합니까? IDE에서 명령을 사용하거나 명령을 사용하는 경우 명령을 사용하십시오 – soheil

+0

명령 행에서 시작 : 플립 킹 작업을 시작하려면 "flink run -m yarn-cluster -yn 1 -ys 3 uber.jar" – yinhua

+0

어느 것이 든 도움이 될 수 있습니다. ? – yinhua

답변