Hướng dẫn Apache NiFi
Tóm tắt hướng dẫn Apache NiFi
Hướng dẫn apache NiFi này bao gồm tất cả các chủ đề từ cơ bản đến nâng cao từ đầu. Bạn sẽ học các khái niệm như định nghĩa NiFi, lịch sử, kiến trúc, tính năng, quy trình cài đặt, trường hợp sử dụng. Bạn cũng sẽ tìm hiểu lý do tại sao bạn cần sử dụng apache NiFi và các phương pháp hay nhất để chạy apache NiFi.
Apache NiFi là gì?
Apache NiFi là một phần mềm nguồn mở để tự động hóa và quản lý luồng dữ liệu giữa các hệ thống. Đây là một hệ thống mạnh mẽ và đáng tin cậy để xử lý và phân phối dữ liệu. Nó cung cấp Giao diện người dùng dựa trên web để tạo, giám sát và kiểm soát các luồng dữ liệu. Nó có quy trình luồng dữ liệu có thể cấu hình và sửa đổi cao để sửa đổi dữ liệu trong thời gian chạy.
Apache NiFi có thể dễ dàng mở rộng thông qua việc phát triển các thành phần tùy chỉnh.
Tại sao nên sử dụng Apache NIfi?
Dưới đây là những lý do nên sử dụng Apache Nifi:
- Cho phép bạn thực hiện nhập dữ liệu để kéo dữ liệu vào NiFi, từ nhiều nguồn dữ liệu và tạo tệp luồng
- Nó cung cấp khả năng kiểm soát thời gian thực giúp bạn quản lý việc di chuyển dữ liệu giữa bất kỳ nguồn và đích nào
- Trực quan hóa DataFlow ở cấp doanh nghiệp
- Cung cấp công cụ và tiện ích mở rộng phổ biến
- Cho phép bạn tận dụng các thư viện hiện có và Java chức năng hệ sinh thái
- Giúp các tổ chức tích hợp Nifi với cơ sở hạ tầng hiện có của họ
- NiFi được thiết kế để mở rộng quy mô thành các cụm cung cấp khả năng phân phối dữ liệu được đảm bảo
- Trực quan hóa và giám sát hiệu suất, hành vi trong bản tin luồng cung cấp thông tin chi tiết và tài liệu nội tuyến
- Giúp bạn bắt đầu và dừng các thành phần riêng biệt hoặc ở cấp độ nhóm
- Nó giúp bạn nghe, tìm nạp, phân tách, tổng hợp, định tuyến, chuyển đổi và kéo và thả Luồng dữ liệu
Lịch sử của Apache NiFi
- Được phát triển tại NSA trong hơn tám năm
- 2014- Nó được tặng cho Phần mềm Apache Foundation
- 2015- NiFi trở thành một phần chính thức của Bộ dự án Apache
- Kể từ đó cứ sau 6-8 tuần, Apache NiFi lại phát hành bản cập nhật mới
NiFi Archikiến trúc
Apache NiFi có kiến trúc được cân nhắc kỹ lưỡng. Khi dữ liệu được lấy từ các nguồn bên ngoài, nó được biểu diễn dưới dạng FlowFile bên trong kiến trúc Apache NiFi.
Sau đây là các thành phần chính của kiến trúc NiFi
Thành phần Nifi | Mô tả Chi tiết |
---|---|
Tệp lưu lượng | FlowFile là dữ liệu gốc có siêu thông tin được đính kèm. Nó cho phép bạn xử lý không chỉ CSV hoặc dữ liệu dựa trên bản ghi khác mà còn cả hình ảnh, video, âm thanh hoặc bất kỳ dữ liệu nhị phân nào khác. |
Bộ xử lý tập tin luồng | Thực hiện công việc đóng vai trò là khối xây dựng của luồng dữ liệu trong NiFi. |
Bộ điều khiển dòng chảy | Giữ một bản ghi về cách các quá trình được kết nối. Nó quản lý các luồng và phân bổ mà tất cả các tiến trình sử dụng. |
Web Server | Máy chủ web lưu trữ các lệnh và API dựa trên HTTP của NiFi. |
Extension | Có nhiều loại tiện ích mở rộng NiFi hoạt động và thực thi trong JVM. |
Kết nối | Hoạt động như một liên kết giữa các bộ xử lý có chứa hàng đợi và (các) mối quan hệ ảnh hưởng đến nơi dữ liệu được định tuyến. |
Áp lực trở lại | Ngăn chặn hệ thống bị tràn ngập bằng cách kiểm soát số lượng hoặc kích thước dữ liệu của các tệp luồng có thể được lưu trữ trong hàng đợi. |
Nhóm quy trình | Nhóm quy trình là một tập hợp các quy trình và kết nối của chúng, nhận và gửi dữ liệu với sự trợ giúp của các cổng. |
Kho lưu trữ luồng tập tin | Trong Kho lưu trữ FlowFile, NiFi theo dõi trạng thái chi tiết về một FlowFile nhất định đang hoạt động trong luồng. |
Kho nội dung | Kho lưu trữ nội dung là khu vực tồn tại các byte nội dung thực tế của FlowFile nhất định. |
Kho lưu trữ xuất xứ | Kho lưu trữ chứng minh là nơi thu thập tất cả dữ liệu sự kiện xuất xứ. |
Các tính năng của Apache NiFi
- NiFi hỗ trợ đệm tất cả dữ liệu xếp hàng và cung cấp khả năng tạo áp lực ngược khi các hàng đợi đó có thể đạt đến giới hạn đã chỉ định
- NiFi cho phép thiết lập một hoặc nhiều sơ đồ ưu tiên
- Cung cấp bộ xử lý kết nối cho nhiều nguồn dữ liệu
- Hỗ trợ mọi thiết bị chạy Java
- Lý tưởng cho những nơi kết nối hạn chế
- Hỗ trợ khắc phục sự cố và tối ưu hóa luồng
- Cung cấp xác thực/ủy quyền dựa trên vai trò
- Cho phép tải xuống, khôi phục và phát lại các tệp riêng lẻ
- Xây dựng bộ xử lý, dịch vụ điều khiển của bạn và hơn thế nữa
- Cung cấp mã hóa nội dung, liên lạc qua các giao thức bảo mật
- Cho phép phát triển nhanh chóng và thử nghiệm hiệu quả
- Cho phép phát triển các thành phần chức năng đơn giản có thể được tái sử dụng và kết hợp để tạo ra các luồng phức tạp hơn
- Cho phép cách ly trình nạp lớp để quản lý các phần phụ thuộc dễ dàng hơn
Cách cài đặt Apache NiFi
Dưới đây là quy trình từng bước để cài đặt Apache NiFi
Bước 1) Đến phần liên kết,
và nhấp vào “Tiếp tục đăng ký”
Bước 2) Trên trang tiếp theo,
Nhấp vào “Chấp nhận điều khoản”
Bước 3) Bạn sẽ thấy trang này,
Cảm ơn bạn đã đăng ký sản phẩm này! Chúng tôi đang xử lý yêu cầu của bạn.
Bước 4) Làm mới trang sau 5 phút.
Nhấp vào “Tiếp tục cấu hình”
Bước 5) Trên trang tiếp theo,
Giữ cài đặt mặc định và nhấp vào “Tiếp tục khởi chạy”
Bước 6) Trên trang tiếp theo,
Bấm vào Khởi chạy. Bạn có thể cần phải tạo một khóa
Bước 7) Bạn sẽ thấy thông báo thành công này.
Chúc mừng! Một phiên bản của phần mềm này đã được triển khai thành công trên EC2!
Bước 8) Chú thích,
Id phiên bản và DNS công khai của phiên bản EC2
Bước 9) Trong nhóm bảo mật,
Thêm tất cả quy tắc giao thông vào và ra
Bước 10) Để truy cập Nifi,
chỉ cần sử dụng URL
http://publicdns:8080/nifi
Trong trường hợp của chúng tôi nó trở thành
http://ec2-100-26-156-57.compute-1.amazonaws.com:8080/nifi/
người sử dang: quản trị viên
Mật khẩu: Id phiên bản
Bước 11) Bạn sẽ thấy,
Màn hình chính NiFi
Trường hợp sử dụng Nifi
Dưới đây là danh sách các trường hợp sử dụng Apache NiFi:
Công nghiệp | Sử dụng |
---|---|
Bảo hiểm |
|
Chăm sóc sức khỏe |
|
Viễn thông |
|
Sản xuất Chế tạo |
|
Dầu Khí- Công Nghiệp |
|
Dịch vụ tài chính |
|
Các phương pháp hay nhất Chạy Apache NiFi
- Lý tưởng để phân tách các môi trường thử nghiệm/nhà phát triển/sản xuất trong NiFi
- Bạn nên chia luồng của mình thành các nhóm quy trình
- Sử dụng quy ước đặt tên, sử dụng nhận xét và nhãn
- Sắp xếp các dự án của bạn thành ba phần nhập, kiểm tra và giám sát
- Sử dụng tên duy nhất cho biến
Nhược điểm của Nifi
- Cần kiểm soát tuân thủ và bảo mật chính xác
- Bạn cần biết rất rõ về hệ thống cơ bản khi làm việc với Apache NiFi
- Phải duy trì chuỗi hành trình dữ liệu
- Vận chuyển/Nhắn tin có thể chưa đủ
- Nhu cầu truy cập dữ liệu vượt quá nguồn lực sẵn có để vận chuyển
- Không phải tất cả dữ liệu đều được tạo ra như nhau
- SSL và ủy quyền cấp chủ đề có thể không đủ
Tổng kết
- Apache NiFi là một phần mềm nguồn mở để tự động hóa và quản lý luồng dữ liệu giữa các hệ thống
- NiFi được thiết kế để mở rộng quy mô thành các cụm cung cấp khả năng phân phối dữ liệu được đảm bảo
- Nifi được phát triển tại NSA trong hơn tám năm
- Khi dữ liệu được lấy từ các nguồn bên ngoài, nó sẽ được biểu diễn dưới dạng FlowFile bên trong kiến trúc Apache NiFi.
- FlowFile, bộ xử lý, bộ điều khiển, máy chủ web, kết nối, áp suất ngược, kho lưu trữ là những thành phần quan trọng của kiến trúc NiFi
- Ngôn ngữ biểu thức NiFi hỗ trợ mọi thiết bị chạy Java
- Bạn có thể dễ dàng cài đặt NiFi trên AWS
- NiFi được sử dụng trong các ngành công nghiệp khác nhau như chăm sóc sức khỏe, bảo hiểm, viễn thông, sản xuất, tài chính, dầu khí và các ngành khác
- Cách tốt nhất là sắp xếp dự án của bạn thành ba phần: nhập, kiểm tra và giám sát