NGÀNH CÀN LÀM RÕ
CHƯƠNG 3 HỆ SINH THÁI HADOOP
3.5 Các dự án Apache liên quan đến Dữ liệu lớn (Big Data)
Bây giờ tụi em đã phát triển sự hiểu biết về cách chương trình hoạt động va được thực thi trong môi trường Hadoop, cách phân bồ tài nguyên cho
chương trình và cách tiếp cận dữ liệu được lưu trữ của Hadoop. Thông tin này chủ yêu liên quan đến quản lý cụm và xử lý ứng dụng tùy chỉnh, nhưng
có nhiều Dự án mã nguồn mở Apache có liên quan đến xử lý dữ liệu lớn sẽ
giúp xử lý dữ liệu.
3.5.1 Apache Zookeeper
Zookeeper là một Dự án Apache mã nguồn mở cung cấp cơ sở ha tang và dịch vụ tập trung cho phép đồng bộ hóa trên một cụm. Nó chịu trách
nhiệm duy trì đồng bộ hóa giữa các đối tượng khác nhau như các tệp cau hình, không gian tên phân cấp, nhắn tin, thông báo, v.v. Khung
Trang 38
Zookeeper chủ yếu được thiết kế dé sử dung trong đồng bộ hóa thiết lập trong môi trường phân cụm. Hãy tưởng tượng răng bạn cần xây dựng một ứng dụng cho môi trường phân tán cho 10 đến 20 máy chủ yêu cầu dịch
vụ đồng bộ hóa dé bảo trì dit liệu. Mặc dù thiết lập nhỏ như vậy, bạn sẽ phải viết các dịch vụ của riêng mình và đối mặt với bất kỳ vấn đề nào phát sinh từ đồng bộ hóa. Trong tình huống này, Zookeeper sẽ là một hỗ trợ tuyệt vời. Zookeeper cũng được thiết kế rất nhanh và hoạt động tốt
VỚI tai nặng trong môi trường cụm (cluster).
| Client |
| Leader |
| Server |
⁄ \ | Follower ; ồn
: Foll / i \
\ Client py ar i aril Mee Client |
J | Server | \. /
Follower Follower
Server Server |
Hình 11: Mô hình kiến trúc của Zookeeper
3.5.2 Apache Kafka
Apache Kafka là hệ thống xử lý nguồn cấp dữ liệu thời gian thực có thê nhận dữ liệu từ nhiều nguồn được gọi là Nhà sản xuất (Producer) và có thể cung cấp đữ liệu cho nhiều điểm đến được gọi là Người tiêu dùng (Consumer) theo cách thức liên tục. Hình dưới đây minh họa luồng dữ
liệu trong khung Kafka:
Trang 39
Hình 12: Mô hình kiến trúc của Kafka
Mỗi luồng dữ liệu đến và đi từ cụm Kafka được gọi là Chủ đề (topic).
Một chủ dé (Topic) ghi nhãn dữ liệu đến từ các nhà sản xuất khác nhau.
Nó cũng giúp Consumer yêu cầu một bộ dữ liệu cụ thé từ cum Kafka
dưới dạng một Topic bắt buộc. Hình dưới đây minh họa cơ chế bên trong
của cụm Kafka:
Kafka Cluster
Apache Kafka không chỉ dành cho Hadoop; nó có thể được sử dụng trong
Trang 40
3.5.3
mọi tình huông xử lý luông đâu vào và đâu ra. Trong Hadoop, với sự trợ
giúp của Kafka, chúng ta có thé phân tích luồng dit liệu khi nó đến, thay
vì thu thập dữ liệu trước rồi chạy các công việc hàng loạt.
Confluent
Confluent là một chương trình mã nguồn nguồn mở được thiết kế cho
nhiêu mục đích với mục đích chính là một nên tảng cho việc streaming
các sự kiện (Event Streaming Platform) va trung tâm của Confluent là
Apache Kafka. Nó có các thành phần xử lý khác nhau, như sau:
Kafka Brokers : Nó là thành phần chịu sự bền bi của dữ liệu (data
persistency)
Kafka Java Client API:
+ Producer API: là 1 API giúp cho các ứng dụng có thé san xuất các
ban streaming records
+ Consumer API: là 1 API giúp cho các ứng dụng có thé theo dõi va
xử ly các luồng streaming dữ liệu
+Streams API: giúp cho ứng dung của mình đóng vai trò như là 1
phiên bản của kafka ( có khả năng xử lý luồng đữ liệu - streaming) +Connect API: giúp cho việc truyền dữ liệu giữa Kafka và các hệ thống khác theo một cách tiện dụng và mở rộng được
Control Center: La 1 hệ thông với giao diện giúp việc theo dõi và quan
lý Confluent KsqIDB : là 1 ngôn ngữ SQL với mục đích xử lý các dữ liệu đang
được streaming và các sự kiện của streaming, ksqIDB có các đặc tính
có thê mở rộng được (scalable), mềm dẻo (elastic), xử lý dữ liệu thời gian thực và khả năng chịu lỗi
Confluent Schema Registry :Đề đảm bảo các thành phan khác nhau
Trang 41
của hệ thống có thé tương tác với nhau,thi các hệ thống phải sử dụng 1
format với nhau,và Confluent Schema Registry quản lý việc đảm bao
data ở các phần trong hệ thống giống nhau
— Confluent REST proxy : giúp cho việc xây dựng các ứng dụng có thé
tương tác với Kafka trở nên đơn giản hơn bằng việc tạo nên một
service (dịch vụ ) cho các RESTful HTTP
Hình dưới đây minh họa các thành phần của Confluent:
Other Log Events loT Data Web Events Events
DATA REAL-TIME
INTEGRATION Confluent Platform APPLICATIONS
Hadoop Manggetiens & Monitoring Transformation
Control Center acutity
Database prise M Hens ae Custom Apps
Data Compatibility
Wee Schema Registry Analytics
Development & Connectivity
CRM lients ectors | RE KSQL Monitoring
Apache Kafka”
Other kho Ma : zai Other
[ Customer self-managed l c ent Í @ commerciat sorrware
elle Confluen @ communrry sorrware
Hình 14: Mô hình kiến trúc của Apache Confluent
3.5.4 Apache Spark
Apache Spark trong một chương trình mã nguồn nguồn mở được thiết kế cho nhiều mục đích. Nó có các thành phần xử lý khác nhau, như sau:
— Spark Core: Nó giống như bộ não chính của Spark. Nó xử lý các chức
năng quan trọng nhất trong Spark, chăng hạn như lập lịch tác vụ.
— Spark SQL: Nó được thiết kế dé làm việc với đữ liệu có cấu trúc. Nó có
thê chạy SQL cũng như các truy van HiveQL dé tích hợp liền mach Spark trong một ứng dụng hiện có. Nó cũng hỗ trợ các trình kết nối JDBC và
Trang 42
ODBC theo tiêu chuẩn ngành dé kết nối với các công cu Business
Intelligence.
Spark Streaming: Nó được thiết kế đề hoạt động với các luồng đữ liệu
theo cách có thé mở rộng và chịu lỗi. Nó phân chia dữ liệu truyền phát
thành các lô nhỏ và sau đó thực hiện một công việc. Nó cũng có thé được liên kết với một luồng dữ liệu hiện có, như trong HDFS, Kafka và Flume. Bạn cũng có thể tạo nguồn dữ liệu của riêng ban nếu cần.
MLib: Nó được thiết kế đề thực hiện thuật toán học máy và thực hiện
phân tích thống kê trên dữ liệu lớn của bạn với khả năng xử lý siêu nhanh của Spark. Danh sách các chủ đề thuật toán bao gồm phân loại, hồi quy,
cây quyết định, rừng ngẫu nhiên và cây được tăng cường độ dốc. Nó cũng chứa các thuật toán liên quan đến khuyến nghị, phân cụm, mô hình chủ
đề, các mục thường xuyên, quy tắc kết hợp và khai thác mẫu tuần tự.
GraphX: Nó được thiết kế dé phân tích liên quan đến đồ thị. Nó có một
danh sách lớn các thuật toán đã được đóng góp bởi người dùng của nó.
Hình đưới đây minh họa các thành phần của Spark trong Hệ sinh thái
Hadoop:
Trang 43
Spark Spark
SOI Streaming