Xây dựng cơ sở hạ tầng Big Data - Flink (2)

# Địa chỉ node TaskManager. Cần cấu hình là tên máy hiện tại
taskmanager.host: hadoop103


Thực thi lệnh:

[hadoop@hadoop104 conf]$ vim flink-conf.yaml


Nội dung đã sửa:

# Địa chỉ node TaskManager. Cần cấu hình là tên máy hiện tại
taskmanager.host: hadoop104


Ba. Khởi động và dừng cụm (Chế độ Standalone)

Trên node máy chủ hadoop102, thực thi start-cluster.sh để khởi động cụm Flink

# Khởi động
[hadoop@hadoop102 flink-1.17.0]$ bin/start-cluster.sh
# Dừng
[hadoop@hadoop102 flink-1.17.0]$ bin/stop-cluster.sh


Bốn. Truy cập WEB-UI

Sau khi khởi động thành công, bạn có thể truy cập http://hadoop102:8081 để giám sát và quản lý cụm Flink và tác vụ.

Năm. Gửi tác vụ vào cụm (Triển khai ở chế độ phiên)

5.1 Gửi qua phương thức WEB-UI

5.2 Gửi qua phương thức dòng lệnh

bin/flink run -m hadoop102:8081 -c com.atguigu.flink01.Flink03_WC_Unbound_Socket ./flink-0918-1.0-SNAPSHOT.jar


Sáu. Chế độ chạy của cụm Flink

Chế độ chạy của cụm Flink

6.1 Chế độ Standalone

Mặc định

6.2 Chế độ Flink on Yarn

6.2.1 Chuẩn bị và cấu hình liên quan (cấu biến biến môi trường và phân phối)
[hadoop@hadoop102 ~]$ sudo vim /etc/profile.d/my_env.sh


Nội dung mới thêm:

#Flink on Yarn
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_CLASSPATH=`hadoop classpath`


Các máy khác cũng thêm biến môi trường này

Làm biến môi trường có hiệu lực:

[hadoop@hadoop102 ~]$ mytools_call source /etc/profile


6.2.2 Triển khai ứng dụng Flink trên cụm Flink on Yarn ở chế độ phiên

Chế độ phiên của YARN khác với cụm độc lập một chút, cần phải xin một phiên YARN (YARN Session) trước để khởi động cụm Flink -nm (–name): Cấu hình tên tác vụ hiển thị trên giao diện YARN UI.

(1) Khởi động và dừng cụm Flink
# Khởi động
[hadoop@hadoop102 flink-1.17.0]$ bin/yarn-session.sh -nm flink-session-cluster01
# Dừng
[hadoop@hadoop102 ~]$ yarn application -kill application_1700281106461_0453


(2) Gửi tác vụ (phương thức WEB-UI)

Triển khai lên Alibaba Cloud ở đây có vấn đề về IP, khi chuyển đến WEB-UI Flink là IP mạng nội bộ

(3) Gửi tác vụ (phương thức dòng lệnh)
[hadoop@hadoop102 flink-1.17.0]$ bin/flink run -c com.atguigu.flink01.Flink03_WC_Unbound_Socket ./flink-0918-1.0-SNAPSHOT.jar


6.2.3 Triển khai ứng dụng Flink trên cụm Flink on Yarn ở chế độ đơn tác vụ

Khởi động một cụm Flink và gửi tác vụ

-d: Chạy ở nền -t: Chỉ định chế độ triển khai (chế độ đơn tác vụ)

# Khởi động
[hadoop@hadoop102 flink-1.17.0]$ bin/flink run -d -t yarn-per-job -c com.atguigu.flink01.Flink03_WC_Unbound_Socket ./flink-0918-1.0-SNAPSHOT.jar
# Dừng (hủy tác vụ qua trang WEB UI)


6.2.4 Triển khai ứng dụng Flink trên cụm Flink on Yarn ở chế độ ứng dụng
(1) Khởi động

Chế độ ứng dụng cũng rất đơn giản, tương tự như chế độ đơn tác vụ, chỉ cần thực thi lệnh flink run-application

-d: Chạy ở nền -t: Chỉ định chế độ triển khai (chế độ ứng dụng)

[hadoop@hadoop102 flink-1.17.0]$ bin/flink run-application -d -t yarn-application -c com.atguigu.flink01.Flink03_WC_Unbound_Socket ./flink-0918-1.0-SNAPSHOT.jar


(2) Tải lên thư viện và plugin của Flink lên HDFS

Tải thư viện mà ứng dụng Flink sử dụng trong cụm Flink lên cụm Hadoop.

[hadoop@hadoop102 flink-1.17.0]$ hadoop fs -mkdir /flink-dist
[hadoop@hadoop102 flink-1.17.0]$ hadoop fs -put lib/ /flink-dist
[hadoop@hadoop102 flink-1.17.0]$ hadoop fs -put plugins/ /flink-dist


(3) Tải tệp jar ứng dụng Flink lên HDFS
[hadoop@hadoop102 flink-1.17.0]$ hadoop fs -mkdir /flink-jars
[hadoop@hadoop102 flink-1.17.0]$ hadoop fs -put ./flink-0918-1.0-SNAPSHOT.jar /flink-jars


(4) Gửi tác vụ
[hadoop@hadoop102 flink-1.17.0]$ bin/flink run-application -d -t yarn-application -Dyarn.provided.lib.dirs="hdfs://hadoop102:9820/flink-dist" -c com.atguigu.flink01.Flink03_WC_Unbound_Socket hdfs://hadoop102:9820/flink-jars/flink-0918-1.0-SNAPSHOT.jar


6.2.5 Sự khác biệt giữa chế độ ứng dụng và chế độ đơn tác vụ

Chế độ đơn tác vụ: Khách hàng cần thực thi phương thức main, gửi JobGraph cho JobManager trên YARN. Chế độ ứng dụng: Phương thức main() của tệp ứng dụng sẽ được thực thi trên JobManager trong YARN. Khách hàng chỉ đơn thuần là thực thi lệnh.

6.3 Cấu hình máy chủ lịch sử Flink

6.3.1 Tạo thư mục lưu trữ
[hadoop@hadoop102 flink-1.17.0]$ hadoop fs -mkdir -p /logs/flink-job


6.3.2 Sửa đổi tệp cấu hình flink-config.yaml
[hadoop@hadoop102 conf]$ vim flink-conf.yaml


Nội dung mới thêm:

Tìm phần historyserver (ở cuối), thêm vào vị trí đó.

jobmanager.archive.fs.dir: hdfs://hadoop102:9820/logs/flink-job
historyserver.web.address: hadoop102
historyserver.web.port: 8082
historyserver.archive.fs.dir: hdfs://hadoop102:9820/logs/flink-job
historyserver.archive.fs.refresh-interval: 5000


6.3.3 Khởi động và dừng máy chủ lịch sử
# Khởi động
[hadoop@hadoop102 flink-1.17.0]$ bin/historyserver.sh start
# Dừng
[hadoop@hadoop102 flink-1.17.0]$ bin/historyserver.sh stop


6.3.4 Khởi động lại Yarn (bỏ qua)

Nếu máy chủ lịch sử không có hiệu quả thì cần khởi động lại, tình trạng bình thường không cần.

stop-yarn.sh
start-yarn.sh


6.3.5 Truy cập địa chỉ máy chủ lịch sử Flink

Trên giao diện WEB-UI của yarn, nhấp vào vị trí History của tác vụ, nếu máy chủ lịch sử Flink có hiệu quả sẽ chuyển đến giao diện UI của máy chủ lịch sử Flink, nếu không sẽ chuyển đến giao diện UI của Yarn. Địa chỉ: http://hadoop102:8082

Bảy. Kiến trúc hệ thống của chế độ phiên Flink Standalone

7.1 Sơ đồ kiến trúc cơ bản

Thành phần cốt lõi: Khách hàng (Client), JobManager, TaskManager

Khách hàng thực thi lệnh, gửi ứng dụng cho JobManager của cụm Flink. Một ứng dụng có thể có nhiều tác vụ, bộ phân phối Dispatcher đóng gói mỗi tác vụ thành một đối tượng JobMaster. JobMaster tạo ra một đồ thị thực thi cho logic thực thi mã của mỗi tác vụ, trình quản lý tài nguyên ResourceManager yêu cầu tài nguyên từ TaskManager để thực thi đồ thị thực thi của tác vụ, cuối cùng giao tác vụ cho khe tác vụ Slot trong TaskManager để thực thi, sau khi thực thi xong sẽ trả về phản hồi cho khách hàng.

7.2 Độ song song

Số lượng tác vụ con của toán tử Độ song song mặc định: Được chỉ định bởi parallelism.default trong tệp cấu hình flink-config.yaml. Xác định cách đặt độ song song của toán tử dựa trên tài nguyên: Số lượng TaskManager (do cụm Flink quyết định), số lượng Slot của mỗi TaskManager (do tệp cấu hình flink-config.yaml của Flink quyết định), nhân với nhau, đó là độ song song tối đa có thể xử lý dưới tài nguyên đó. Tính toán cần bao nhiêu Slot dựa trên độ song song của toán tử trong chương trình luồng: Độ song song tối đa của toán tử Xác định chương trình luồng cần bao nhiêu slot: Triển khai chương trình ở chế độ phiên để xác minh

7.2.1 Ba cách chỉ định độ song song
(1) Trong mã

Gọi phương thức setParallelism() sau toán tử

(2) Tệp cấu hình

parallelism.default trong tệp cấu hình flink-conf.yaml

(3) Chỉ định khi gửi tác vụ qua dòng lệnh

-p

Thẻ: Apache Flink Big Data Infrastructure Distributed Computing

Đăng vào ngày 21 tháng 5 lúc 17:51