Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Công nghệ HADOOP - Cấu trúc và thành phần - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

Trong bài viết trước đây, blog đã giới thiệu về khái niệm Big Data và nhấn mạnh về tầm quan trọng của nó trong nhiều lĩnh vực của cuộc sống. Bài viết này sẽ tiếp tục khám phá Hadoop, một trong những công nghệ nền tảng quan trọng, đóng vai trò chính yếu trong việc lưu trữ và truy cập dữ liệu.

Nếu bạn quan tâm đến việc hiểu rõ về Hadoop, cũng như cách nó hoạt động, hãy đọc tiếp bài viết dưới đây.

Định nghĩa Hadoop là gì?

Trước khi đi sâu vào tìm hiểu khái niệm về Hadoop thì cùng tìm hiểu một chút về  lịch sử Hadoop hình thành nhé.

Khái quát về lịch sử hình thành

Năm 2005, Hadoop chính thức ra mắt do Apache Software Foundation phát triển. Apache Software Foundation, một tổ chức phi lợi nhuận hàng đầu trong lĩnh vực sản xuất phần mềm và mã nguồn mở, đã đặt nền móng cho sự phát triển của Hadoop, hỗ trợ các nền tảng khác trên Internet.

Bạn đã biết Hadoop là gì chưa?

Bạn đã biết Hadoop là gì chưa?

Với hơn 15 năm phát triển nên Hadoop dần khẳng định được tầm quan trọng của chính mình trong quá trình lưu trữ cũng như xử lý cho các kho dữ liệu. Cái tên Hadoop được đặt bằng tên của một chú voi đồ chơi của một bé trai trong số lập trình viên sáng tạo ra Hadoop ban đầu.

Hadoop là gì?

Hadoop là một framework mã nguồn mở được viết bằng ngôn ngữ lập trình Java, được thiết kế để hỗ trợ phát triển ứng dụng phân tán và xử lý nguồn dữ liệu lớn mà không mất phí. Đặc điểm nổi bật của Hadoop là khả năng làm việc với các ứng dụng có thể đồng thời tương tác với hàng trăm node và xử lý dữ liệu lên đến hàng ngàn petabyte.

Nguyên lý phát triển của Hadoop chủ yếu dựa trên các khái niệm từ Google, đặc biệt là mô hình MapReduce và hệ thống tệp Google (GFS). Đồng thời, Hadoop cũng sử dụng cơ chế streaming và hỗ trợ việc phát triển ứng dụng dưới dạng phân tán bằng nhiều ngôn ngữ lập trình khác nhau, bao gồm C++, Python, Pearl, ngoài việc sử dụng Java.

Cấu trúc của Hadoop là gì?

Hadoop hoạt động dựa trên 4 module bao gồm:

Hadoop Common: Đây được xem là một trong những thư viện tiện ích cần thiết để đảm bảo cho các module khác có thể sử dụng. Hầu hết, những thư viện này đều cung cấp cho các hệ thống các file và lớp OS trừu tượng có chứa các mã lệnh Java để có thể khởi động được Hadoop.

Hadoop YARN: Là một framework được sử dụng cho việc quản lý cho các tiến trình cũng như tài nguyên của  cluster.

Kiến trúc của Hadoop

Cấu trúc của Hadoop

Hadoop Distributed File System (HDFS): Đây là một trong những hệ thống file phân tán giúp cung cấp cũng như truy cập đến các thông lượng cao dành cho ứng dụng trong việc khai thác dữ liệu.

HDFS sử dụng kiến trúc master/slave, trong đó master gồm một NameNode để quản lý hệ thống file metadata và một hay nhiều slave DataNodes để lưu trữ dữ liệu thực tại. Với một tập tin có dạng HDFS đều sẽ được chia thành nhiều khối khác nhau và chúng đều được lưu trữ trong các tập DataNodes.

NameNode đều sẽ được định nghĩa là các ánh xạ đến từ những khối từ DataNode. Những loại DataNode này đều điều hành những tác vụ đọc và ghi dữ liệu vào hệ thống file. Ngoài ra, chúng còn có nhiệm vụ quản lý việc tạo, nhân rộng, hủy các khối thông qua những chỉ thị từ NameNode.

Hadoop MapReduce: Là một trong những hệ thống dựa trên YARN để có thể thực hiện xử lý song song các tập dữ liệu lớn. MapReduce sẽ bao gồm một single master JobTracker và các slave TaskTracker gay trên mỗi cluster-node.

Các Master này đều có nhiệm vụ quản lý được các tài nguyên cũng như theo dõi quá trình tiêu thụ rồi thực hiện lập lịch quản lý các tác vụ trên máy trạm. Hầu hết, các máy slave TaskTracker đều sẽ thực thi được những master theo dạng chỉ định và có thể cung cấp được các thông tin trạng thái tác vụ để cho master có thể theo dõi.

Tính đến thời điểm hiện tại thì Hadoop đang ngày càng được mở rộng hơn cũng như  được nhiều framework khác hỗ trợ như: Hive, Hbase, Pig. Chình vì vậy, các lập trình viên có thể sự vào mục đích sử dụng cụ thể để có thể nâng cao hiệu quả xử lý dữ liệu từ Hadoop.

Hadoop là một framework quan trọng 

Hadoop là một framework quan trọng

Các ưu điểm của Hadoop là gì?

Để hiểu rõ hơn Hadoop là gì thì dưới đây là những ưu điểm nổi bật vốn có của Hadoop.

  • Hadoop có khả năng thêm nhiều node mới và thay đổi được các cấu hình của chúng một cách dễ dàng.
  • Các doanh nghiệp không cần phải đầu tư quá nhiều vào phần cứng quá mạnh và đặc biệt khi chạy Hadoop. Nhờ vậy, bạn có thể tiết kiệm được tối đa các chi phí đầu tư ban đầu.
  • Hadoop có khả năng xử lý được hầu hết những kho dữ liệu có cấu trúc hoặc không có cấu trúc một cách dễ dàng.
  • Trong suốt quá trình hoạt động thì 1 node trên hệ thống nếu bị lỗi thì nền tảng của Hadoop sẽ có thể tự động di chuyển sang dạng node dự phòng khác. Nhờ vậy mà hệ thống sẽ có thể hoạt động xuyên suốt ổn định hơn.
  • Hadoop đó là mã nguồn mở, điều này giúp nó tương thích rất nhiều cấu hình và platform khác nhau.

Hadoop giải quyết vấn đề gì và hướng giải quyết như thế nào?

Sau khi hiểu rõ Hadoop là gì, để người dùng có thể hiểu rõ hơn về Framework này; sau đây ITNavi sẽ giới thiệu đến bạn các vấn đề mà Hadoop có thể giải quyết.

Các vấn đề Hadoop có thể giải quyết

  • Hadoop có khả năng làm việc cùng với một khối lượng dữ liệu vô cùng lớn.
  • Hầu hết. các nguồn dữ liệu đều có khả năng được xử lý trong một môi trường dạng phân tán, đồng bộ cũng như được lưu trữ tại nhiều phần cứng khác nhau.
  • Hadoop sở hữu khả năng băng thông được mọi lưu trữ giữa các phần cứng vật lý của kho dữ liệu có giới hạn cho phép. Chính vì vậy, nó cần được quản lý cũng như nâng cấp sao cho kịp thời nhất.

Hướng giải quyết của Hadoop

  • Thực hiện nhiệm vụ quản lý các file phân tán: HDFS (Hadoop Distributed File System) được giao nhiệm vụ chia nhỏ các kho dữ liệu thành nhiều phần khác nhau và những dữ liệu này đều sẽ được quản lý sao cho có hệ thống nhất.
  • Mô hình MapReduce: Đây là một trong những mô hình quen thuộc của Hadoop. Nó được phân công thực hiện chia nhỏ các task thành nhiều phần khác nhau để có thể dễ dàng xử lý hơn. Những task này đều sẽ được xử lý song song dựa trên các Node CPU khác nhau và sẽ được đồng bộ với máy chủ quản lý Master Node.

Hadoop hoạt động ra sao?

Hadoop hoạt động ra sao?

Các giai đoạn hoạt động của Hadoop?

Giai đoạn 1

Các user hoặc ứng dụng đều sẽ submit được một công việc lên Hadoop (hadoop job client) để có thể đề xuất các yêu cầu xử lý thông tin cơ bản như:

  • Nơi lưu các dữ liệu input, output trên hệ thống các dữ liệu thuộc dạng phân tán.
  • Hầu hết, các java class theo kiểu định dạng jar đều sẽ chứa những dòng lệnh có khả năng thực thi thông qua các hàm map và reduce.
  • Những thiết bị cụ thể hoặc liên quan đến các job đều thông qua những thông số truyền vào.

Giai đoạn 2

Khi một công việc Hadoop được gửi đi bằng cách sử dụng job client, quy trình này sẽ kích hoạt JobTracker. Sau đó, hệ thống master sẽ tiến hành phân phối các nhiệm vụ tới các máy slave, chịu trách nhiệm theo dõi và quản lý các quy trình hoạt động trên những máy này. Qua quá trình này, thông tin liên quan đến chẩn đoán các tình trạng liên quan đến job client sẽ liên tục được cung cấp và theo dõi.

Giai đoạn 3

Các node chứa TaskTrackers sẽ thực hiện thực thi tác vụ MapReduce để trả về kết quả, và kết quả này được lưu trữ trong hệ thống file. Khi triển khai Hadoop, điều này đồng nghĩa với việc thực hiện các tác vụ nền hoặc chạy các chương trình thường trú trên các máy chủ khác nhau trong mạng của bạn. Những chương trình nền này thường đảm nhận các vai trò cụ thể, do đó, các chỉ số có thể xuất hiện trên nhiều máy chủ khác nhau.
Một số daemon khác bao gồm:

  • NameNode
  • DataNode
  • SecondaryNameNode
  • JobTracker
  • TaskTracker

Tổng kết

Chắc chắn rằng sau khi nắm bắt những thông tin hữu ích được chia sẻ ở phần trước, bạn đọc sẽ có cái nhìn chi tiết và sâu sắc hơn về Hadoop. Ngày nay, nhu cầu về lưu trữ dữ liệu của các doanh nghiệp đang ngày càng tăng cao, làm cho việc sử dụng Hadoop trở thành một lựa chọn hấp dẫn. Điều này dẫn đến sự gia tăng đáng kể trong việc tuyển dụng những người chuyên sâu và thành thạo về nền tảng này từ phía các doanh nghiệp.

Nếu bạn có đam mê và quan tâm đến Hadoop, hãy thử sức và không ngần ngại chúc mừng cho bản thân nếu bạn thành công. Đây không chỉ là một cơ hội nghề nghiệp mà còn là sự đầu tư vào kiến thức và kỹ năng có thể mang lại nhiều lợi ích trong sự nghiệp của bạn. Chúc bạn sớm đạt được những thành công lớn trong hành trình chinh phục nền tảng Hadoop!

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *