Apache Hadoop trên Amazon EMR – Nền tảng dữ liệu lớn – Amazon Web Services

Hadoop: những thành phần cơ bản

Amazon EMR cài đặt và cấu hình các ứng dụng qua lập trình trên dự án Hadoop, bao gồm Hadoop MapReduce, YARN, HDFS và Apache Tez trên các nút thuộc cụm của bạn.

Xử lý bằng Hadoop MapReduce, Tez và YARN

Hadoop MapReduce và Tez, các công cụ thực thi trên hệ sinh thái Hadoop, xử lý khối lượng công việc bằng cách sử dụng những framework có khả năng chia tác vụ thành những phần việc nhỏ hơn để phân tán trên các nút thuộc cụm Amazon EMR của bạn. Các công cụ này được xây dựng với kỳ vọng rằng bất kỳ công cụ nào thuộc cụm của bạn cũng có thể gặp sự cố vào bất kỳ lúc nào và được thiết kế có khả năng chịu lỗi. Nếu máy chủ chạy tác vụ gặp sự cố, Hadoop chạy lại tác vụ đó trên một công cụ khác cho đến khi hoàn tất.

Bạn có thể viết chương trình MapReduce và Tez bằng Java, sử dụng Phát trực tuyến Hadoop để thực thi song song mã cụm, sử dụng Hive và Pig để đạt mức độ trừu tượng hóa ở cấp cao hơn so với MapReduce và Tez hoặc các công cụ khác để tương tác với Hadoop.

Bắt đầu với Hadoop 2, quản lý tài nguyên được quản lý bởi Yet Another Resource Negotiator (YARN). YARN theo dõi toàn bộ các tài nguyên trong cụm của bạn và đảm bảo rằng các tài nguyên này được phân bổ động để hoàn tất các tác vụ trong tác vụ xử lý của bạn. YARN có khả năng quản lý khối lượng công việc Hadoop MapReduce và Tez cũng như các framework phân tán khác như Apache Spark.

Lưu trữ sử dụng Amazon S3 và EMRFS

Bằng cách sử dụng Hệ thống tệp EMR (EMRFS) trên cụm Amazon EMR, bạn có thể tận dụng Amazon S3 làm lớp dữ liệu cho Hadoop. Amazon S3 có quy mô linh hoạt, có mức chi phí thấp và được thiết kế có độ bền cao, khiến hệ thống này trở thành kho lưu trữ dữ liệu tuyệt vời để xử lý dữ liệu lớn. Bằng cách lưu trữ dữ liệu trên Amazon S3, bạn có thể tách lớp điện toán khỏi lớp lưu trữ, cho phép bạn xác định kích thước cụm Amazon EMR cho khối lượng CPU và bộ nhớ cần có cho khối lượng công việc thay vì bố trí thêm nút trên cụm của bạn để tối đa hóa bộ lưu trữ trên cụm. Ngoài ra, bạn có thể dừng cụm Amazon EMR khi cụm ở trạng thái rảnh để tiết kiệm chi phí trong khi dữ liệu của bạn vẫn ở trên Amazon S3.

EMRFS được tối ưu hóa cho Hadoop để trực tiếp đọc và ghi song song lên Amazon S3 với hiệu suất cao và có thể xử lý đối tượng được mã hóa bằng tính năng mã hóa phía máy chủ và phía máy khách của Amazon S3. EMRFS cho phép bạn sử dụng Amazon S3 làm kho dữ liệu và có thể sử dụng Hadoop trên Amazon EMR làm lớp truy vấn linh hoạt.

Lưu trữ trên cụm với HDFS

Hadoop cũng bao gồm hệ thống lưu trữ phân tán, Hệ thống tệp Hadoop (HDFS), lưu trữ dữ liệu dưới dạng các khối lớn trên nhiều ổ đĩa cục bộ trên cụm của bạn. HDFS có hệ số sao chép có thể cấu hình được (với hệ số mặc định bằng 3x), giúp cải thiện độ khả dụng và độ bền. HDFS giám sát quá trình sao chép và cân bằng dữ liệu của bạn giữa các nút khi nút gặp sự cố và nút mới được bổ sung thêm.

HDFS được tự động cài kèm sẵn Hadoop trên cụm Amazon EMR và bạn có thể sử dụng HDFS kết hợp với Amazon S3 để lưu trữ dữ liệu đầu vào và đầu ra. Bạn có thể dễ dàng mã hóa HDFS bằng cách sử dụng cấu hình bảo mật Amazon EMR. Đồng thời, Amazon EMR cấu hình Hadoop để sử dụng HDFS và ổ đĩa cục bộ cho dữ liệu trung gian được tạo ra trong thời gian thực hiện các tác vụ Hadoop MapReduce, kể cả khi dữ liệu đầu vào của bạn nằm trên Amazon S3.