Kudu

[kudu] 3편 - Scaling cluster

Sencia 2021. 4. 6. 15:42
반응형

클러스터 memory 충분한지 어떻게 알 수 있을까?

1) 진행중인 워크로드 기반하여 메모리 사용량 추론 

  • Scans 대시보드 https://tserver:8050/scans 
  • Transaction 대시보드 https://tserver:8050/transactions 
  • 클라우데라 매니져를 통해 Metrics 확인 

 

2) 메모리 사용량 측정 

  • Mem-trackers https://tserver:8050/mem-trackers 
  • pprof 
    • gperftools 사용 
      pprof -svg tserver:8050/pprof/heap 

Scans dashboard
Transactions dashboard 
Cloudera Metrics
Mem-trackers 
pprof 

 

Node density 

한 서버당 1000-2000 태블릿 replica 적당 

현재 모든 태블릿은 하나의 WAL disk 공유 

  • 속도를 위해 빠른 disk 사용 필요(SSD나 NVM) 

서버는 공유 큐 (write, consensus)를 사용하여 RPC를 비동기 적으로 처리 

  • 많은 consensus traffic 발생할때 overflow로 이어질 수 있음 
  • 큐 길이와 안정성을 위해 Raft heartbeat를 올리면 성능 향상 


결론 

workfload에 대한 결정 
- 어느 정도의 데이터가 들어오는지
- 어느 정도의 데이터가 질의되는지 

전체 데이터의 양이 얼마나 되는지 
- storage가 얼마나 필요한지 
- 메모리가 얼마나 필요한지 

이런 여러 세부사항에 따라 클러스터 구성 

 

참고 

1) 2019년 클라우데라 웨비나 세션 중 "Apache kudu를 이용한 실시간 워크로드 최적화"

optimizing your realtime workfloads with kudu.pdf
3.37MB

반응형