상위: 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 참고. 이 노트는 설치·환경 설정에 집중한다.
관련 개념
- Introduction - Flink 기본 개념
- Architecture - Flink 아키텍처 구조
- Basic Example - 설치 후 기본 예제 실행