Apache Flume - Kiến trúc
Hình minh họa sau đây mô tả kiến trúc cơ bản của Flume. Như trong hình minh họa,data generators (chẳng hạn như Facebook, Twitter) tạo dữ liệu được thu thập bởi Flume riêng lẻ agentschạy trên chúng. Sau đó, mộtdata collector (cũng là một tác nhân) thu thập dữ liệu từ các tác nhân được tổng hợp và đẩy vào một kho lưu trữ tập trung như HDFS hoặc HBase.
Sự kiện Flume
An event là đơn vị cơ bản của dữ liệu được vận chuyển bên trong Flume. Nó chứa một trọng tải mảng byte sẽ được vận chuyển từ nguồn đến đích kèm theo các tiêu đề tùy chọn. Một sự kiện Flume điển hình sẽ có cấu trúc sau:
Tác nhân Flume
An agentlà một quy trình daemon độc lập (JVM) trong Flume. Nó nhận dữ liệu (sự kiện) từ khách hàng hoặc các tác nhân khác và chuyển tiếp nó đến đích tiếp theo (bồn rửa hoặc tác nhân). Flume có thể có nhiều hơn một tác nhân. Sơ đồ sau thể hiện mộtFlume Agent
Như trong sơ đồ, Flume Agent chứa ba thành phần chính, source, channelvà sink.
Nguồn
A source là thành phần của Tác nhân nhận dữ liệu từ bộ tạo dữ liệu và chuyển nó đến một hoặc nhiều kênh dưới dạng các sự kiện Flume.
Apache Flume hỗ trợ một số loại nguồn và mỗi nguồn nhận các sự kiện từ một trình tạo dữ liệu cụ thể.
Example - Nguồn Avro, Nguồn tiết kiệm, Nguồn twitter 1%, v.v.
Kênh
A channellà một kho lưu trữ tạm thời nhận các sự kiện từ nguồn và đệm chúng cho đến khi chúng được tiêu thụ bởi các phần mềm chìm. Nó hoạt động như một cầu nối giữa nguồn và phần chìm.
Các kênh này hoàn toàn có thể giao dịch và chúng có thể hoạt động với bất kỳ số lượng nguồn và ổ chìm nào.
Example - Kênh JDBC, Kênh hệ thống tệp, Kênh bộ nhớ, v.v.
Bồn rửa
A sinklưu trữ dữ liệu vào các cửa hàng tập trung như HBase và HDFS. Nó sử dụng dữ liệu (sự kiện) từ các kênh và phân phối nó đến đích. Điểm đến của bồn rửa chén có thể là một đại lý khác hoặc các cửa hàng trung tâm.
Example - HDFS chìm
Note- Một tác nhân tạo khói có thể có nhiều nguồn, bồn rửa và kênh. Chúng tôi đã liệt kê tất cả các nguồn, bộ chìm, kênh được hỗ trợ trong chương cấu hình Flume của hướng dẫn này.
Các thành phần bổ sung của tác nhân khói
Những gì chúng ta đã thảo luận ở trên là các thành phần ban đầu của tác nhân. Ngoài ra, chúng tôi có một số thành phần khác đóng vai trò quan trọng trong việc chuyển các sự kiện từ trình tạo dữ liệu đến các cửa hàng tập trung.
Đánh chặn
Các thiết bị đánh chặn được sử dụng để thay đổi / kiểm tra các sự kiện đèn được chuyển giữa nguồn và kênh.
Bộ chọn kênh
Chúng được sử dụng để xác định kênh nào sẽ được chọn để truyền dữ liệu trong trường hợp có nhiều kênh. Có hai loại bộ chọn kênh -
Default channel selectors - Đây còn được gọi là bộ chọn kênh sao chép, chúng sao chép tất cả các sự kiện trong mỗi kênh.
Multiplexing channel selectors - Những điều này quyết định kênh gửi một sự kiện dựa trên địa chỉ trong tiêu đề của sự kiện đó.
Bộ xử lý bồn rửa
Chúng được sử dụng để gọi một bồn rửa cụ thể từ nhóm bồn rửa đã chọn. Chúng được sử dụng để tạo đường dẫn chuyển đổi dự phòng cho các phần chìm của bạn hoặc các sự kiện cân bằng tải trên nhiều phần chìm từ một kênh.