Hadoop là một trong những hệ thống xử lý Big Data phổ biến nhất hiện nay. Bạn biết gì về Hadoop? Cấu trúc đặc biệt nào làm nổi bật nó?
1. Hadoop là gì?
Apache Hadoop là một nền tảng mã nguồn mở mạnh mẽ, được ứng dụng để phát triển các ứng dụng xử lý dữ liệu trong môi trường Distributed Computing Environment (DCE).
Các ứng dụng được xây dựng trên Hadoop hoạt động trên các bộ dữ liệu lớn phân phối trên cụm máy tính.
Giống như cách dữ liệu tồn tại trong hệ thống tập tin cục bộ trên 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 gọi là Hadoop Distributed File System (HDFS).
Mô hình xử lý dựa trên ý tưởng của 'Data Locality', trong đó logic tính toán được gửi đến các node (máy chủ) chứa dữ liệu. Tóm lại, logic tính toán chỉ là phiên bản biên dịch của một chương trình được viết bằng ngôn ngữ cao cấp như Java.
Đường dẫn tải xuống phiên bản Hadoop mới nhất:
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.
Apache Hadoop đặc trưng bởi 2 dự án con quan trọng như sau:
- Hadoop MapReduce: Là mô hình tính toán và Framework được sử dụng để phát triển 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ý đồng thời khối dữ liệu lớn trên các node tính toán trong hệ thống.
- HDFS (Hadoop Distributed File System): HDFS chịu trách nhiệm lưu trữ dữ liệu cho 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ủa các khối dữ liệu và phân phối chúng trên các node tính toán trong cụm.
Ngoài ra, còn nhiều dự án liên quan đến Hadoop như Hive, HBase, Mahout, Sqoop, Flume và ZooKeeper.
- Xem thêm: Những công cụ Big Data nổi bật nhất năm 2020?
3. Cấu trúc Hadoop
Cấu trúc Master-Slave trong Hadoop giữ và xử lý dữ liệu phân tán thông qua MapReduce và HDFS.
NameNode: đại diện cho các tập tin và thư mục trong Namespace.
DataNode: quản lý trạng thái của các node HFDS và tương tác với các khối (block).
MasterNode: thực hiện xử lý dữ liệu đồng thời qua Hadoop MapReduce.
Slave node: đơn giản 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.
Bên cạnh đó, tất cả các máy Slave đều tích hợp Task Tracker và DataNode, đồng bộ các quy trình với NameNode và Job Tracker tương ứng.
Trong Hadoop, hệ thống chủ / máy Slave có thể được cài đặt cục bộ hoặc trên nền đám mây.
4. Các đặc điểm của Hadoop
Một số đặc điểm đáng chú ý của Hadoop bao gồm:
4.1. Giải pháp phân tích dữ liệu lớn
Tính chất không có cấu trúc và phân tán của Big Data làm cho các cụm Hadoop trở thành lựa chọn hoàn hảo để phân tích loại dữ liệu này. Với việc xử lý logic (không phải dữ liệu thực tế) trực tiếp trên các node tính toán, băng thông tiêu thụ giảm đáng kể. Khái niệm này được gọi là Data Locality, đồng thời tăng cường hiệu suất cho các ứng dụng xây dựng trên nền tảng Hadoop.
4.2. Khả năng mở rộng linh hoạt
Bằng cách thêm các node vào cụm, Hadoop có khả năng mở rộng mà không cần thay đổi phần logic của ứng dụng. Điều này cho phép xử lý khối lượng dữ liệu lớn hơn mà không gặp khó khăn.
4.3. Độ ổn định khi gặp sự cố
Hệ sinh thái Hadoop có khả năng sao lưu dữ liệu đầu vào đến các node khác. Điều này có nghĩa là nếu có vấn đề xảy ra với một 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. Topology Mạng trong Hadoop
Cấu trúc mạng ảnh hưởng đến hiệu suất của các cụm Hadoop khi kích thước của chúng tăng lên. Ngoài hiệu suất, người dùng cũng quan tâm đến tính khả dụng và khả năng xử lý các sự cố.
Để tạo ra cụm Hadoop này, chúng ta sử dụng Topology Mạng (cấu trúc liên kết mạng).
Thường thì băng thông là một yếu tố quan trọng khi xây dựng mạng. Trong Hadoop, việc đo lường băng thông trở nên phức tạp hơn khi mạng được biểu diễn dưới dạng cây và khoảng cách giữa các node trên cây đóng vai trò quan trọng trong quá trình hình thành cụm Hadoop.
Cụm Hadoop bao gồm một trung tâm dữ liệu, rack và node. Trong đó, trung tâm dữ liệu bao gồm các rack và mỗi rack chứa các node. Băng thông mạng có sẵn cho các quy trình khác nhau, phụ thuộc vào vị trí của chúng.
Trong bài viết này, Mytour đã giới thiệu về Hadoop là gì? Các thành phần và hệ sinh thái Hadoop? Nếu còn bất kỳ thắc mắc hoặc câu hỏi nào, độc giả có thể chia sẻ ý kiến của mình trong phần bình luận dưới bài viết.