Apache Flume - Luồng dữ liệu
Flume là một khuôn khổ được sử dụng để di chuyển dữ liệu nhật ký vào HDFS. Nói chung các sự kiện và dữ liệu nhật ký được tạo bởi các máy chủ nhật ký và các máy chủ này có tác nhân Flume chạy trên chúng. Các tác nhân này nhận dữ liệu từ bộ tạo dữ liệu.
Dữ liệu trong các tác nhân này sẽ được thu thập bởi một nút trung gian được gọi là Collector. Cũng giống như các đại lý, có thể có nhiều người thu gom trong Flume.
Cuối cùng, dữ liệu từ tất cả các bộ thu thập này sẽ được tổng hợp và chuyển đến một cửa hàng tập trung như HBase hoặc HDFS. Sơ đồ sau giải thích luồng dữ liệu trong Flume.
Luồng đa bước
Trong Flume, có thể có nhiều đại lý và trước khi đến đích cuối cùng, một sự kiện có thể đi qua nhiều đại lý. Điều này được gọi làmulti-hop flow.
Luồng quạt ra
Luồng dữ liệu từ một nguồn đến nhiều kênh được gọi là fan-out flow. Nó có hai loại -
Replicating - Luồng dữ liệu nơi dữ liệu sẽ được sao chép trong tất cả các kênh được cấu hình.
Multiplexing - Luồng dữ liệu nơi dữ liệu sẽ được gửi đến một kênh đã chọn được đề cập trong tiêu đề của sự kiện.
Luồng quạt vào
Luồng dữ liệu trong đó dữ liệu sẽ được chuyển từ nhiều nguồn sang một kênh được gọi là fan-in flow.
Xử lý lỗi
Trong Flume, đối với mỗi sự kiện, hai giao dịch diễn ra: một giao dịch ở người gửi và một giao dịch ở người nhận. Người gửi gửi các sự kiện đến người nhận. Ngay sau khi nhận được dữ liệu, người nhận thực hiện giao dịch của chính mình và gửi tín hiệu “đã nhận” đến người gửi. Sau khi nhận được tín hiệu, người gửi sẽ thực hiện giao dịch của mình. (Người gửi sẽ không thực hiện giao dịch của mình cho đến khi nhận được tín hiệu từ người nhận.)