• vi-VNen-GB

Hadoop

Apache Hadoop đã nhận được sự ủng hộ và ứng dụng của Yahoo, Google, IBM…Hadoop có thể chạy các ứng dụng với lượng dữ liệu lớn một cách nhanh chóng, chính xác, hiệu quả cao bằng cách lưu và tính toán dữ liệu trên nhiều node một cách độc lập. Hadoop có 2 thành phần chủ yếu là HDFS (Hadoop Distributed File System) và MapReduce.

Nhìn từ bên ngoài, files lưu trên HDFS cũng giống như lưu trong Windows hay Linux. Chúng ta có thể create new, delete, move, rename…Nhưng trên thực tế, dữ liệu được chia ra thành blocks lưu trữ trên rất nhiều DataNode, mỗi block có nhiều bản sao (mặc định là 3) lưu trên nhiều DataNode khác nhau, phòng khi một DataNode nào đó có sự cố thì hệ thống vẫn hoạt động bình thường. Ngoài ra còn có 1 (và chỉ 1) NameNode làm nhiệm vụ quản lí dữ liệuvà điều tiết các lệnh đòi hỏi thao tác chúng.

Còn MapReduce giúp cho việc xử lí song song được thuận lợi, ít nhất gồm 3 bộ phận: hàm Map để phân tích data thành các cặp(key, value); hàm Reduce căn cứ vào các key để gom tập hợp các cặp như vậy lại với nhau và đưa ra kết quả; hàm Main để điều tiết. Mỗi một thao tác Map hoặc Reduce được gọi là TaskTracker. Thông thường TaskTrackers được chạy trên DataNodes để giảm đường truyền. Tasktrackers  được JobTracker căn cứ vào thông tin của blocks để khởi tạo trên DataNode phù hợp. JobTracker không nhất thiết chạy trên cùng máy với NameNode.

Hadoop đang ngày càng được ứng dụng và phát triển rộng rãi tại nhiều nước trên thế giới và đang được bước đầu ứng dụng ở Việt Nam.