Apache Flink 클러스터 설치 및 구성 가이드

필수 환경 설정

운영체제: Rocky Linux 8.8

JDK 버전: Java 11 (최소 요구사항 JDK 8 이상)

설치 파일 다운로드

최신 버전 1.17.1 다운로드:

wget https://archive.apache.org/dist/flink/flink-1.17.1/flink-1.17.1-bin-scala_2.12.tgz

로컬 모드 설치

압축 해제

tar -zxvf flink-1.17.1-bin-scala_2.12.tgz

환경 변수 설정

export FLINK_HOME=/opt/flink-1.17.1
export PATH=$FLINK_HOME/bin:$PATH

클러스터 시작

./bin/start-cluster.sh

프로세스 확인

jps 명령어로 다음 프로세스 확인:

  • StandaloneSessionClusterEntrypoint (JobManager)
  • TaskManagerRunner (TaskManager)

웹 UI 접근

http://서버IP:8081 접속

원격 접근을 위해 방화벽 해제 및 설정 수정:

systemctl stop firewalld.service
vim conf/flink-conf.yaml

클러스터 종료

./bin/stop-cluster.sh

분산 스탠드얼론 모드 구성

노드 구성

3개 서버 사용:

  • JobManager: 10.20.0.93
  • TaskManager1: 10.20.0.92
  • TaskManager2: 10.20.0.90

설치 및 설정

tar -xzf flink-1.17.1-bin-scala_2.12.tgz -C /data/software/

설정 파일 수정

conf/flink-conf.yaml:

jobmanager.rpc.address: 10.20.0.93
jobmanager.bind-host: 0.0.0.0

conf/workers:

10.20.0.92
10.20.0.90

파일 복사

scp -r /data/software/flink-1.17.1/ 10.20.0.92:/data/software/flink-1.17.1/
scp -r /data/software/flink-1.17.1/ 10.20.0.90:/data/software/flink-1.17.1/

SSH 키 인증 설정

ssh-keygen -t rsa
cd ~/.ssh
touch authorized_keys
ssh-copy-id -i id_rsa.pub root@10.20.0.90
ssh-copy-id -i id_rsa.pub root@10.20.0.92

클러스터 시작 및 검증

bin/start-cluster.sh

각 노드 프로세스 확인:

  • JobManager 노드: StandaloneSessionClusterEntrypoint
  • TaskManager 노드들: TaskManagerRunner

샘플 작업 실행:

./bin/flink run examples/streaming/WordCount.jar

고가용성(HA) 구성

HA 아키텍처 개요

ZooKeeper를 활용한 다중 JobManager 구성으로 무중단 장애복구 구현

노드 할당

  • JobManager1: centos01
  • JobManager2: centos02
  • ZooKeeper: centos01, centos02, centos03

masters 파일 수정

centos01:8081
centos02:8082

HA 설정 추가

conf/flink-conf.yaml:

high-availability: zookeeper
high-availability.zookeeper.quorum: centos01:2181,centos02:2181,centos03:2181
high-availability.storageDir: /data/software/flink-1.17.1/ha

ZooKeeper 설정

conf/zoo.cfg:

server.1=centos01:2888:3888
server.2=centos02:2888:3888
server.3=centos03:2888:3888

파일 동기화

scp -r /data/software/flink-1.17.1/ centos02:/data/software/flink-1.17.1/
scp -r /data/software/flink-1.17.1/ centos03:/data/software/flink-1.17.1/

ZooKeeper 클러스터 시작

./bin/start-zookeeper-quorum.sh

Flink HA 클러스터 시작

bin/start-cluster.sh

검증 작업

./bin/flink run examples/streaming/WordCount.jar

클러스터 종료

bin/stop-cluster.sh
bin/stop-zookeeper-quorum.sh

태그: Apache Flink cluster setup HA configuration ZooKeeper streaming processing

6월 21일 00:27에 게시됨