TopDev

Sự khác nhau giữa MapReduce và Spark?

minhu 📖 3 phút đọc

Việc backup và phục hồi dữ liệu trong hệ thống Big Data rất quan trọng để đảm bảo tính sẵn sàng, an toàn dữ liệukhôi phục sau thảm họa. Dưới đây là hướng dẫn tổng quát, áp dụng cho các hệ thống phổ biến như Hadoop, HDFS, Hive, Spark, HBase,...



🛡️ 1. Nguyên tắc backup & phục hồi trong Big Data#

  • Dữ liệu lớn → backup thông minh: Không thể copy toàn bộ dữ liệu như hệ thống nhỏ.

  • Chia lớp dữ liệu:

    Dữ liệu gốc (raw data)

    • Dữ liệu đã xử lý (transformed data)

    • Metadata (schema, table, config, job, workflow,...)

  • Chiến lược backup theo thời gian: full backup, incremental backup, snapshot, versioning.



💽 2. Cách backup trong từng thành phần hệ thống Big Data#

🗂️ HDFS (Hadoop Distributed File System)#

Phương pháp Mô tả
DistCp (Distributed Copy) Dùng để sao chép dữ liệu giữa các cluster hoặc backup từ HDFS → HDFS khác.
Snapshot HDFS hỗ trợ snapshot tại cấp độ thư mục, dễ phục hồi lại trạng thái cũ.
Export to S3/Cloud Dùng công cụ như s3a:// hoặc gs:// để lưu dữ liệu lên đám mây.
Replication Tăng hệ số nhân bản (replication factor) để tránh mất mát khi node lỗi.

🐝 Hive / Metadata#

Phương pháp Mô tả
Backup metastore DB Hive dùng MySQL/PostgreSQL làm metadata store → cần dump định kỳ bằng mysqldump hoặc pg_dump.
Export table Dùng lệnh EXPORT TABLEIMPORT TABLE.

🔥 Spark#

  • Spark không lưu dữ liệu lâu dài → chỉ cần backup dữ liệu gốcjob scripts (code).

  • Có thể log và version control các pipeline qua hệ thống như MLflow hoặc Git.

🗃️ HBase#

Phương pháp Mô tả
Snapshot + Export HBase hỗ trợ snapshot và export sang HDFS hoặc S3.
Backup tool Dùng hbase backup command line tool nếu có bật chế độ backup.
Replication HBase hỗ trợ replication real-time giữa các cluster.


♻️ 3. Phục hồi dữ liệu (Restore)#

  • HDFS:

    Dùng snapshot: hdfs dfs -rollback

    • Dùng DistCp: copy dữ liệu từ nơi lưu trữ trở lại
  • Hive:

    Khôi phục metastore bằng dump SQL

    • IMPORT TABLE hoặc chạy lại CREATE EXTERNAL TABLE nếu dữ liệu còn
  • Spark:

    Rerun pipeline nếu dữ liệu gốc còn

    • Phục hồi từ checkpoint (nếu dùng streaming)
  • HBase:

    restore_snapshot để phục hồi table

    • Nếu dùng replication: tự động failover


📌 4. Công cụ hỗ trợ backup#

Công cụ Chức năng
Apache Falcon (deprecated) Lập lịch và quản lý luồng dữ liệu, backup/restore
Apache Oozie Lên lịch workflow backup tự động
Airflow / NiFi Tự động hóa quy trình backup
Cloudera / Hortonworks tools Tích hợp công cụ backup qua giao diện UI


5. Best Practices#

  • Luôn version dữ liệu (gắn timestamp theo thư mục hoặc file)

  • Backup cả dữ liệu + metadata + code

  • Lưu dữ liệu backup ở cluster khác hoặc cloud (S3, GCS, Azure Blob)

  • Thiết lập lịch backup tự động (hàng ngày / hàng tuần)

  • Kiểm tra định kỳ khả năng restore thực tế



Nếu bạn đang dùng cụ thể Hadoop, Spark, hay hệ thống cloud như AWS EMR, GCP Dataproc,... mình có thể hướng dẫn chi tiết theo nền tảng bạn sử dụng. Bạn dùng nền tảng nào trong Big Data?

Bài liên quan trong #Big Data

✓ Đã sao chép link