2

IoT 데이터에서 스트리밍 분석을 수행하기 위해 헤론을 사용하고 있습니다. 현재 아키텍처에서 병렬 처리 요소 1을 가진 스파우트가 하나만 있습니다.최대 스파우트 용량

스파링에서 내부적으로 사용하는 대기열에서 헤론이 보유 할 수있는 데이터 양에 대한 통계를 벤치마킹하려고합니다.

값을 전달하여 setMaxSpoutPending() 메서드를 사용하고 있습니다. 이 메소드에 전달하는 숫자에 제한이 있는지 알고 싶습니다.

시스템 구성을 늘리거나 토폴로지에 더 많은 리소스를 제공하여 매개 변수 방법을 조정할 수 있습니까?

+0

폭풍/스파크 질문으로 태그해야합니까? 헤론에 관한 것 같습니다. –

+0

@ StigRohdeDøssing 그러나 질문을 추가하는 동안 Heron 태그를 찾을 수 없습니다. ( –

+0

죄송합니다. 귀하가 맞다고 생각하고 Heron 태그가없는 것 같습니다. 왜 이것이 태그로 표시된 이유에 대해 조금 혼란스러워했습니다. 스톰 질문 :) –

답변

1

스파우트와 볼트가 하나 인 경우 보류중인 튜플 수를 제어하는 ​​가장 좋은 방법은 최대 스파우 펜딩입니다. Max Spout 보류를 무기한 증가시킬 수 있습니다. 그러나 일정량 이상으로 늘리면 시간 초과 오류가 발생할 가능성이 높아지며 최악의 경우에는 앞으로 진행되지 않을 수 있습니다. 또한 msp가 높을수록 스파우트 및 토폴로지의 다른 구성 요소에 더 많은 힙이 필요합니다.

+0

귀하의 답변은 문제에 대한 실제 답변을 제공하는 것보다 명확한 설명을 찾는 것에 관한 것입니다. 질문에 대한 논평으로하는 것이 더 낫습니다. – Nick

+0

@Sanjeev 스파우트에서 인코딩 된 데이터 (온도)를 수신하고이를 토폴로지의 볼트에 전달하여 디코딩 된 데이터 (온도)에 대한 이동 평균을 계산합니다. 스파우트가 비행 중에 처리 할 수있는 데이터에 대한 벤치마킹을하고 있습니다. 우리가 토폴로지에 대한 리소스 할당을 조정할 수 있고 무엇인가 변경되는지 확인하십시오. –

1

MSP는 토폴로지 처리율을 제어하는 ​​데 사용됩니다. Storm에게 주어진 시간에 확인되지 않을 수있는 튜플의 최대 수를 알려줍니다. MSP가 토폴로지의 병렬 처리보다 낮 으면 병목이 될 수 있습니다. 반면에 토폴로지 병렬 처리 수준을 초과하는 MSP가 증가하면 토폴로지가 '범람'되고 인바운드 튜플을 따라갈 수 없습니다. 이러한 상황에서 토폴로지의 '메시지 시간 초과'가 초과되며 스톰은 새로운 튜플을 계속 먹이면서 리플레이를 시도합니다. 스톰은 MSP 한도에 도달했을 때만 새로운 인바운드 튜플을 먹이는 것을 중지합니다.

그래, 조정할 수 있지만 시간이 초과 된 튜플에주의하여 토폴로지가 압도적 인 상태임을 나타냅니다.

사실, IoT 이벤트를 처리하는 경우 spout 튜플을 필드 그룹화를 사용하여 장치 ID (장치 당 튜플 스트림)별로 그룹화하여 병렬 처리를 높일 수 있습니다.