Hướng dẫn sử dụng Hadoop

Mục Lục

  • Các thành phần của Hadoop (Components of Hadoop)
  • Tính năng năng của Hadoop
  • Cấu trúc liên kết mạng trong Hadoop
  • Tổng kết

Tóm Tắt

Apache HADOOP là một frameworks được sử dụng để phát triển các ứng dụng xử lý dữ liệu được thực thi trong môi trường điện toán phân tán.Tương tự như local file trong một hệ thống tệp cục bộ của hệ thống máy tính cá nhân, trong Hadoop, dữ liệu nằm trong một hệ thống tệp phân tán được gọi là hệ thống tệp phân tán Hadoop (Hadoop Distributed File system).Mô hình xử lý dựa trên khái niệm ‘Data locality’ trong đó, logic tính toán được gửi đến các node cụm (máy chủ) có chứa dữ liệu.Logic tính toán này không là gì ngoài phiên bản được biên dịch của một chương trình được viết bằng ngôn ngữ cấp cao như Java. Như một chương trình, xử lý dữ liệu được lưu trữ trong Hadoop HDFS.HADOOP là một frameworks mã nguồn mở. Các ứng dụng được xây dựng bằng HADOOP được chạy trên các tập Big Data được phân phối trên các cụm máy tính thông dụng.Máy tính thông dụng là các máy tính giá rẻ và được sử dụng ở mọi nơi. Chúng được hướng đến bởi mục đich của Big Data là đạt được sức mạnh tính toán lớn hơn với chi phí thấp.

  • Cụm máy tính bao gồm một tập hợp nhiều đơn vị xử lý (đĩa lưu trữ + bộ xử lý) được kết nối với nhau và hoạt động như một hệ thống duy nhất.

Các thành phần của Hadoop (Components of Hadoop)            Dưới đây biểu đồ cho thấy các thành phần khác nhau trong hệ sinh thái Hadoop-

Hướng dẫn sử dụng Hadoop

Hệ sinh thái Hadooop
Apache Hadoop bao gồm hai dự án nhỏ:

Hadoop MapReduceMapReduce là một mô hình tính toán và khung phần mềm để viết các ứng dụng được chạy trên Hadoop. Các chương trình MapReduce này có khả năng xử lý dữ liệu khổng lồ song song trên các cụm nút tính toán lớn.

HDFS(Hadoop Distributed File System)HDFS đảm nhiệm phần lưu trữ của các ứng dụng Hadoop. Các ứng dụng MapReduce tiếp nhận dữ liệu từ HDFS. HDFS tạo nhiều bản sao của các khối dữ liệu và phân phối chúng trên các node tính toán trong cụm. Phân phối này cho phép tính toán đáng tin cậy và cực kỳ nhanh chóng.

Tính năng năng của Hadoop

  • Thích hợp cho phân tích dữ liệu lớnVì dữ liệu lớn có xu hướng được phân phối và không có cấu trúc trong tựu nhiên. Nên các cụm HADOOP phù hợp nhất để phân tích Dữ liệu lớn. Vì, nó đang xử lý logic (không phải dữ liệu thực tế) chảy đến các node tính toán, tiêu thụ ít băng thông mạng hơn.

    Khái niệm này được gọi là khái niệm địa phương dữ liệu (data locality concept) giúp tăng hiệu quả của các ứng dụng dựa trên Hadoop.

  • Khả năng mở rộng (Scalability)
    Các cụm HADOOP có thể dễ dàng được thu nhỏ ở bất kỳ mức độ nào bằng cách thêm các cụm node bổ sung và do đó cho phép phát triển Big Data. Ngoài ra, khả năng mở rộng không yêu cầu sửa đổi logic ứng dụng.
  • Dung sai lỗiHệ sinh thái HADOOP có một điều khoản để sao chép dữ liệu đầu vào trên các cụm node khác. Theo cách đó, trong trường hợp xảy ra lỗi cụm node, việc xử lý dữ liệu vẫn có thể tiến hành bằng cách sử dụng dữ liệu được lưu trữ trên một nút cụm khác

Cấu trúc liên kết mạng trong Hadoop            Cấu trúc liên kết (Sắp xếp) của mạng, ảnh hưởng đến hiệu suất của cụm Hadoop khi kích thước của cụm hadoop phát triển.Ngoài hiệu suất, người ta cũng cần quan tâm đến một số vấn đề là tính sẵn sàng cao và xử lý các lỗi. Để đạt được sự hình thành cụm Hadoop này, hãy sử dụng cấu trúc liên kết mạng.Thông thường, băng thông mạng là một yếu tố quan trọng cần xem xét trong khi hình thành bất kỳ mạng nào.Tuy nhiên, vì việc đo băng thông có thể khó khăn, trong Hadoop, mạng được biểu diễn dưới dạng cây và khoảng cách giữa các node của cây này (số bước nhảy) được coi là yếu tố quan trọng trong việc hình thành cụm Hadoop.Ở đây, khoảng cách giữa hai node bằng tổng khoảng cách của chúng với tổ tiên chung gần nhất của chúng.Cụm Hadoop bao gồm trung tâm dữ liệu, giá đỡ và node thực sự thực hiện các công việc.Ở đây, trung tâm dữ liệu bao gồm các giá đỡ và giá đỡ bao gồm các node. Băng thông mạng có sẵn cho các quy trình khác nhau tùy thuộc vào vị trí của các quy trình. Chúng ta sẽ đi từ:

  • Các processestrên cùng một node
  • Các node khác nhau trên cùng một giá
  • Các node trên các giá đỡ khác nhau của cùng một trung tâm dữ liệu
  • Các node trong các trung tâm dữ liệu khác nhau

Tổng kết            Qua bài này chúng ta đã cùng tìm hiểu đối chút về Big Data, các component và tính năng của Hadooop. Bài tới tôi sẽ hướng dẫn các bạn cách để cài đặt và congfig Hadoop chi tiết nhất.

Apache HADOOP là một frameworks được sử dụng để phát triển các ứng dụng xử lý dữ liệu được thực thi trong môi trường điện toán phân tán.

Tương tự như local file trong một hệ thống tệp cục bộ của hệ thống máy tính cá nhân, trong Hadoop, dữ liệu nằm trong một hệ thống tệp phân tán được gọi là hệ thống tệp phân tán Hadoop (Hadoop Distributed File system).

Mô hình xử lý dựa trên khái niệm ‘Data locality’ trong đó, logic tính toán được gửi đến các node cụm (máy chủ) có chứa dữ liệu.

Logic tính toán này không là gì ngoài phiên bản được biên dịch của một chương trình được viết bằng ngôn ngữ cấp cao như Java. Như một chương trình, xử lý dữ liệu được lưu trữ trong Hadoop HDFS.

HADOOP là một frameworks mã nguồn mở. Các ứng dụng được xây dựng bằng HADOOP được chạy trên các tập Big Data được phân phối trên các cụm máy tính thông dụng.

Máy tính thông dụng là các máy tính giá rẻ và được sử dụng ở mọi nơi. Chúng được hướng đến bởi mục đich của Big Data là đạt được sức mạnh tính toán lớn hơn với chi phí thấp.

  • Cụm máy tính bao gồm một tập hợp nhiều đơn vị xử lý (đĩa lưu trữ + bộ xử lý) được kết nối với nhau và hoạt động như một hệ thống duy nhất.

Dưới đây biểu đồ cho thấy các thành phần khác nhau trong hệ sinh thái Hadoop-

Hướng dẫn sử dụng Hadoop

Hệ sinh thái Hadooop
Apache Hadoop bao gồm hai dự án nhỏ:

Hadoop MapReduceMapReduce là một mô hình tính toán và khung phần mềm để viết các ứng dụng được chạy trên Hadoop. Các chương trình MapReduce này có khả năng xử lý dữ liệu khổng lồ song song trên các cụm nút tính toán lớn.

HDFS(Hadoop Distributed File System)HDFS đảm nhiệm phần lưu trữ của các ứng dụng Hadoop. Các ứng dụng MapReduce tiếp nhận dữ liệu từ HDFS. HDFS tạo nhiều bản sao của các khối dữ liệu và phân phối chúng trên các node tính toán trong cụm. Phân phối này cho phép tính toán đáng tin cậy và cực kỳ nhanh chóng.

  • Thích hợp cho phân tích dữ liệu lớnVì dữ liệu lớn có xu hướng được phân phối và không có cấu trúc trong tựu nhiên. Nên các cụm HADOOP phù hợp nhất để phân tích Dữ liệu lớn. Vì, nó đang xử lý logic (không phải dữ liệu thực tế) chảy đến các node tính toán, tiêu thụ ít băng thông mạng hơn.

    Khái niệm này được gọi là khái niệm địa phương dữ liệu (data locality concept) giúp tăng hiệu quả của các ứng dụng dựa trên Hadoop.

  • Khả năng mở rộng (Scalability)
    Các cụm HADOOP có thể dễ dàng được thu nhỏ ở bất kỳ mức độ nào bằng cách thêm các cụm node bổ sung và do đó cho phép phát triển Big Data. Ngoài ra, khả năng mở rộng không yêu cầu sửa đổi logic ứng dụng.
  • Dung sai lỗiHệ sinh thái HADOOP có một điều khoản để sao chép dữ liệu đầu vào trên các cụm node khác. Theo cách đó, trong trường hợp xảy ra lỗi cụm node, việc xử lý dữ liệu vẫn có thể tiến hành bằng cách sử dụng dữ liệu được lưu trữ trên một nút cụm khác

Cấu trúc liên kết (Sắp xếp) của mạng, ảnh hưởng đến hiệu suất của cụm Hadoop khi kích thước của cụm hadoop phát triển.

Ngoài hiệu suất, người ta cũng cần quan tâm đến một số vấn đề là tính sẵn sàng cao và xử lý các lỗi. Để đạt được sự hình thành cụm Hadoop này, hãy sử dụng cấu trúc liên kết mạng.

Thông thường, băng thông mạng là một yếu tố quan trọng cần xem xét trong khi hình thành bất kỳ mạng nào.

Tuy nhiên, vì việc đo băng thông có thể khó khăn, trong Hadoop, mạng được biểu diễn dưới dạng cây và khoảng cách giữa các node của cây này (số bước nhảy) được coi là yếu tố quan trọng trong việc hình thành cụm Hadoop.

Ở đây, khoảng cách giữa hai node bằng tổng khoảng cách của chúng với tổ tiên chung gần nhất của chúng.

Cụm Hadoop bao gồm trung tâm dữ liệu, giá đỡ và node thực sự thực hiện các công việc.

Ở đây, trung tâm dữ liệu bao gồm các giá đỡ và giá đỡ bao gồm các node. Băng thông mạng có sẵn cho các quy trình khác nhau tùy thuộc vào vị trí của các quy trình. Chúng ta sẽ đi từ:

  • Các processestrên cùng một node
  • Các node khác nhau trên cùng một giá
  • Các node trên các giá đỡ khác nhau của cùng một trung tâm dữ liệu
  • Các node trong các trung tâm dữ liệu khác nhau

Qua bài này chúng ta đã cùng tìm hiểu đối chút về Big Data, các component và tính năng của Hadooop. Bài tới tôi sẽ hướng dẫn các bạn cách để cài đặt và congfig Hadoop chi tiết nhất.

Video liên quan