Thuật ngữ Apache Spark đã không còn quá xa lạ gì với những người trong giới Big Data và Data Engineering. Và Kubernetes cũng vậy. Mức độ phổ biến của nó cũng không hề kém phần khi mà ngày càng nhiều doanh nghiệp tiến hành triển khai Apache Spark trên Kubernetes – hệ thống quản lý triển khai và scaling ứng dụng.
- Tổng hợp mã giảm giá Azdigi mới nhất tháng 04/2022
- Tổng hợp mã giảm giá Inet mới nhất tháng 04/2022
- Tổng hợp mã giảm giá Tinohost mới nhất tháng 04/2022
- Tổng hợp toàn bộ cách download shutterstock miễn phí 2022
- World wide web là gì? Và được ra đời khi nào và do ai tạo ra
Vậy lý do tại sao mà hầu hết các doanh nghiệp đều được khuyến khích nên triển khai Apache Spark trên hệ thống này? Mọi lời giải đáp Bizfly Cloud sẽ được chia sẻ trong bài viết dưới đây.
Mục lục
Kubernetes là native option của Spark
Kể từ Version 2.3, Kubernetes đã chính thức thay thế cho Apache Mesos và Hadoop Yarn để trở thành native option của Apache Spark. Và Apache Spark sẽ tạo ra một Spark driver tương ứng với một Kubernetes pod. Mỗi driver được thiết lập sẽ tạo ra các Executors.
Mỗi Executors được thiết lập ra này sẽ có chức năng tương tự như một Kubernetes pods với khả năng kết nối với các pods khác và tiến hành thực thi code ứng dụng. Sau khi thực thi ứng dụng hoàn tất, các Executors này sẽ ngừng hoạt động. Tuy nhiên, các pods sẽ được chuyển sang trạng thái completed để giữ lại các logs cho đến khi manually cleaned up hoặc garbage collected xóa nó.
Tham khảo thêm: BizFly Cloud chính thức ra mắt Kubernetes Engine từ 17/08/2020
Tận dụng được sức mạnh của công nghệ container
Khi tiến hành triển khai Apache Spark trên Kubernetes dưới dạng các pods Container, các doanh nghiệp có thể dễ dàng tận dụng được một cách triệt để nhất những ưu điểm của công nghệ Container này. Khi các ứng dụng Spark được tiến hành đóng gói, dependencies và package sẽ được đưa vào cùng một Container duy nhất để tránh được khả năng xung đột với các ứng dụng hoặc các phiên bản thư viện Hadoop khác.
Bên cạnh đó, bạn cũng có thể sử dụng các image tags để thực hiện việc kiểm soát phiên bản đồng thời dễ dàng sử dụng được nhiều phiên bản Apache Spark khác nhau trên cùng một cluster mà không cần phải quá lo lắng về khả năng xảy ra xung đột giữa các phiên bản Spark này.
Spark có thể tận dụng monitoring và logging của Kubernetes
Công nghệ Kubernetes thực sự là nền tảng điều phối Container mã nguồn mở rất mạnh trong việc monitoring (ghi lại nhật ký) và logging (giám sát) các pod, node và service. Vì vậy, Apache Spark của bạn hoàn toàn có thể tận dụng được monitoring và logging của Kubernetes một cách dễ dàng và nhanh chóng. Bằng cách thêm một sidecar container hoặc một pod logging agent để tiến hành export, bạn có thể dễ dàng xuất các metrics hoặc các logs sang một hệ thống khác như Statd, Prometheus, Stackdriver, Elasticsearch hoặc Graylog,…
Dễ dàng phân chia giới hạn tài nguyên cho nhiều team
Triển khai Apache Spark trên Kubernetes giúp các doanh nghiệp có thể dễ dàng quản lý resources đồng thời phân chia giới hạn tài nguyên cho các team. Bên cạnh đó, bạn cũng có thể kiểm soát được các môi trường vận hành Spark dựa trên mục đích sử dụng bằng Kubernetes node selectors. Và Kubernetes service account được sử dụng để quản lý các permission Role và Cluster Role đồng thời xác định loại cluster sử dụng phù hợp cho từng team thông qua resource quotas và Kubernetes namespace
Mặc dù tồn tại nhiều điểm mạnh. nhưng Kubernetes vẫn nên được cải thiện một cách thường xuyên để đảm bảo bắt kịp được xu hướng phát triển của công nghệ. Hy vọng, bài viết mà Bizfly Cloud chia sẻ ở trên đã giúp bạn có thể nắm rõ được các lý do nên thực hiện việc triển khai Apache Spark trên Kubernetes để có thể nhanh chóng đưa ra quyết định có nên sử dụng nó hay là không.
Nếu bạn có thêm ý kiến hoặc những thắc mắc nào có liên quan đến bài viết này, bạn có thể liên hệ trực tiếp với Bizfly Cloud hoặc để lại phần câu hỏi của mình dưới mục bình luận để nhanh chóng nhận được lời giải đáp nhé!
BizFly Cloud – Cung cấp dịch vụ điện toán đám mây tốt nhất tại Việt Nam
Vận hành bởi VCcorp
Địa chỉ: Số 1 Nguyễn Huy Tưởng, P. Thanh Xuân Trung, Q. Thanh Xuân, TP Hà Nội.
Google map: https://goo.gl/maps/CUqazfqqgd5w4HSh6