Ngày 6 nền tảng mềm mã nguồn mở Apache Hadoop

Hadoop là gì?

Apache Hadoop là 1 nền tảng mềm mã nguồn mở, miễn phí, dựa trên Java, cung cấp 1 nền tảng phân tán mạnh để lưu trữ và quản lý big data. Bản quyền Apache V2 license. Nó chạy ứng dụng trên các cụm phần cứng lớn và xử lý hàng ngàn terabytes dữ liệu trên hàng ngàn nodes. Hadoop lấy cảm hứng từ Google MapReduce và Google File System (GFS). Điểm mạnh của nền tảng Hadoop là cung cấp độ tin cậy và tính sẵn sàng cao.

>> Ngày 5 - Học về Big Data – NoSQL là gì?

>> Ngày 4 - học về cơ bản về kiến trúc Big Data

>> Ngày 3 - Học về sự tiến hóa của Big Data

What_is_Hadoop

Các thành phần lõi của Hadoop là gì?

Có hai thành phần chính của nền tảng Hadoop.

  • Hadoop MapReduce là cách chia 1 vấn đề dữ liệu lớn hơn thành các đoạn nhỏ hơn và phân tán nó trên nhiều máy chủ. Mỗi máy chủ có 1 tập tài nguyên riêng và máy chủ xử lý dữ liệu trên cục bộ. Khi máy chủ xử lý xong dữ liệu, chúng sẽ gởi trở về máy chủ chính.
  • Hadoop Distributed File System (HDFS) là hệ thống tập tin ảo. Có 1 sự khác biệt lớn giữa các hệ thống tập tin khác và Hadoop. Khi chúng ta di chuyển 1 tập tin trên HDFS, nó tự động chia thành nhiều mảnh nhỏ. Các đoạn nhỏ của tập tin sẽ được nhân rộng và lưu trữ trên nhiều máy chủ khác (thường là 3) để tăng sức chịu lỗi và tính sẵn sàng cao.

Bên cạnh 2 thành phần lõi, Hadoop cũng chứa 1 số modules:

  • Hadoop Common: các tiện tích thông dụng cho các module khác của Hadoop.
  • Hadoop Yarn: một nền tảng cho lập lịch và quản lý tài nguyên cụm (cluster).

Kiến trúc cụm Hadoop nhiều node

Xem tổng quan kiến trúc 1 cụm Hadoop nhiều node.

Hadoop_Architecture

Một cụm Hadoop nhỏ gồm 1 master node và nhiều worker / slave node. Như đã nói, toàn bộ cụm chứa 2 lớp. Một lớp MapReduce Layer và lớp kia là HDFS Layer. Mỗi lớp có các thành phần liên quan riêng. Master node gồm JobTracker, TaskTracker, NameNode, và DataNode. Slave / worker node gồm DataNode, và TaskTracker. Cũng có thể slave / worker node chỉ là dữ liệu hoặc node để tính toán.

Tại sao dùng Hadoop?

Các điểm thuận lợi khi dùng Hadoop:

  • Robus and Scalable – Có thể thêm node mới và thay đổi chúng khi cần.
  • Affordable and Cost Effective – Không cần phần cứng đặc biệt để chạy Hadoop.
  • Adaptive and Flexible – Hadoop được xây dựng với tiêu chí xử lý dữ liệu có cấu trúc và không cấu trúc.
  • Highly Available and Fault Tolerant – Khi 1 node lỗi, nền tảng Hadoop tự động chuyển sang node khác.

Hadoop

Tại sao Hadoop tên là Hadoop?

Năm 2005, Hadoop được tạo ra bởi Doug Cutting và Mike Cafarella khi làm việc tại Yahoo. Doug Cutting đặt tên Hadoop theo con voi đồ chơi của con trai mình.