Thư viện phần mềm Apache Hadoop là một khung cho phép xử lý phân tán các tập dữ liệu lớn trên các cụm máy tính bằng các mô hình lập trình đơn giản. Nó được thiết kế để mở rộng quy mô từ các máy chủ đơn lẻ thành hàng nghìn máy, mỗi máy cung cấp khả năng tính toán và lưu trữ cục bộ. Thay vì dựa vào phần cứng để cung cấp tính khả dụng cao, bản thân thư viện được thiết kế để phát hiện và xử lý lỗi ở lớp ứng dụng, do đó cung cấp dịch vụ có tính sẵn sàng cao trên một cụm máy tính, mỗi máy tính đều có thể dễ bị lỗi. Apache Hadoop Hệ thống tệp tin Hadoop (HDFS) Mô thức xử lý dữ liệu MapReduce Các thành phần khác trong hệ sinh thái Hadoop
Chương Hệ sinh thái Hadoop Nội dung • Apache Hadoop • Hệ thống tệp tin Hadoop (HDFS) • Mơ thức xử lý liệu MapReduce • Các thành phần khác hệ sinh thái Hadoop Mục tiêu Hadoop • Mục tiêu • Lưu trữ liệu khả mở, tin cậy • Powerful data processing • Efficient visualization • Với thách thức • Thiết bị lưu trữ tốc độ chậm, máy tính thiếu tin cậy, lập trình song song phân tán không dễ dàng Giới thiệu Apache Hadoop • Lưu trữ xử lý liệu khả mở, tiết kiệm chi phí • Xử lý liệu phân tán với mơ hình lập trình đơn giản, thân thiện MapReduce • Hadoop thiết kế để mở rộng thông qua kỹ thuật scale-out, tăng số lượng máy chủ • Thiết kế để vận hành phần cứng phổ thơng, có khả chống chịu lỗi phần cứng • Lấy cảm hứng từ kiến trúc liệu Google Các thành phần Hadoop • Lưu trữ liệu: Hệ thống tệp tin phân tán Hadoop (HDFS) • Xử lý liệu: MapReduce framework • Các tiện ích hệ thống: • Hadoop Common: Các tiện ích chung hỗ trợ thành phần Hadoop • Hadoop YARN: Một framework quản lý tài nguyên lập lịch cụm Hadoop Hadoop giải toán khả mở • Thiết kế hướng “phân tán” từ đầu • Hadoop mặc định thiết kế để triển khai cụm máy chủ • Các máy chủ tham gia vào cụm gọi Nodes • Mỗi node tham gia vào vai trò lưu trữ tính tốn • Hadoop mở rộng kỹ thuật scale-out • Có thể tăng cụm Hadoop lên hàng chục ngàn nodes Hadoop giải tốn chịu lỗi • Với việc triển khai cụm máy chủ phổ thông • Hỏng hóc phần cứng chuyện thường ngày, khơng phải ngoại lệ • Hadoop chịu lỗi thơng qua kỹ thuật “dư thừa” • Các tệp tin HDFS phân mảnh, nhân nodes cụm • Nếu node gặp lỗi, liệu ứng với nodes tái nhân qua nodes khác • Công việc xử lý liệu phân mảnh thành tác vụ độc lập • Mỗi tác vụ xử lý phần liệu đầu vào • Các tác vụ thực thi song song với tác vụ khác • Tác vụ lỗi tái lập lịch thực thi node khác • Hệ thống Hadoop thiết kế cho lỗi xảy hệ thống xử lý tự động, không ảnh hưởng tới ứng dụng phía Tổng quan HDFS • HDFS cung cấp khả lưu trữ tin cậy chi phí hợp lý cho khối lượng liệu lớn • Tối ưu cho tập tin kích thước lớn (từ vài trăm MB tới vài TB) • HDFS có khơng gian thư mục phân cấp UNIX (vd., /hust/soict/hello.txt) • Hỗ trợ chế phân quyền kiểm sốt người dùng UNIX • Khác biệt so với hệ thống tập tin UNIX • Chỉ hỗ trợ thao tác ghi thêm liệu vào cuối tệp (APPEND) • Ghi lần đọc nhiều lần Kiến trúc HDFS • Kiến trúc Master/Slave • HDFS master: name node • Quản lý khơng gian tên siêu liệu ánh xạ tệp tin tới vị trí chunks • Giám sát data node • HDFS slave: data node • Trực tiếp thao tác I/O chunks Nguyên lý thiết kế cốt lõi HDFS • I/O pattern • Chỉ ghi thêm ( A p p e n d ) → giảm chi phí điều khiển tương tranh • Phân tán liệu • Tệp chia thành chunks lớn (64 MB) → Giảm kích thước metadata → Giảm chi phí truyền liệu • Nhân liệu • Mỗi chunk thơng thường làm nhân • Cơ chế chịu lỗi • Data node: sử dụng chế tái nhân • Name node • Sử dụng Secondary Name Node • SNN hỏi data nodes khởi động thay phải thực chế đồng phức tạp với primary NN ...Nội dung • Apache Hadoop • Hệ thống tệp tin Hadoop (HDFS) • Mơ thức xử lý liệu MapReduce • Các thành phần khác hệ sinh thái Hadoop Mục tiêu Hadoop • Mục tiêu • Lưu trữ liệu khả... phần Hadoop • Lưu trữ liệu: Hệ thống tệp tin phân tán Hadoop (HDFS) • Xử lý liệu: MapReduce framework • Các tiện ích hệ thống: • Hadoop Common: Các tiện ích chung hỗ trợ thành phần Hadoop • Hadoop. .. Hadoop • Hadoop YARN: Một framework quản lý tài nguyên lập lịch cụm Hadoop Hadoop giải tốn khả mở • Thiết kế hướng “phân tán” từ đầu • Hadoop mặc định thiết kế để triển khai cụm máy chủ • Các máy chủ