1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Nghiên cứu xây dựng mô hình giải pháp mã nguồn mở cloudera phục vụ triển khai ứng dụng big data tại mobifone

76 32 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 76
Dung lượng 1,76 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đề tài nghiên cứu hy vọng với giải pháp mã nguồn mở Cloudera đã đượcnghiên cứu sẽ được triển khai rộng rãi, góp phần vào việc bổ sung hạ tầng lưu trữ dữ liệu an toàn, lâu dài, tiết kiệm

Trang 1

PHẠM XUÂN LỘC

NGHIÊN CỨU XÂY DỰNG MÔ HÌNH GIẢI PHÁP MÃ NGUỒN MỞ CLOUDERA PHỤC VỤ TRIỂN KHAI

ỨNG DỤNG BIG DATA TẠI MOBIFONE

LUẬN VĂN THẠC SĨ KỸ THUẬT

(Theo định hướng ứng dụng)

HÀ NỘI - 2019

Trang 2

PHẠM XUÂN LỘC

NGHIÊN CỨU XÂY DỰNG MÔ HÌNH GIẢI PHÁP MÃ NGUỒN MỞ CLOUDERA PHỤC VỤ TRIỂN KHAI

ỨNG DỤNG BIG DATA TẠI MOBIFONE

CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN

Trang 3

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi

Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Tác giả luận văn ký và ghi rõ họ tên

Phạm Xuân Lộc

Trang 4

LỜI CẢM ƠN

Tôi xin trân trọng cảm ơn toàn thể các thầy cô trong Khoa Quốc tế và Đàotạo Sau Đại học – Khoa Công nghệ thông tin – Học viện Công nghệ Bưu chính Viễnthông đã tạo điều kiện cho tôi có một môi trường học tập tốt đồng thời truyền đạtcho tôi một vốn kiến thức quý báu một tư duy khoa học để phục vụ cho quá trìnhhọc tập và công tác của tôi

Tôi xin gửi lời cảm ơn đến các bạn trong lớp Cao học Hệ thống thông tinM17CQIS01-B khóa 2017- 2019 đã giúp đỡ tôi trong suốt thời gian học tập vừaqua Đặc biệt, tôi xin được bày tỏ lòng biết ơn sâu sắc đến PGS.TS HÀ HẢI NAM

đã tận tình chỉ bảo cho tôi trong suốt quá trình học tập và nghiên cứu, giúp tôi cónhận thức đúng đắn về kiến thức khoa học, tác phong học tập và làm việc

Tôi cũng xin được gửi lời cảm ơn tới gia đình, đồng nghiệp, người thân đãđộng viên, giúp đỡ tôi trong quá trình hoàn thành luận văn

Cuối cùng tôi xin kính chúc các thầy cô và toàn thể các bạn học viên trườngHọc viện Công nghệ Bưu chính Viễn thông một sức khỏe dồi dào, đạt được nhữngthành công trên con đường học tập và nghiên cứu khoa học Chúc trường ta sẽ sớmtrở thành ngọn cờ đầu của giáo dục nước nhà và Quốc tế

Xin trân trọng cảm ơn!

Hà Nội, ngày tháng năm

2018Tác giả luận văn

Phạm Xuân Lộc

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT v

DANH SÁCH BẢNG vii

DANH SÁCH HÌNH VẼ viii

MỞ ĐẦU 1

CHƯƠNG 1: GIỚI THIỆU VỀ BIG DATA VÀ GIẢI PHÁP CLOUDERA ÁP DỤNG XÂY DỰNG BIG DATA 3

Tóm tắt chương 3

1.1 Định nghĩa “Hệ thống Big Data” 3

1.2 Xu hướng phát triển của công nghệ Big Data 6

1.2.1 Tình hình phát triển và nhu cầu sử dụng công nghệ Big Data trong tương lai 6

1.2.2 So sánh, đánh giá các giải pháp mã nguồn mở áp dụng cho Big Data 9

1.3 Giới thiệu về Cloudera 11

1.4 Kiến trúc các thành phần mã nguồn mở trên nền tảng Cloudera 16

1.4.1 Hadoop 18

1.4.2 Hệ quản trị CSDL: HBase 27

1.4.3 Học máy Apache Mahout 28

1.4.4 Tính toán trong bộ nhớ, streaming: Apache Spark 29

1.4.5 Truy vấn song song như: Apache Impala 30

1.4.6 Một số Apache dùng để tổ chức lưu trữ, truy vấn dữ liệu trong Hadoop 31 1.5 Một số case study điển hình đã triển khai thành công Cloudera 32

CHƯƠNG 2: TRIỂN KHAI XÂY DỰNG HỆ THỐNG CLOUDERA PHỤC VỤ XÂY DỰNG BIG DATA TẠI MOBIFONE 34

Tóm tắt chương 34

2.1 Hiện trạng triển khai áp dụng công nghệ Big Data tại MobiFone 34

Trang 6

2.1.1 Hiện trạng tài nguyên máy chủ lưu trữ dữ liệu Big Data 34

2.1.2 Hiện trạng công nghệ phân tích dữ liệu cho Big Data tại MobiFone 35

2.2 Nhu cầu áp dụng công nghệ mã nguồn mở cho Big Data tại MobiFone 37

2.3 Thiết kế hệ thống Cloudera phục vụ xây dựng BIG DATA tại MobiFone 38

2.3.1 Bài toán triển khai 38

2.3.2 Mô hình triển khai 40

2.4 Triển khai cài đặt, cấu hình hệ thống 42

2.4.1 Cài đặt JDK 43

2.4.2 Cài đặt Database 43

2.4.3 Cài đặt Cloudera Manager Server 44

2.4.4 Cài đặt Cloudera Manager Agent 44

2.4.5 Cài đặt CDH và Manager Service Software 46

2.4.6 Khởi tạo, cấu hình và khởi động CDH và Managed Services 48

CHƯƠNG 3: KẾT QUẢ ĐẠT ĐƯỢC KHI XÂY DỰNG HỆ THỐNG CLOUDERA TẠI MOBIFONE 49

Tóm tắt chương 49

3.1 Kết quả xây dựng hệ thống Cloudera tại MobiFone 49

3.1.1 Quản lý các thành phần trên hệ thống bằng giao diện Cloudera 49

3.1.2 Áp dụng Spark để giải quyết bài toán phân khúc thuê bao 52

3.2 Kinh nghiệm cài đặt, triển khai hệ thống Cloudera 57

3.2.1 Một số tồn tại, khó khăn khi triển khai 57

3.2.2 Các giải pháp khắc phục 58

KẾT LUẬN 59

DANH MỤC CÁC TÀI LIỆU THAM KHẢO 60

Trang 7

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT

Trang 9

SQL

VAS

WIFI

Trang 10

DANH SÁCH BẢNG

Bảng 1.1: So sánh cloudera Xpress và Enterprise 16Bảng 3.1: Bảng so sánh các thành phần giải pháp Cloudera và giải pháp IBM 57

Trang 11

DANH SÁCH HÌNH VẼ

Hình 1.1: Các loại dữ liệu phổ biến người dùng hiện nay 4

Hình 1.2: Luồng xử lý dữ liệu lớn 6

Hình 1.3: Mô hình đoán áp dụng Big Data của google về dịch cúm 2009 8

Hình 1.4: Tổng quan các thành phần trong cloudera 17

Hình 1.5: Kiến trúc của HDFS 19

Hình 1.6: Luồng đọc dữ liệu trong HDFS 20

Hình 1.7: Luồng ghi dữ liệu trong HDFS 21

Hình 1.8: Kiến trúc MapReduce 23

Hình 1.9: Cơ chế hoạt động của MapReduce 24

Hình 1.10: Giao tiếp JobTracker và TaskTracker 25

Hình 1.11: Quá trình thực hiện maptask 26

Hình 1.12: Quá trình reduce task 27

Hình 1.13: Cách đọc ghi trên map-reduce 30

Hình 1.14: Cách đọc ghi trên spark 30

Hình 1.15: Mô hình kiến trúc tính toán song song impala 31

Hình 2.1 : Kiến trúc triển khai tổng thể 36

Hình 2.2: Mô hình phân khúc khách hàng trả trước của PWC 39

Hình 2.3: Mô hình logic triển khai Cloudera 41

Hình 2.4: Cài đặt cloudera Manager agent 45

Hình 2.5: Cài đặt cloudera theo cụm host từ giao diện 45

Hình 2.6: Cài đặt các gói apache từ giao diện cloudera 46

Hình 2.7: Kết quả cài đặt các apache trên cloudera home 47

Hình 2.8: Khởi tạo cấu hình và khởi động CDH 48

Hình 3.1: Giám sát trạng thái mỗi server trong cụm từ cloudera manager 50

Hình 3.2: Giám sát tổng quan toàn bộ các cụm server từ cloudera manager 51

Hình 3.3: Các tham số cấu hình từ giao diện cloudera manager 51

Hình 3.4: Kiểm tra log hệ thống cloudera 52

Hình 3.5: Quy trình xử lý dữ liệu bài toán phân khúc thuê bao 52

Trang 12

Hình 3.6: Kiểm tra dữ liệu nạp vào hadoop 53

Hình 3.7: Cách thực hiện coding bài toán phân khúc dùng spark trong cloudera 54

Hình 3.8: Kết quả phân khúc dùng Mllib, spark trong cloudera 54

Hình 3.9: Kết quả phân khúc theo biểu đồ 1 55

Hình 3.10: Kết quả phân khúc theo biểu đồ 2 55

Hình 3.11: Kết quả phân khúc theo biểu đồ 3 56

Hình 3.12: Kết quả phân khúc theo biểu đồ 4 56

Trang 13

MỞ ĐẦU

1. Tính cấp thiết của đề tài

Thị trường viễn thông di động tại Việt Nam đang dần trở nên bão hòa, doanhthu từ thoại và SMS từng bước giảm, sự bùng nổ của các sản phẩm OTT, các mạng

xã hội,… cùng với hạ tầng Internet phát triển, xu hướng công nghệ IoT, Big Databùng nổ, mạng WIFI khá phổ biến và cung cấp miễn phí tại nhiều nơi tại Việt Namđang thực sự là những thách thức không nhỏ đối với các nhà mạng viễn thông.Việckinh doanh các dịch vụ truyền thống thoại, sms, data… mà không có tác động phântích, tìm hiểu hành vi khách hàng, hiểu rõ nhu cầu thực sự của khách hàng ngàycàng trở nên khó khăn

Đứng trước những thách thức và nguy cơ ở trên, MobiFone cần phải có tầmnhìn, tư duy và chiến thuật mới để sẵn sàng thích ứng với sự thay đổi, thích ứng với

sự cạnh tranh ngày càng quyết liệt từ các đối thủ

Đề tài nghiên cứu hy vọng với giải pháp mã nguồn mở Cloudera đã đượcnghiên cứu sẽ được triển khai rộng rãi, góp phần vào việc bổ sung hạ tầng lưu trữ

dữ liệu an toàn, lâu dài, tiết kiệm chi phí cho hệ thống Big Data, cũng như nắm bắtthêm các kỹ thuật, các công cụ mã nguồn mở để áp dụng, kế thừa sản phẩm từ cộngđồng thế giới vào hệ thống Big Data hiện tại…góp phần phát triển cộng nghệ BigData trong MobiFone

2. Tổng quan về vấn đề nghiên cứu

 Khảo sát và đánh giá nhu cầu triển khai Big Data ứng dụng các công nghệ

mã nguồn mở

 Nghiên cứu và triển khai Big Data tại MobiFone ứng dụng Cloudera

 Xây dựng và triển khai các bài toán phân tích dữ liệu dựa trên nền tảng hạ tầng Big Data ứng dụng Cloudera

 Đánh giá kết quả đạt được và hướng phát triển tiếp theo

Trang 14

3. Mục đích nghiên cứu

 Nghiên cứu tìm hiểu công nghệ mã nguồn mở Cloudera phục vụ triển khaiBig Data

 Xây dựng hệ thống Big Data dựa trên nền tảng Cloudera tại MobiFone

 Cài đặt, phân tích và triển khai các chương trình khuyến mại và sản xuât kinhdoanh tại MobiFone

4. Đối tượng và phạm vi nghiên cứu

 Các sản phẩm mã nguồn mở hiện có trên thị trường về Big Data

 Nghiên cứu chuyên sâu giải pháp Cloudera áp dụng xây dựng Big Data tạiMobiFone

5. Phương pháp nghiên cứu

Phương pháp nghiên cứu là nghiên cứu lý thuyết kết hợp với thực nghiệm và phân tích, đánh giá kết quả

Trang 15

CHƯƠNG 1: GIỚI THIỆU VỀ BIG DATA VÀ GIẢI PHÁP

CLOUDERA ÁP DỤNG XÂY DỰNG BIG DATA

Tóm tắt chương

Nội dung chương 1 giới thiệu định nghĩa về Big Data, xu hướng phát triển

và nhu cầu sử dụng công nghệ Big Data, đồng thời giới thiệu nền tảng Cloudera trong việc triển khai Big Data đang phổ biến trên thế giới Tóm tắt lịch sử hình thành sản phẩm Cloudera cũng như đi sâu vào tìm hiểu kiến trúc của Cloudeara và chi tiết các thành phần Cuối cùng, giới thiệu những case study cụ thể đã triển khai

áp dụng cloudera trong việc triển khai Big Data thành công tại Việt Nam và trên thế giới.

1.1 Định nghĩa “Hệ thống Big Data”

Ngày nay, sự phát triển không ngừng của khoa học kỹ thuật, tiêu biểu như sự

ra đời của Internet và các thiết bị điện thoại, máy tính cá nhân, đã mang lại nhữngđổi thay lớn lao trên mọi lĩnh vực đời sống Trong kỷ nguyên của IoT2 (internet ofthings 2) với việc ứng dụng và tích hợp sâu rộng các thiết bị di động như điện thoại

di động, ô tô, và máy móc công nghiệp góp phần vào việc tạo và chuyển dữ liệu,dẫn đến sự bùng nổ của dữ liệu có thể thu thập được Trong dòng thác dữ liệu liêntục được tạo ra từng giây, thuật ngữ Big Data (Dữ liệu lớn) được sử dụng để chỉnhững bộ dữ liệu khổng lồ, chủ yếu không có cấu trúc, được thu thập từ nhiềunguồn khác nhau Tuy nhiên, Big Data lại chứa trong mình rất nhiều thông tin quýgiá mà nếu trích xuất thành công, nó sẽ giúp rất nhiều cho việc kinh doanh, nghiêncứu khoa học, dự đoán các dịch bệnh sắp phát sinh và thậm chí là cả việc xác địnhđiều kiện giao thông theo thời gian thực Trong công tác nghiên cứu khoa học, BigData đang mang lại các nhà nghiên cứu cơ hội tiếp cận và giải quyết rất nhiều vấn

đề hóc búa mà trước đây không thể hoặc rất khó thực hiện

Big Data là thuật ngữ dùng để chỉ một tập hợp dữ liệu rất lớn và rất phức tạpđến nỗi những công cụ, ứng dụng xử lí dữ liệu truyền thống không thể nào đảm

Trang 16

đương được Tuy nhiên, Big Data lại chứa trong mình rất nhiều thông tin quý giá

mà nếu trích xuất thành công, nó sẽ giúp rất nhiều cho việc kinh doanh, nghiên cứukhoa học, dự đoán các vấn đề, tình huống sẽ xảy ra Những dữ liệu này phải đượcthu thập, tổ chức, lưu trữ, tìm kiếm, chia sẻ theo một cách khác so với bình thường

do các hệ cơ sở dữ liệu lưu trữ truyền thống không đáp ứng được

Hình ảnh mô tả các loại dữ liệu phổ biến người dùng hiện nay

Hình 1.1: Các loại dữ liệu phổ biến người dùng hiện nay

Kích cỡ của Big Data đang từng ngày tăng lên, và tính đến năm 2015 thì nó

có thể nằm trong khoảng vài chục terabyte cho đến nhiều petabyte (1 petabyte =

1024 terabyte) chỉ cho một tập hợp dữ liệu nghiệp vụ nào đó mà thôi

Về khái niệm Big Data có thể được định nghĩa phổ biến như sau:

Big Data được hiểu là “Dữ liệu lớn” – là tập hợp dữ liệu có dung lượng củatất cả các lĩnh vực của đời sống xã hội; chúng vượt mức đảm đương của những ứngdụng và công cụ truyền thống trong việc thu thập, hiển thị, phân phối, quản lý và xử

lý Tương lai xa dữ liệu Big Data là không thể đếm được

Big Data được tạo ra từ nhiều nguồn dữ liệu như mạng xã hội; các dịch vụngân hàng, tài chính, viễn thông; các dịch vụ thương mại điện tử; internet … BigData ra đời dựa trên yêu cầu tất yếu của quá trình phát triển dữ liệu số trên phạm vi

Trang 17

toàn cầu; hầu hết các doanh nghiệp đầu tầu trong lĩnh vực công nghệ như:Microsoft, SAP, EMC, HP, Software AG, Oracle, IBM, Ebay, Amazon.com,Facebook… đều phải quản lý Big Data của mình sở hữu.

Hàng ngày trang thương mại điện tử Amazon phải xử lý hàng triệu đơn hàngcùng với hàng trăm nghìn giao dịch phát sinh khác của hệ thống đối tác Để có thể

“chịu” được khối lượng data siêu khủng mà mình phải xử lý hãng đã huy động ba

cơ sở dữ liệu Linux lớn với dung lượng của mỗi cơ sở lần lượt là 7,8TB, 18,5TB và24,7TB eBay cần hai trung tâm dữ liệu với dung lượng 40 petabyte để vận hành dữliệu; 50 tỉ bức ảnh cùng hàng triệu video, dòng trạng thái mà người dùng uploadcũng là một con số không nhỏ mà Facebook phải quản lý; Youtube và Google thìphải lưu lại hết các lượt truy vấn cùng vô số thông tin khác Với số lượng như vậyquá trình Khai phá dữ liệu (Data Mining) cũng sẽ gặp những khó khăn nhất định

Theo các chuyên gia, nhà chiến lược, tính tới thời điểm năm 2010 tổng giá trịcủa ngành công nghiệp Big Data đạt hơn 100 tỉ đô la và tăng 10% mỗi năm, nhanhgấp đôi so với tổng ngành công nghiệp phần mềm Điều đó cho thấy Big Data chính

là thách thức cũng như cơ hội lớn của nhiều doanh nghiệp

Theo tài liệu của Intel vào tháng 9/2013, hiện nay thế giới đang tạo ra 1petabyte dữ liệu trong mỗi 11 giây và nó tương đương với một đoạn video HD dài

13 năm Bản thân các công ty, doanh nghiệp cũng đang sở hữu Big Data của riêngmình, chẳng hạn như trang bán hàng trực tuyến eBay thì sử dụng hai trung tâm dữliệu với dung lượng lên đến 40 petabyte để chứa những truy vấn, tìm kiếm, đề xuấtcho khách hàng cũng như thông tin về hàng hóa của mình

Còn theo tập đoàn SAS, chúng ta có một vài số liệu thú vị về Big Data nhưsau:

 Các hệ thống RFID (một dạng kết nối tầm gần, như kiểu NFC nhưng có tầmhoạt động xa hơn và cũng là thứ dùng trong thẻ mở cửa khách sạn) tạo ralượng dữ liệu lớn hơn 1.000 lần so với mã vạch truyền thống

Trang 18

 Chỉ trong vòng 4 giờ của ngày “Black Friday” năm 2012, cửa hàng Walmart

đã phải xử lí hơn 10 triệu giao dịch tiền mặt, tức là khoảng 5.000 giao dịchmỗi giây

 Dịch vụ chuyển phát UPS nhận khoảng 39,5 triệu yêu cầu từ khách hàng của mình mỗi ngày

 Dịch vụ thẻ VISA xử lí hơn 172.800.000 giao dịch thẻ chỉ trong vòng một ngày mà thôi

 Trên Twitter có 500 triệu dòng tweet mới mỗi ngày, Facebook thì có 1,15 tỉ thành viên tạo ra một mớ khổng lồ dữ liệu văn bản, tập tin, video…

Hình 1.2: Luồng xử lý dữ liệu lớn

(Nguồn : https://thegrid.ai/big-data-analytics/)

Big Data là thách thức đặt ra cho các tổ chức, doanh nghiệp trong thời đại sốhiện nay Một khi làm chủ được dữ liệu lớn thì họ sẽ có cơ hội thành công lớn hơntrong bối cảnh cạnh tranh ngày nay, thế giới thì sẽ được hưởng lợi hơn từ việc tríchxuất thông tin một cách chính xác hơn, hữu ích hơn với chi phí thấp hơn

1.2 Xu hướng phát triển của công nghệ Big Data

1.2.1 Tình hình phát triển và nhu cầu sử dụng công nghệ Big Data

trong tương lai

Tập đoàn SAS nói vấn đề thật sự không nằm ở việc bạn thu thập dữ liệu, thayvào đó, là bạn dùng Big Data để làm gì Nhìn chung, có bốn lợi ích mà Big

Trang 19

Data có thể mang lại: Cắt giảm chi phí, giảm thời gian, tăng thời gian phát triển vàtối ưu hóa sản phẩm, đồng thời hỗ trợ con người đưa ra những quyết định đúng vàhợp lý hơn.

Nếu để ý một chút, mọi người sẽ thấy khi mua sắm online trên eBay,Amazon hoặc những trang tương tự, trang này cũng sẽ đưa ra những sản phẩm gợi ýtiếp theo, ví dụ khi xem điện thoại, nó sẽ gợi ý cho bạn mua thêm ốp lưng, pin dựphòng; hoặc khi mua áo thun thì sẽ có thêm gợi ý quần jean, dây nịt Do đó,nghiên cứu được sở thích, thói quen của khách hàng cũng gián tiếp giúp doanhnghiệp bán được nhiều hàng hóa hơn

Vậy những thông tin về thói quen, sở thích này có được từ đâu? Chính là từlượng dữ liệu khổng lồ mà các doanh nghiệp thu thập trong lúc khách hàng ghéthăm và tương tác với trang web của mình Chỉ cần doanh nghiệp biết khai thác mộtcách có hiệu quả Big Data thì nó không chỉ giúp tăng lợi nhuận cho chính họ màcòn tăng trải nghiệm mua sắm của người dùng, chúng ta có thể tiết kiệm thời gianhơn nhờ những lời gợi ý so với việc phải tự mình tìm kiếm và như vậy chính cácDoanh nghiệm và người dùng cuối là khách hàng cũng sẽ được hưởng lợi cũng từviệc tối ưu hóa như thế,

Xa hơn một chút, ứng dụng được Big Data có thể giúp các tổ chức, chínhphủ dự đoán được tỉ lệ thất nghiệp, xu hướng nghề nghiệp của tương lai để đầu tưcho những hạng mục đó, hoặc cắt giảm chi tiêu, kích thích tăng trưởng kinh tế,v/v thậm chí là ra phương án phòng ngừa trước một dịch bệnh nào đó, giống nhưtrong phim World War Z, nước Israel đã biết trước có dịch zombie nên đã nhanhchóng xây tường thành ngăn cách với thế giới bên ngoài

Mà cũng không cần nói đến tương lai phim ảnh gì cả, vào năm 2009, Google

đã sử dụng dữ liệu Big Data của mình để phân tích và dự đoán xu hướng ảnhhưởng, lan truyền của dịch cúm H1N1 đấy thôi Dịch vụ này có tên là Google FluTrends Xu hướng mà Google rút ra từ những từ khóa tìm kiếm liên quan đến dịchH1N1 đã được chứng minh là rất sát với kết quả do hai hệ thống cảnh báo cúm độclập Sentinel GP và HealthStat đưa ra Dữ liệu của Flu Trends được cập nhật gần

Trang 20

như theo thời gian thực và sau đó sẽ được đối chiếu với số liệu từ những trung tâm dịch bệnh ở nhiều nơi trên thế giới.

Hình 1.3: Mô hình đoán áp dụng Big Data của google về dịch cúm

2009 (Nguồn:

https://www.linkedin.com/pulse/big-data-là-gì-và-người-ta-khai-thác-ứng-dụng-nó-vào-cuộc-nguyen )

Đường màu xanh là dự đoán của Google Flu Trends dựa trên số từ khóa tìmkiếm liên quan đến các dịch cúm, màu vàng là dữ liệu do cơ quan phòng chống dịchcủa Mỹ đưa ra

Còn theo Oracle, việc phân tích Big Data và những dữ liệu dung lượng lớn

đã giúp các tổ chức kiếm được 10,66$ cho mỗi 1$ chi phí phân tích, tức là gấp 10lần! Một trường học ở một quận lớn tại Mỹ cũng có được sự tăng trưởng doanhthulà 8 triệu USD mỗi năm, còn một công ty tài chính ẩn danh khác thì tăng 1000%lợi nhuận trên tổng số tiền đầu tư của mình trong vòng 3 năm

Trong tương lai, chúng ta sẽ còn tiếp tục chứng kiến sự tăng trưởng của BigData Hiện nay có thể bạn cũng đã nghe đến khái niệm Internet of Things, tức làmang Internet đến với mọi thứ trong đời sống hằng ngày Dữ liệu từ Internet ofThings thực chất cũng là được thu thập từ một mạng lưới rất nhiều các cảm biến vàthiết bị điện tử, và nó cũng là một trong những nguồn của Big Data Lượng dữ liệukhổng lồ này có thể cho các nhà nghiên cứu biết được hành vi tiêu dùng của kháchhàng, từ đó tinh chỉnh những thiết bị Internet of Things cho phù hợp hơn, bắt chúngphục vụ đời sống hằng ngày của chúng ta một cách hiệu quả hơn Nó cũng có thểđược dùng cho việc sản xuất, từ đó giảm sự liên quan của con người Như lời củaDaniel Kaufman dự đoán thì “con người sẽ làm ít hơn” nhờ Big Data

Trang 21

1.2.2 So sánh, đánh giá các giải pháp mã nguồn mở áp dụng cho Big Data

Cloudera, một công ty cung cấp hỗ trợ, tư vấn và các công cụ quản lý choHadoop, hiện đã có kênh phân phối phần mềm được gọi là Cloudera’s Distributionbao gồm cả Apache Hadoop (CDH) CDH là một phần mềm mã nguồn mở, đượccung cấp sẵn theo quy ước Apache Software License và miễn phí cho sử dụng cánhân và thương mại Cũng như nhiều mã nguồn mở của các công ty phần mềmkhác, Cloudera bắt đầu với một phiên bản Apache Hadoop chính thức phát hành,được sửa lỗi quan trọng, cung cấp thành các gói cho một số hoạt động khác nhau hệthống Hạ tầng Cloudera bao gồm các thành phần Apache Hadoop và đảm bảo khảnăng tương thích giữa các thành phần CDH hiện tại bao gồm Apache Hadoop,Apache HBase, Apache Hive, Apache Pig, Apache Sqoop, Apache Flume, ApacheZookeeper, Apache Oozie, Apache Mahout và Hue

Trên thế giới hiện nay cũng có có một số sản phẩm khác cạnh tranh trongviệc lưu trữ, xử lý dữ liệu lớn như IBM InfoSphere BigInsights, Hortonworks vàMapR Cloudera là sản phẩm có đầu tiên kể từ khi xuất hiện giải pháp lưu trữ dữliệu Hadoop Hortonworks đến sau này Trong khi Cloudera và Hortonworks là100% mã nguồn mở, thì hầu hết các phiên bản của MapR đi kèm với module độcquyền Đối ngược với sản phẩm mã nguồn mở thì IBM InfoSphere BigInsights làmột nền tảng phần mềm dịch vụ được thiết kế để giúp các doanh nghiệp phát hiện

và phân tích những hiểu biết kinh doanh ẩn trong khối lượng lớn dữ liệu Sản phẩmIBM InfoSphere BigInsights kết hợp một số dự án mã nguồn mở (bao gồm ApacheHadoop) và một số công nghệ của IBM phát triển Mỗi nhà cung cấp, phân phối cósức mạnh độc đáo và những điểm yếu riêng trong từng sản phẩm của mình

Cloudera Inc được thành lập bởi những thiên tài dữ liệu lớn từ Facebook,Google, Oracle và Yahoo trong năm 2008 Đây là công ty đầu tiên phát triển vàphân phối phần mềm Apache Hadoop và có số lượng người dùng lớn nhất với hầuhết khách hàng Mặc dù cốt lõi của phân phối dựa trên Apache Hadoop, nó cũngcung cấp một công cụ quản lý Cloudera Suite độc quyền để tự động hóa quá trình

Trang 22

cài đặt và cung cấp dịch vụ khác để nâng cao sự tiện lợi của người sử dụng trong đóbao gồm việc giảm thời gian triển khai và đơn giản quá trình vận hành, sử dụng.

Hortonworks, được thành lập vào năm 2011, đã nhanh chóng nổi lên như mộttrong những nhà cung cấp hàng đầu của Hadoop Việc phân phối cung cấp nền tảng

mã nguồn mở dựa trên Apache Hadoop cho việc phân tích, lưu trữ và quản lý dữliệu lớn Hortonworks là nhà cung cấp thương mại duy nhất để phân phối hoàn toàn

mã nguồn mở Apache Hadoop mà không cần phần mềm độc quyền bổ sung Sảnphẩm Hortonworks Distribution HDP2.0 có thể được tải về trực tiếp từ trang webcủa họ miễn phí và rất dễ dàng để cài đặt

MapR là một tiêu chuẩn phiên bản mã nguồn mở, phần mềm Apache Hadoop

đi kèm với một số hạn chế và được khắc phục qua các vấn đề trong bản tiêu chuẩnqua các module độc quyền có phí

Trong việc xây dựng hệ thống Big Data, 2 sản phẩm Cloudera vàHortonworks được biết đến nhiều nhất với giấy phép 100% mã nguồn mở và cónhiều tính năng mạnh mẽ trong việc lưu trữ dữ liệu lớn, quản là tìm kiếm dữ liệutheo kỹ thuật Hadoop

Cloudera cũng như Hortonworks đều được xây dựng trên cùng một lõi củaApache Hadoop Như vậy, họ có điểm tương đồng nhiều hơn sự khác biệt

 Cả hai đều cung cấp và phân phối sản phẩm Hadoop ở cấp độ doanhnghiệp (enterprise-ready Hadoop) Các bản phân phối đã được trải nghiệm qua thờigian của người tiêu dùng, bảo đảm tính an ninh và ổn định Bên cạnh đó, họ cungcấp dưới hình thức đào tạocó trả tiền và dịch vụ cho những người mới bước theocon đường của Big Data và Analytics

 Cả hai hãng đã thành lập và xây dựng những cộng đồng để giúp đỡcác vấn đề gặp phải và những ví dụ mình hoạ khi xây dựng Big Data với các sảnphẩm mã nguồn mở của hãng

 Cả hai hãng đều sử dụng kiến trúc master-slave và tính toán trênnhững hạ tầng máy tính không chia sẻ

Trang 23

 Quan trọng hơn cả là cả hai đều hỗ trợ phương thức MapReduce cũng như YARN trong cách lưu trữ dữ liệu.

Về ưu điểm và sự khác biệt thì Cloudera có ưu thế hơn so với các sản phẩm khác bởi các lý do như sau:

 Cloudera là sản phẩm đầu tiên xây dựng dựa trên nền tảng Apache Hadoop và hiện tại có số lượng người dùng lớn nhất với hầu hết khách hàng

 Cloudera có một phần mềm quản lý độc quyền Cloudera Manager, hỗtrợ truy vấn dạng SQL xử lý truy vấn giao diện Impala, cũng như Cloudera Search

dễ dàng và truy cập dữ liệu

 Cloudera đã có tên tuổi nhất trên thị trường, với hơn 350 khách hàng

và có một số phần mềm doanh nghiệp phủ lên trên các bản phân phối mã nguồn mởcủa mình để hỗ trợ người tiêu dùng

 Có nhiều công cụ mạnh mẽ trong việc lưu trữ các loại dữ liệu như xử

lý batch job, ngôn ngữ phân tích truy vấn dữ liệu SQL, kỹ năng tìm kiếm NoSQL,

xử lý stream…Giải pháp nền tảng mã nguồn mở CDH được đánh giá cao trong việclưu trữ, xử lý dữ liệu lớn và điển hình có sản phẩm Oracle Big Data Appliance(BDA) sử dụng toàn bộ giải pháp nền tảng CDH tích hợp trọn gói trong việc lưu trữ

xử lý dữ liệu

1.3 Giới thiệu về Cloudera

Cloudera là một Platform mã nguồn mở nhằm giúp cho các công ty xây dựng

hệ thống Big Data một cách linh hoạt, dễ dàng tích hợp các thành phần mã nguồn

mở, quản lý khối lượng và đa dạng dữ liệu nhanh chóng gia tăng trong doanhnghiệp Các sản phẩm và giải pháp của Cloudera cho phép chúng ta có thể triểnkhai, quản lý Apache Hadoop và các Apaches mã nguồn mở khác nhằm giúp thaotác truy vấn, phân tích dữ liệu, và giữ cho dữ liệu luôn luôn được an toàn và đượcbảo vệ

Cloudera cung cấp những sản phẩm và công cụ sau:

 CDH (Cloudera Distribution Of Apache Hadoop): Là một phân bố củaApache Hadoop và các apaches mã nguồn mở liên quan bao gồm Cloudera

Trang 24

Impala và Cloudera Search CDH còn cung cấp bảo mật và tích hợp với rất nhiều giải pháp phần cứng và phần mềm khác Hiện phiên bản mới nhất của CDH là 5.

 Cloudera Impala: Là một SQL engine phục vụ các xử lý song songvới lượng dữ liệu lớn nhằm phân tích trong Big Data Việc tối ưu hóa kiến trúctrong Cloudera Impala giúp cho lý tưởng, phù hợp với các truy vấn truyền thốngbằng cách phân nhỏ thành các truy vấn con Cloudera Impla có thể truy vấn các file

dữ liệu từ dữ liệu Hadoop từ nhiều nguồn khác nhau: như kết quả từ MapReducehoặc kết quả từ các bảng cơ sở dữ liệu Hive Chúng ta có thể quản lý Impala cùngcác thành phần khác của Hadoop thông qua giao diện của Cloudera Manager

 Cloudera Search-Cung cấp truy vấn gần thời gian thực đến dữ liệuđược lưu trữ xong hoặc đang được nạp vào Hadoop và HBase Cloudera Searchcung cấp gần thời gian thực việc lập chỉ mục, lập chỉ mục hàng loạt, truy vấn toànvăn bản, thực hiện một cách đơn giản, giao diện văn bản đầy đủ mà không đòi hỏi

kỹ năng SQL hoặc lập trình Cloudera Search được tích hợp đầy đủ trong nền tảng

xử lý dữ liệu, tìm kiếm sử dụng hệ thống lưu trữ linh hoạt, khả năng mở rộng, vàmạnh mẽ bao gồm với CDH Điều này giúp loại bỏ sự cần thiết phải di chuyển cáctập dữ liệu lớn trên cơ sở hạ tầng để thực hiện nhiệm vụ phân tích kinh doanh

 Cloudera Manager-Một ứng dụng tinh vi dùng để triển khai, quản lý,giám sát và chẩn đoán các vấn đề với các triển khai CDH Cloudera Manager cungcấp giao diện đồ họa Admin Console, một giao diện người dùng dựa trên web màlàm cho chính quyền của dữ liệu doanh nghiệp của bạn đơn giản và dễ hiểu Nócũng bao gồm các API quản lý Cloudera, mà bạn có thể sử dụng để có được thôngtin sức khỏe cụm và số liệu, cũng như cấu hình Cloudera Manager

 Cloudera Navigator-Một công cụ quản lý dữ liệu end-to-end cho nềntảng CDH Cloudera Navigator cho phép quản trị, quản lý dữ liệu, và các nhà phântích để khám phá những lượng lớn dữ liệu trong Hadoop Việc kiểm tra dữ liệumạnh mẽ, quản lý dữ liệu, và quản lý vòng đời dữ liệu trong Cloudera Navigatorcho phép các doanh nghiệp tuân thủ nghiêm ngặt và yêu cầu quy định trong việcphân bố dữ liệu vào hệ thống Cloudera

Trang 25

Cloudera có nhiều phiên bản, trong đó phiên bản miễn phí CDH cung cấpđầy đủ tính năng và các mã nguồn mở được tích hợp vào nhằm phục vụ cho mộtcông ty khởi đầu có thể dễ dàng xây dựng nền tảng Big Data Ngoài phiên bản miễnphí, một phiên bản có hỗ trợ support từ các chuyên gia của cloudera , thêm các tínhnăng mạnh mẽ hơn và phải trả phí là Cloudera Enterpise.

Bảng sau so sánh giữa phiên bản CDH phiên bản Express và phiên bảnEnterpise

Cấu hình toàn bộ cluster

Quản trị các sự kiện cluster

Tìm kiếm file log các cluster

Trang 27

Xoay vòng nâng cấp CDH

Service and Configuration Management

Quản trị các dịch vụ: Accumulo, Flume, HBase,HDFS, Hive, Hue, Impala, Isilon, Kafka, Kudu,MapReduce, Oozie, Sentry, Solr, Spark, Sqoop,YARN, and ZooKeeper

Quản lý Trustee and Cloudera Navigator

HBase co-processor support

Cấu hình audit

Quản trị cấu hình client

Workflows (add, start, stop, restart, delete, anddecommission services, hosts, and role instances)

Role groups

Host templates

Cấu hình phiên bản

Trang 28

Khôi phục cấu hình dùng API

Mã hóa giữa Server và host Agents (TLS)

Kiểm soát truy cập nhạy cảm

Thay đổi Password

Mã hóa dữ liệu KMS

Quản trị quyền người dùng

Monitoring and Diagnostics

Quản lý Service, host và các hoạt động

Chủ động kiểm tra trạng thái hệ thống

Biểu đồ trạng thái hệ thống

Lọc các biểu đồ giám sát

Giám sát các MapReduce jobs, YARN

applications, và Impala queries

Giám sát hiệu suất hoạt động của Map-Reduce

Giám sát các tiến trình bị ngắt

Alert Management

Alert by email

Trang 30

Người dùng định nghĩa các trigger

Tạo các script alert theo nhu cầu người dùng

Advanced Management Features

Tự động backup và khôi phục thảm họa

Các báo cáo về truy cập file, tìm kiếm, cấp phát hạn

mức cho ổ đĩa

Báo cáo tình trạng sử dụng HBase, MapReduce,

Impala, và YARN

Hỗ trợ tích hợp

Báo cáo hoạt động

Cloudera Navigator Data Management

Quản lý tham số và metadata

https://www.cloudera.com/documentation/enterprise/5-6-1.4 Kiến trúc các thành phần mã nguồn mở trên nền tảng Cloudera

Trong phần tiếp theo chúng ta sẽ đi sâu vào tìm hiểu kiến trúc các thành phầncủa Platform Cloudera Như đã trình bày ở trên, Cloudera bao gồm nhiều mã nguồn

mở Apache framework độc lập kết hợp lại với nhau, mỗi Apache phục vụ một vaitrò trong hệ thống Big Data

Trang 31

Hình 1.4: Tổng quan các thành phần trong cloudera (Nguồn:

x/topics/cdh_intro.html#xd_583c10bfdbd326ba 5a52cca-1476e7473cd 7f59 )

https://www.cloudera.com/documentation/enterprise/5-6-Sơ đồ trên mô tả các kiến trúc các thành phần của ClouderaDistribution forHadoop (CDH) trong phiên bản mới nhất CDH là một bản mã nguồn mở đầy đủnhất, được kiểm tra trước và rất phổ biến của dự án Apache Hadoop cùng các thànhphần dự án khác liên quan đến Big Data CDH cốt lõi là Hadoop nhằm có khả nănglưu trữ mở rộng và tính toán phân tán, cùng với một giao diện người dùng dựa trênweb với việc tích hợp mở rộng với các doanh nghiệp Một số đặc điểm chính củaCloudera như sau:

 Tính linh hoạt - Lưu trữ bất kỳ loại dữ liệu và thao tác với hàng loạtcác frameworks tính toán khác nhau bao gồm cả xử lý theo lô, tương tác qua SQL,tìm kiếm văn bản miễn phí, Học máy và tính toán thống kê

 Hội nhập - Dễ dàng tích hợp đầy đủ trên nền tảng Hadoop, hỗ trợ rất nhiều phần cứng và phần mềm hiện nay

Trang 32

 An ninh - Xử lý và kiểm soát dữ liệu nhạy cảm.

 Khả năng mở rộng - Hỗ trợ rất nhiều ứng dụng và dễ dàng tích hợp nhiều ứng dụng khác cho phù hợp với yêu cầu của bạn

Có thể tóm tắt ngắn gọn về Hadoop như sau:

 Là một framework cho phép phát triển các ứng dụng phân tán

 Viết bằng Java tuy nhiên hỗ trợ được các ngôn ngữ khác như C++, Python, Perl bằng cơ chế streaming

 Là một ứng dụng Linux-based (chỉ chạy trên môi trường Linux)

 Hadoop Distributed File System (HDFS) là hệ thống tập tin ảo Có sựkhác biệt lớn giữa các hệ thống tập tin trên hệ điều hành và Hadoop, khi tạo thêmtập tin trên HDFS, nó tự động chia thành nhiều khối tập tin nhỏ, các khối nhỏ củatập tin sẽ được nhân rộng và lưu trữ trên nhiều máy chủ khác (thường là 3) để tăngsức chịu lỗi và tính sẵn sàng cao

 Hadoop MapReduce: Khi có yêu cầu tính toán, máy chủ thường phânnhỏ công việc ra và tính toán cục bộ trên các máy tính trong cụm hadoop, khi yêucầu tính toán hoàn tất, kết quả sẽ được tổng kết ở máy chủ và trả ra kết quả

Trang 33

Sau đây chúng ta tìm hiểu rõ hơn về hai thành phần chính này trong Hadoop:

Kiến trúc HDFS:

Giống như các hệ thống file khác, HDFS duy trì một cấu trúc cây phân cấpcác thư mục và file, trong đó các file sẽ đóng vai trò là các node lá Trong HDFS,mỗi file sẽ được chia ra làm một hay nhiều block và mỗi block này sẽ có một block

ID để nhận diện Các block của cùng một file (trừ block cuối cùng) sẽ có cùng kíchthước và kích thước này được gọi là block size của file đó Mỗi block của file sẽđược lưu trữ thành ra nhiều bản sao (replica) khác nhau vì mục đích an toàn dữ liệu

Hình 1.5: Kiến trúc của HDFS

(Nguồn: https://kipalog.com/posts/Su-khac-nhau-ve-HDFS-va-HDFS2)

HDFS có một kiến trúc master/slave, trên một cluster chạy HDFS có hai loạinode là Namenode và Datanode Một cluster có duy nhất một Namenode và có mộthay nhiều Datanode Namenode đóng vai trò là master, chịu trách nhiệm duy trìthông tin về cấu trúc cây phân cấp các file, thư mục của hệ thống file và các

Trang 34

metadata khác của hệ thống file Cụ thể, các Metadata mà Namenode lưu trữ gồm có:

 File System Namespace: là hình ảnh cây thư mục của hệ thống file tại mộtthời điểm nào đó File System namespace thể hiện tất các các file, thư mục có trên

hệ thống file và quan hệ giữa chúng

 Thông tin để ánh xạ từ tên file ra thành danh sách các block: với mỗi file, ta

có một danh sách có thứ tự các block của file đó, mỗi Block đại diện bởi Block ID

 Nơi lưu trữ các block: các block được đại diện một Block ID, với mỗi block

ta có một danh sách các DataNode lưu trữ các bản sao của block đó

Luồng đọc file trên HDFS:

Hình 1.6: Luồng đọc dữ liệu trong HDFS

(Nguồn : https://viblo.asia/dovv/posts/1ZnbRlNlG2Xo)

1) Đầu tiên, client sẽ mở file cần đọc bằng cách gửi yêu cầu đọc file đếnNameNode (1).Sau đó NameNode sẽ thực hiện một số kiểm tra xem file được yêucầu đọc có tồn tại không, hoặc file cần đọc có đang ở trạng thái “khoẻ mạnh” hay

Trang 35

không Nếu mọi thứ đều ổn, NameNode sẽ gửi danh sách các block (đại diện bởi Block ID) của file cùng với địa chỉ các DataNode chứa các bản sao của block này.

2) Tiếp theo, client sẽ mở các kết nối tới Datanode, thực hiện một RPC để yêucầu nhận block cần đọc và đóng kết nối với DataNode (3) Lưu ý là với mỗi block ta

có thể có nhiều DataNode lưu trữ các bản sao của block đó Client sẽ chỉ đọc bảnsao của block từ DataNode “gần” nhất

3) Client sẽ thực hiện việc đọc các block lặp đi lăp lại cho đến khi block cuốicùng của file được đọc xong Quá trình client đọc dữ liệu từ HDFS sẽ transparentvới người dùng hoặc chương trình ứng dụng client, người dùng sẽ dùng một tập APIcủa Hadoop để tương tác với HDFS, các API này che giấu đi quá trình liên lạc vớiNameNode và kết nối các DataNode để nhận dữ liệu

Luồng ghi file trên HDFS:

Hình 1.7: Luồng ghi dữ liệu trong HDFS

(Nguồn : https://viblo.asia/dovv/posts/1ZnbRlNlG2Xo)

1) Đầu tiên, client sẽ gửi yêu cầu đến NameNode tạo một file entry lên FileSystem Namespace (1) File mới được tạo sẽ rỗng, tức chưa có một block nào Sau

Trang 36

đó, NameNode sẽ quyết định danh sách các DataNode sẽ chứa các bản sao của file cần gì và gửi lại cho client (2)

2) Tiếp theo, client sẽ chia file cần gì ra thành các block, và với mỗi block client

sẽ đóng gói thành một packet Lưu ý là mỗi block sẽ được lưu ra thành nhiều bảnsao trên các DataNode khác nhau (tuỳ vào chỉ số độ nhân bản của file)

3) Tiếp nữa, client gửi gói tin cho DataNode thứ nhất, DataNode thứ nhất saukhi nhận được gói tin sẽ tiến hành lưu lại bản sao thứ nhất của block Tiếp theoDataNode thứ nhất sẽ gửi gói tin này cho DataNode thứ hai để lưu ra bản sao thứhai của block Tương tự DataNode thứ hai sẽ gửi gói tin cho DataNode thứ ba Cứnhư vậy, các DataNode cũng lưu các bản sao của một block sẽ hình thành một ốngdẫn dữ liệu data pile, gửi lại cho DataNode thứ hai một bản tin xác nhận rằng đã lưuthành công (4) Và Datanode thứ 2 lại gửi bản tin xác nhận tình trạng thành côngcủa hai DataNode về DataNode thứ nhất

4) Client sẽ nhận được các báo cáo xác nhận từ DataNode thứ nhất cho tình trạng thành công của tất cả DataNode trên data pile

5) Nếu có bất kỳ một DataNode nào bị lỗi trong quá trình ghi dữ liệu, client sẽtiến hành xác nhận lại các DataNode đã lưu thành công bản sao của block và thựchiện một hành vi ghi lại block lên trên DataNode bị lỗi

6) Sau khi tất cả các block của file đều đã đươc ghi lên các DataNode, client sẽthực hiên một thông điệp báo cho NameNode nhằm cập nhật lại danh sách cácblock của file vừa tạo Thông tin Mapping từ Block Id sang danh sách cácDataNode lưu trữ sẽ được NameNode tự động cập nhật bằng các định kỳ cácDataNode sẽ gửi báo cáo cho NameNode danh sách các block mà nó quản lý

Trang 37

Kiến trúc MapReduce

Hình 1.8: Kiến trúc MapReduce

(Nguồn : https://viblo.asia/dovv/posts/1ZnbRlNlG2Xo)

 Client Program: Chương trình Hadoop-MapReduce mà client đang sử dụng

và tiến hành chạy một MapReduce Job

 JobTracker: Tiếp nhận job và đảm nhận vai trò điều phối job này, nó có vaitrò như bộ não của Hadoop MapReduce Sau đó, nó chia nhỏ job thành các task,lênlịch phân công các task (map task, reduce task)đến các tasktracker để thực hiện.JobTracker cũng có cấu trúc dữ liệu riêng của mình để sử dụng cho mục đích lưutrữ, ví dụ như nó sẽ lưu lại tiến độ tổng thể của từng job, lưu lại trang thái của cácTaskTracker để thuận tiện cho thao tác lên lịch phân công task, lưu lại địa chỉ lưutrữ của các output của các TaskTracker thực hiện maptask trả về

 TaskTracker:Tiếp nhận các maptask hay reducetask từ JobTracker để sau đóthực hiện, để giữ liên lạc với JobTracker, Hadoop Mapreduce cung cấp cơ chế gửi

"heartbeat" từ TaskTracker đến JobTracker cho các nhu cầu như thông báo tiến độcủa task do TaskTracker đó thực hiện, thông báo trạng thái hiện hành của nó (idle,in-progress, completed)

Cơ chế hoạt động của MapReduce

Trang 38

Hình 1.9: Cơ chế hoạt động của MapReduce

(Nguồn : https://viblo.asia/dovv/posts/1ZnbRlNlG2Xo)

1) Chương trình client sẽ yêu cầu thực hiện job và kèm theo là dữ liệu input tớiJobTracker JobTracker sau khi tiếp nhận job này, nó sẽ thông báo ngược về chươngtrình client tình trạng tiếp nhận job Khi chương trình client nhận được thông báonếu tình trạng tiếp nhận hợp lệ thì chương trình client sẽ tiến hành phân rã input nàythành các split (khi dùng HDFS thì kích thước một split thường bằng với kích thướccủa một đơn vị Block trên HDFS) và các split này sẽ được ghi xuống HDFS Sau đó

Ngày đăng: 28/10/2020, 22:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w