Nội dung bài viết
#

Apache Hadoop là gì? Kiến trúc và tính năng của Hadoop

Nội dung bài viết

    Apache Hadoop được thiết kế với cấu trúc có khả năng lưu trữ dữ liệu lớn. Điều này giúp cho quá trình xử lý dữ liệu diễn ra nhanh chóng và hiệu quả hơn. Hãy cùng BKHOST tìm hiểu chi tiết về các thành phần chính và quy trình hoạt động của phần mềm này trong bài viết dưới đây.

    Hadoop là gì?

    Hadoop la gi

    Apache Hadoop là một Framework phần mềm mã nguồn mở có khả năng xử lý dữ liệu được thực thi trong môi trường Distributed Computing. Hầu hết các ứng dụng được triển khai dựa vào Hadoop đều có thể chạy trên các tập dữ liệu lớn trên Commodity Computer.

    Tương tự như các dữ liệu được lưu trữ trong Local File System trên máy tính cá nhân. Trong phần mềm, các dữ liệu được lưu trữ trong Local File System được gọi là Hadoop Distributed File System.

    Mô hình xử lý hoạt động dựa trên Data Locality cho phép các Computational Logic được chạy trên các cụm Node Container Data. Computational này chỉ đơn giản là một phiên bản được biên dịch của chương trình viết bằng ngôn ngữ Java.

    Hệ sinh thái Hadoop và các thành phần

    Sơ đồ dưới đây hiển thị các phần giống và khác nhau có trong phần mềm Hadoop:

    He sinh thai Hadoop

    Apache Hadoop bao gồm hai thành phần chính đó là:

    Hadoop MapReduce

    Đây là mô hình framework cho phép tính toán với khả năng hỗ trợ viết các ứng dụng chạy trên Hadoop. Các chương trình MapReduce này giúp xử lý lượng lớn dữ liệu một cách đồng thời trên các cụm Node Computation lớn.

    HDFS (Hadoop Distributed File System)

    HDFS quản lý dữ liệu lưu trữ của hai phần mềm, bao gồm Hadoop và MapReduce. Thành phần này có thể tạo nhiều bản sao khác nhau của các khối dữ liệu và phân phối chúng trên các Compute Node trong một cụm một cách linh hoạt và hiệu quả.

    Thông thường, ứng dụng MapReduce và hệ thống tệp phân tán của nó là ví dụ phổ biến nhất về Hadoop. Tuy nhiên, thuật ngữ ngày cũng được sử dụng cho một nhóm đối tượng khác có liên quan và nằm trong vùng máy tính phân tán và xử lý dữ liệu quy mô lớn. Một số dự án trong số đó có thể kể đến như Hive, HBase, Mahout, Sqoop, Flume và ZooKeeper.

    Kiến trúc của Apache Hadoop

    Kien truc cua Apache Hadoop

    Hadoop được thiết kế với kiến trúc Master-Slave có khả năng lưu trữ dữ liệu. Đồng thời, nó còn giúp hệ thống xử lý các dữ liệu phân tán bằng cách sử dụng phương pháp hỗ trợ như MapReduce và HDFS. Kiến trúc của Hadoop bao gồm các thành phần như sau:

    • NameNode: Đại diện cho tất cả các tệp và thư mục được sử dụng trong Namespace.
    • DataNode: Được sử dụng để quản lý trạng thái của Node HDFS và cho phép người dùng tương tác với các khối.
    • MasterNode: Cho phép người dùng xử lý nhiều dữ liệu một cách đồng thời dựa trên Hadoop MapReduce.
    • SlaveNode: Đây là các phần được thêm vào trong Hadoop với nhiệm vụ lưu trữ dữ liệu làm tài nguyên để thực thi các thuật toán. Ngoài ra, hầu hết các SlaveNode này đều được tích hợp với Task Tracker và DataNode. Điều này giúp hệ thống có thể đồng bộ hóa các quy trình với NameNode và Task Tracker công việc tương ứng.

    Đặc biệt, trong Apache Hadoop hai hệ thống Master và Slave có thể được triển khai trên Cloud hoặc On-premise.

    Các tính năng của Hadoop

    Dưới đây là một số tính năng của Apache Hadoop:

    Hỗ trợ phân tích dữ liệu lớn

    Hầu hết các dữ liệu đều được phân phối và chúng không có cấu trúc cụ thể. Do đó, các nhà cung cấp ưu tiên sử dụng cụm Hadoop để phân tích dữ liệu lớn trong đại đa số trường hợp. Bởi vì hầu hết các dữ liệu ảo được xử lý trên Node nên quá trình này tiêu thụ ít băng thông mạng hơn.

    Khả năng mở rộng

    Các nhà triển khai có thể thu nhỏ cụm Hadoop với kích thước theo mong muốn bằng cách thêm các cụm Node bổ sung. Điều này cho phép họ có thể mở rộng được nhiều dữ liệu lớn hơn. Đặc biệt, cả quá trình mở rộng này không yêu cầu bất kỳ thao tác sửa đổi logic nào trên ứng dụng.

    Khả năng chịu lỗi

    Hệ sinh thái Hadoop với tính năng cho phép người dùng có thể sao chép dữ liệu đầu vào sang các cụm Node khác một cách dễ dàng. Với phương pháp này ngay cả các trường hợp có cụm Node bị lỗi thì quá trình xử lý dữ liệu vẫn hoạt động bình thường. Điều này là do nó sử dụng các dữ liệu được lưu trữ trên một cụm Node khác trước đó.

    Cấu trúc liên kết mạng trong Hadoop

    Cấu trúc liên kết đóng vai trò quan trọng trong mạng. Nó quyết định đến hiệu suất hoạt động khi cụm Hadoop ở trong trường hợp tăng tích thước. Một số vấn đề khác cũng được quan tâm đến đó là khả năng sẵn sàng cao và xử lý lỗi tốt. Để đạt được đến tính năng nâng cao này, Hadoop cần được triển khai các cụm hoạt động dựa trên cấu trúc liên kết mạng.

    Băng thông mạng là một trong những thành phần chính cần được theo dõi và kiểm tra trước khi một mạng được chạy trong thực tế. Tuy nhiên, trong Hadoop rất khó khăn để có thể đo được băng thông. Điều này là do mạng được triển khai dưới dạng Tree.

    Hop là khoảng cách giữa các Node của Tree cũng được xem là một trong những yếu tố quan trọng trong quá trình hình thành cụm Hadoop. Trong đó, mỗi Hop chính là tổng khoảng cách của Node đến vị trí đầu tiên của chúng.

    Mỗi cụm Hadoop bao gồm một trung tâm dữ liệu, Rack và Node có nhiệm vụ quản lý và thực thi các công việc. Trong đó, trung tâm dữ liệu bao gồm các Rack và các Rack này lại bao gồm các Node.

    Băng thông mạng có sẵn được sử dụng làm tài nguyên thực thi quy trình khác nhau. Điều này phụ thuộc vào từng vị trí của quy trình đó. Chẳng hạn như vị trí càng xa thì càng ít băng thông:

    • Các tiến trình trên cùng một Node.
    • Các Node khác nhau nhưng đều nằm trên cùng một Rack.
    • Các Node trên các Rack khác nhau lại cùng thuộc trong một trung tâm dữ liệu.
    • Các Node trong trung tâm dữ liệu bất kỳ sẽ khác nhau.

    Tổng kết về Apache Hadoop

    Apache Hadoop là phần mềm mã nguồn mở được sử dụng để xử lý dữ liệu lớn. Hy vọng thông qua bài chia sẻ trên đây đã giúp bạn đọc hiểu thêm về quy trình hoạt động của Hadoop cũng như cấu trúc của nó. Nếu thấy bài viết hữu ích hãy theo dõi BKHOST để nhận thêm nhiều bài chia sẻ hay ho khác về CNTT nhé!

    Mua Hosting Linux tại BKHOST

    Giảm giá cực sâu, chất lượng hàng đầu. Đăng ký ngay hôm nay:

    cloud hosting linux

    Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.
    Bình luận

    Trượt lên đầu trang
    Gọi ĐT tư vấn ngay
    Chat ngay qua Zalo
    Chat ngay qua Messenger
    Bạn đã hài lòng với trải nghiệm trên Bkhost.vn?
    Cảm ơn lượt bình chọn của bạn, Chúc bạn 1 ngày tốt lành !