전체 그래프
Flink

Installation

data-engineeringflinkinstallationsetupenvironment

상위: Flink

요약

Apache Flink 설치 및 환경 설정 가이드입니다. WSL 환경에서 Flink 클러스터를 구성하고, PyFlink를 설치하여 Python 환경에서 Flink를 사용할 수 있도록 설정하는 방법을 다룹니다.

Apache Flink 설치 (WSL)

cd ~
wget https://archive.apache.org/dist/flink/flink-1.20.0/flink-1.20.0-bin-scala_2.12.tgz
tar -xvzf flink-1.20.0-bin-scala_2.12.tgz

설정 파일 수정 (총 3개 파일)

cd flink-1.20.0/conf

# 1. flink-conf.yaml
vi flink-conf.yaml
# 아래 항목 추가/수정
jobmanager.rpc.address: localhost

# 2. masters
vi masters
localhost:8081

# 3. workers
vi workers
localhost

클러스터 실행 및 UI 확인

cd flink-1.20.0/bin/
./start-cluster.sh

# 브라우저에서 접근
http://localhost:8081

Flink WordCount 실습

터미널 1 (입력)

nc -l 9000
# 이후 텍스트 입력:
# hello world
# i am a boy
# hi hello

터미널 2 (예제 실행)

./bin/flink run examples/streaming/SocketWindowWordCount.jar --hostname localhost --port 9000

터미널 3 (로그 확인)

cd flink
tail -f log/flink-*.out

PyFlink 설치

pip install apache-flink==1.20.0

# 설치 오류  numpy 설치 확인
pip install numpy

로그파일 권한 부여

sudo mkdir -p /usr/local/lib/python3.10/dist-packages/pyflink/log
sudo chmod -R 777 /usr/local/lib/python3.10/dist-packages/pyflink/log

PyFlink 정상 실행 확인

python3 -c 'from pyflink.datastream import StreamExecutionEnvironment; print("PyFlink 정상 실행 가능!")'

예제 코드

기본 PyFlink 예제(Source→Transformation→Sink)와 DAG 시각화는 Basic Example 참고. 이 노트는 설치·환경 설정에 집중한다.

관련 개념