Hadoop là gì? có nên sử dụng hay không? ThuThuatHay.Net

2020-11-23 10:17:42
Hadoop là gì? Các thành phần, hệ sinh thái và cấu trúc Hadoop như thế nào? Bạn đọc cùng tham khảo tiếp bài viết dưới đây của ThuThuatHay.Net để tìm hiểu chi tiết nhé.

Hadoop là một trong những hệ thống xử lý Big Data phổ biến nhất hiện nay. Vậy chính xác thì Hadoop là gì? Cấu trúc Hadoop có gì đặc biệt?

tim hieu ve hadoop

Tìm hiểu về Hadoop, hệ sinh thái và các thành phần

1. Hadoop là gì?

Apache Hadoop là framework phần mềm mã nguồn mở, được sử dụng để phát triển các ứng dụng xử lý dữ liệu được thực thi trong Distributed Computing Environment (DCE)

Các ứng dụng được xây dựng dựa trên Hadoop chạy trên các bộ dữ liệu lớn được phân phối trên các cụm máy tính.

hadoop la gi

Tương tự dữ liệu nằm trong hệ thống tập tin cục bộ trên hệ thống máy tính cá nhân, trong Hadoop, dữ liệu nằm trong hệ thống tập tin phân tán có tên gọi là Hadoop Distributed File System (HDFS).

Mô hình xử lý dựa trên khái niệm "Data Locality", trong đó logic tính toán được gửi đến các node (máy chủ) chứa dữ liệu. Về cơ bản logic tính toán chỉ là phiên bản biên dịch một chương trình được viết bằng ngôn ngữ cao cấp như Java.

Link tải Hadoop mới nhất:

=> Link tải Hadoop cho Windows

2. Hệ sinh thái Hadoop và các thành phần

Các thành phần trong hệ sinh thái Hadoop bao gồm: HDFS và HDFS, MapReduce, YARN, Hive, Apache Pig, Apache HBase và các thành phần HBase, HCatalog, Avro, Thrift, Drill, Apache mahout, Sqoop, Apache Flume, Ambari, Zookeeper và Apache OOzie.

tim hieu ve hadoop

Apache Hadoop bao gồm 2 dự án con, trong đó:

- Hadoop MapReduce: Là mô hình tính toán và Framework được sử dụng để viết các ứng dụng chạy trên Hadoop. Các chương trình MapReduce này có khả năng xử lý song song khối dữ liệu khổng lồ trên các cụm node tính toán lớn.

- HDFS (Hadoop Distributed File System): HDFS đảm nhận vai trò lưu trữ các ứng dụng Hadoop. Các ứng dụng MapReduce sử dụng dữ liệu từ HDFS. HDFS tạo nhiều bản sao các khối dữ liệu và phân phối trên các node tính toán trong cụm.

Ngoài ra còn một số dự án khác liên quan đến Hadoop như Hive, HBase, Mahout, Sqoop, Flume và ZooKeeper.

Xem thêm: Top công cụ Big Data tốt nhất 2020?

3. Kiến trúc Hadoop

Kiến trúc Master-Slave trên Hadoop lưu trữ dữ liệu và xử lý dữ liệu phân tán bằng MapReduce và HDFS.

hadoop la gi tim hieu ve phan mem

NameNode: đại diện cho các file và thư mục được sử dụng trong Namespace.DataNode: quản lý trạng thái node HFDS và cho phép người dùng tương tác với các khối (block).MasterNode: cho phép xử lý dữ liệu song song bằng Hadoop MapReduce.Slave node: về cơ bản Slave node là các máy bổ sung trong cụm Hadoop, cho phép người dùng lưu trữ dữ liệu để thực hiện các phép tính phức tạp.

Ngoài ra tất cả Slave node đều được tích hợp Task Tracker và DataNode, cho phép đồng bộ các process với NameNode và Job Tracker tương ứng.

Trong Hadoop, hệ thống master / slave có thể được thiết lập tại chỗ hoặc trên đám mây.

4. Các tính năng của Hadoop

Một số tính năng đáng chú ý của Hadoop bao gồm:

4.1. Giải pháp phân tích Big Data

Bản chất Big Data không có cấu trúc và có xu hướng phân tán, do đó các cụm Hadoop sẽ là lựa chọn lý tưởng để phân tích kiểu dữ liệu này. Vì công cụ xử lý logic (không phải dữ liệu thực tế) cho các node tính toán nên băng thông tiêu thụ ít hơn. Khái niệm này được gọi là Data Locality, giúp tăng hiệu quả các ứng dụng dựa trên Hadoop.

tim hieu thong tin ve hadoop

4.2. Khả năng mở rộng

Bằng cách bổ sung các cụm node để mở rộng các cụm Hadoop. Điều này cho phép bạn có thể xử lý khối lượng dữ liệu lớn hơn và không cần sửa đổi phần logic ứng dụng.

4.3. Khả năng chịu lỗi

Hệ sinh thái Hadoop có khả năng sao chép dữ liệu đầu vào sang các cụm node khác. Bằng cách này trong trường hợp nếu có sự cố với cụm node, quá trình xử lý dữ liệu vẫn có thể tiếp tục bằng cách sử dụng dữ liệu được lưu trữ trên một cụm node khác.

5. Network Topology trong Hadoop

Topology hay cấu trúc mạng ảnh hưởng đến hiệu suất các cụm Hadoop khi kích thước cụm này tăng lên. Ngoài hiệu suất, người dùng cũng quan tâm đến tính có sẵn và khả năng xử lý các sự cố.

Để hình thành được cụm Hadoop này bằng cách sử dụng Network Topology (cấu trúc liên kết mạng).

Thông thường băng thông là yếu tố quan trọng khi hình thành mạng bất kỳ. Tuy nhiên trong Hadoop việc đo băng thông sẽ phức tạp hơn, mạng sẽ được biểu diễn dưới dạng cây và khoảng cách giữa các node của cây được coi là yếu tốt quan trọng trong việc hình thành cụm Hadoop.

Cụm Hadoop bao gồm một data center, rack và node. Trong đó, data center bao gồm các rack và rack bao gồm các node. Băng thông mạng có sẵn cho các process khác nhau, tùy thuộc vào vị trí các process.

Bài viết trên đây ThuThuatHay.Net vừa giới thiệu cho bạn về Hadoop là gì? Các thành phần và hệ sinh thái Hadoop? Ngoài ra nếu còn thắc mắc hoặc câu hỏi nào cần giải đáp, bạn đọc có thể để lại ý kiến của mình trong phần bình luận bên dưới bài viết nhé.

Bài viết liên quan