2017-04-19 4 views
0

작업 관리자의 정수/해시 ID를 가져 와서이를 사용하여 메트릭을보고 싶습니다.flink taskmanagers의 작업 관리자 ID를 얻는 방법이 있습니까

+0

Flink WebUI RESTful API : **/taskmanagers **를 시도하면 인스턴스 ID가있는 TaskManager의 목록이 반환됩니다. – David

+0

코드 또는 일부 api를 통해 프로그래밍 방식으로 얻으려고합니다. – mukh007

+0

아, 알겠습니다. RpcService.connect()를 사용하여 RPC 메소드 ** requestRegisteredTaskManagers **를 제공하는 ** JobMasterGateway **를 사용하여 등록 된 모든 TaskManagers를 검색 할 수 있습니다. – David

답변

0

나는 원사 응용 프로그램 컨테이너 ID를 얻어서 솔루션을 가지고 각 작업 관리자가 실행 중입니다.

컨테이너 ID는 내 용도에 적합하지만 모든 통찰력에 감사드립니다.

0

작업 관리자의 웹 프론트 엔드에서 어떤 작업 슬롯에 매핑되어있는 작업이 http://localhost:8081인지 확인할 수 있습니다. 또한 많은 측정 항목이 있습니다.

+0

코드 자체만으로도이 기능에 액세스 할 수있을 것으로 기대됩니다. 또한 내 앱 고유의 측정 항목을 게시해야합니다. – mukh007

0

메트릭 시스템을 사용할 수 있습니다. A (부자) 사용자 정의 함수 호출 getRuntimeContext() 내에서

. getMetricGroup(). getAllVariables(). 수 ("<이 >을 tm_id")

마지막으로
+0

이것은 나에게 taskId를 제공합니다. 즉, 동일한 노드에 여러 작업이 배포 된 경우 해당 작업에 대해 다른 병렬 처리 ID가 표시되고 전역 taskmanager_id (jvm의 경우)가 표시되지 않습니다. – mukh007

+0

사용해 보셨습니까? 작업 ID는 ""으로 액세스 할 수 있기 때문에 –

+0

예,하지만 작업 ID는 임의의 해시입니다. 예를 들어 예측 가능한 숫자가 필요합니다. 1, 2, 3 ..... – mukh007