Dữ liệu lớn đang trở thành một phần sức mạnh và tài sản lớn của mọi công ty và Hadoop là công nghệ cốt lõi để lưu trữ và truy cập dữ liệu lớn.
Đang xem: Mapreduce là gì
Hadoop là gì?
Hadoop Apache là một Apache framework mã nguồn mở cho phép phát triển các ứng dụng phân tán (xử lý phân tán) để lưu trữ và quản lý các tập dữ liệu lớn. Hadoop triển khai mô hình MapReduce, trong đó ứng dụng được chia thành các phân đoạn khác nhau chạy song song trên nhiều nút khác nhau. Hadoop được viết bằng Java nhưng vẫn hỗ trợ C++, Python, Perl theo cơ chế phân luồng.
Hadoop giải quyết vấn đề gì?
Xử lý và làm việc với lượng dữ liệu khổng lồ tính bằng Petabyte. Xử lý trong môi trường phân tán, dữ liệu được lưu trữ trên nhiều phần cứng khác nhau, yêu cầu xử lý đồng bộ Các lỗi thường xuyên xuất hiện. Băng thông giữa các thiết bị phần cứng vật lý chứa dữ liệu phân tán hạn chế.
Kiến trúc Hadoop là gì?
Một cụm Hadoop nhỏ bao gồm 1 nút chính và nhiều nút công nhân/nô lệ. Toàn bộ cụm chứa 2 lớp, một lớp là Lớp MapReduce và lớp còn lại là Lớp HDFS. Mỗi lớp có các thành phần liên kết riêng. Nút Master bao gồm JobTracker, TaskTracker, NameNode và DataNode. Các nút nô lệ/công nhân bao gồm DataNode và TaskTracker. Cũng có thể nút nô lệ/công nhân chỉ là dữ liệu hoặc nút để tính toán.
Khung Hadoop bao gồm 4 mô-đun:
1. Hệ thống tệp phân tán Hadoop (HDFS)
Nó là một hệ thống tệp phân tán cung cấp khả năng truy cập thông lượng cao cho các ứng dụng khai thác dữ liệu. Hệ thống tệp phân tán Hadoop (HDFS) là một hệ thống tệp ảo. Khi chúng ta di chuyển một tệp trên HDFS, nó sẽ tự động chia thành nhiều phần nhỏ. Các phần nhỏ của tệp sẽ được sao chép và lưu trữ trên nhiều máy chủ khác để tăng khả năng chịu lỗi và tính sẵn sàng cao.
HDFS sử dụng kiến trúc chính/phụ, trong đó chủ bao gồm một NameNode để quản lý hệ thống tệp siêu dữ liệu và một hoặc nhiều DataNode phụ để lưu trữ dữ liệu thực tế.
Một tệp có định dạng HDFS được chia thành nhiều khối và các khối này được lưu trữ trong một tập hợp các DataNode. NameNode xác định ánh xạ từ các khối tới DataNode. DataNodes xử lý các tác vụ đọc và ghi dữ liệu vào hệ thống tệp. Họ cũng quản lý việc tạo, hủy và sao chép các khối thông qua các chỉ thị từ NameNode.
2. Giảm bản đồ Hadoop
Đây là một hệ thống dựa trên SỢI để xử lý song song các tập dữ liệu lớn. Một cách chia vấn đề dữ liệu lớn hơn thành các phần nhỏ hơn và phân phối nó trên nhiều máy chủ. Mỗi máy chủ có bộ tài nguyên riêng và máy chủ xử lý dữ liệu cục bộ. Khi máy chủ xử lý xong dữ liệu, chúng sẽ được gửi trở lại máy chủ chính.
Bản đồGiảm bao gồm một Trình theo dõi công việc chính (máy chủ) và Trình theo dõi tác vụ phụ (máy trạm) trên mỗi nút cụm. Master chịu trách nhiệm quản lý tài nguyên, theo dõi mức tiêu thụ tài nguyên và lên lịch, quản lý các tác vụ trên máy trạm, giám sát chúng và thực hiện lại các tác vụ bị lỗi. Các nô lệ TaskTracker thực thi các tác vụ do chủ chỉ định và cung cấp thông tin trạng thái nhiệm vụ để chủ theo dõi.
Xem thêm: Ý nghĩa của từ Halo là gì? Ý nghĩa của Halo trong tiếng Việt
JobTracker là một điểm yếu của Hadoop Mapreduce. Nếu JobTracker bị lỗi, tất cả các công việc liên quan sẽ bị gián đoạn.
3. Hadoop chung
Đây là những thư viện và tiện ích Java cần thiết cho các mô-đun khác sử dụng. Các thư viện này cung cấp hệ thống tệp và lớp hệ điều hành trừu tượng, đồng thời chứa mã Java để khởi động Hadoop.
4. SỢI Hadoop
Quản lý tài nguyên của hệ thống lưu trữ dữ liệu và chạy phân tích.
Hadoop hoạt động như thế nào?
Giai đoạn 1
Người dùng hoặc ứng dụng có thể gửi công việc tới Hadoop (ứng dụng khách công việc hadoop) với quá trình xử lý yêu cầu và thông tin cơ bản:
Nơi lưu trữ dữ liệu đầu vào và đầu ra trên hệ thống dữ liệu phân tán. Các lớp java ở định dạng jar chứa các dòng lệnh thực thi các hàm map và reduce. Cài đặt dành riêng cho công việc được chuyển qua các tham số. số đầu vào.
Giai đoạn 2
Ứng dụng công việc Hadoop gửi công việc (tệp jar, tệp thực thi) và cài đặt cho JobTracker. Sau đó, máy chủ sẽ phân phối nhiệm vụ cho các máy phụ để theo dõi và quản lý tiến trình của chúng, đồng thời cung cấp thông tin trạng thái và chẩn đoán liên quan đến máy khách.
Giai đoạn 3
Trình theo dõi tác vụ trên các nút khác nhau thực thi tác vụ MapReduce và trả về đầu ra được lưu trữ trong hệ thống tệp.
Bằng cách “chạy Hadoop” có nghĩa là chạy một bộ daemon – daemon hoặc chương trình thường trú trên các máy chủ khác nhau trong mạng của bạn. Các daemon này có vai trò cụ thể, một số chỉ tồn tại trên một máy chủ, một số có thể tồn tại trên nhiều máy chủ.
Xem thêm: Nhân Học Tìm Hiểu Nốt Ruồi Ở Tai, Nốt Ruồi Ở Tai Ở Đàn Ông Và Phụ Nữ Nói Gì
Các daemon bao gồm:
NameNodeDataNodeSecondaryNameNodeJobTrackerTaskTracker
Tại sao nên sử dụng Hadoop?
Ưu điểm của việc sử dụng Hadoop:
Mạnh mẽ và có thể mở rộng – Có thể thêm các nút mới và thay đổi chúng khi cần. Giá cả phải chăng và Hiệu quả về chi phí – Không cần phần cứng đặc biệt để chạy Hadoop. Thích ứng và Linh hoạt – Hadoop được xây dựng với tính năng xử lý dữ liệu có cấu trúc và Tính khả dụng cao và Khả năng chịu lỗi – Khi một nút không thành công, nền tảng Hadoop sẽ tự động chuyển sang một nút khác.
Nguồn tham khảo:
Bạn thấy bài viết Tổng Quan Mô Hình Lập Trình Mapreduce Là Gì ? Hiểu Thêm Về Kiến Trúc Của Hadoop có khắc phục đươc vấn đề bạn tìm hiểu ko?, nếu ko hãy comment góp ý thêm về Tổng Quan Mô Hình Lập Trình Mapreduce Là Gì ? Hiểu Thêm Về Kiến Trúc Của Hadoop bên dưới để duhoc-o-canada.com có thể thay đổi & cải thiện nội dung tốt hơn cho các bạn nhé! Cám ơn bạn đã ghé thăm Website: duhoc-o-canada.com của duhoc-o-canada.com
Nhớ để nguồn bài viết này: Tổng Quan Mô Hình Lập Trình Mapreduce Là Gì ? Hiểu Thêm Về Kiến Trúc Của Hadoop của website duhoc-o-canada.com
Chuyên mục: Là gì?