2.1 환경 설정

2.1.1 운영체제선택하기

윈도우, macOS, 리눅스 등 다양한 운영체제에서 실행 가능하나 대체로 리눅스가 권장된다

2.1.2 자바설치하기

카프카 최신 버전은 자바 8과 11을 모두 지원한다

2.1.3 주키퍼 설치하기

아파치 카프카는 카프카 클러스터의 메타데이터와 컨슈머 클라이언트에 대한 정보를 저장하기 위해 아파치 주키퍼를 사용한다.

image.png

주키퍼 앙상블

주키퍼는 고가용성을 보장하기 위해 앙상블(ensemble)이라 불리는 클러스터 단위로 작동하도록 설계되었다.

<aside> 💡

<주키퍼 앙상블 크기 결정하기>

주키퍼 앙상블을 구성할 때는 5개의 노드 크기를 고려한다. 앙상블 설정을 변경할 수 있게 하려면, 한 번에 한 대의 노드를 정지시켰다가 설정을 변경한 뒤 다시 시작해야 한다.

9대 이상의 노드를 사용하는 것은 합의(consensus) 프로토콜 특성상 성능이 저하되어 권장하지 않는다.

클라이언트 연결이 너무 많아서 5대 혹은 7대의 노드가 부하를 감당하기에 모자란다는 생각이 들면 옵저버 노드를 추가하여 읽기 전용 트래픽을 분산시킨다.

</aside>

주키퍼 서버를 앙상블로 구성하려면 두 가지가 필요하다.

  1. 각 서버는 공통된 설정 파일을 사용해야 한다.
  2. 각 서버는 데이터 디렉토리에 자신의 ID 번호를 지정하는 myid 파일을 가지고 있어야 한다.

2.2 카프카 브로커 설치하기

이 책은 2.7.0 버전을 사용한다.