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

Nghiên cứu công nghệ dữ liệu lớn và ứng dụng giám sát, cảnh báo cước viễn thông tại tổng công ty viễn thông viettel

82 137 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 82
Dung lượng 2,42 MB

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

Nội dung

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT 1 AI artificial intelligence trí thông minh nhân tạo 2 BI Business Intelligence Hệ thống thống minh hóa doanh 6 ERP Enterprise Resource Planning Lập

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI

LUẬN VĂN THẠC SỸ

CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN

NGHIÊN CỨU CÔNG NGHỆ DỮ LIỆU LỚN VÀ ỨNG DỤNG GIÁM SÁT, CẢNH BÁO CƯỚC VIỄN THÔNG TẠI

TỔNG CÔNG TY VIỄN THÔNG VIETTEL

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI

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 cứ công trình nào

TÁC GIẢ LUẬN VĂN

Trần Thanh Phương

Trang 4

LỜI CẢM ƠN

Qua luận văn này tôi xin chân thành cảm ơn TS.Trương Tiến Tùng - Viện Đại học Mở Hà Nội đã tận tình giúp đỡ, động viên, định hướng, hướng dẫn tôi nghiên cứu và hoàn thành luận văn này Tôi xin cảm ơn các giảng viên trong Viện Đại học Mở Hà Nội đã giảng dạy và giúp đỡ Tôi trong hai năm học qua, cảm ơn sự giúp đỡ nhiệt tình của các bạn đồng nghiệp

Trong quá trình nghiên cứu của mình, mặc dù được sự hướng dẫn rất nhiệt tình, đầy trách nhiệm của TS Trương Tiến Tùng và các thầy cô giáo trong Viện Đại học Mở Hà Nội cùng với sự nỗ lực của cá nhân nhưng cũng không thể tránh được những thiếu sót Tác giả chân thành mong nhận được những ý kiến đóng góp từ quý Thầy, Cô và các bạn bè đồng nghiệp

Trân trọng cám ơn

Trần Thanh Phương

Trang 5

MỤC LỤC

Trang

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 vi

DANH MỤC CÁC BẢNG BIỂU viii

DANH MỤC CÁC HÌNH VẼ ix

MỞ ĐẦU 1

CHƯƠNG 1 TỔNG QUAN CÔNG NGHỆ DỮ LIỆU LỚN 3

1.1 Giới thiệu về Dữ liệu lớn 3

1.1.1 Khái niệm 3

1.1.2 Công nghệ dùng trong dữ liệu lớn 4

1.1.3 Sự khác biệt giữa Dữ liệu lớn và dữ liệu truyền thống 5

1.2 Các đặc trưng cơ bản của Dữ liệu lớn 6

1.2.1 Khối lượng dữ liệu 7

1.2.2 Tốc độ 7

1.2.3 Đa dạng 7

1.2.4 Độ tin cậy/chính xác 7

1.2.5 Giá trị 7

1.3 Ứng dụng Dữ liệu lớn trong cuộc sống 8

1.3.1 Các lĩnh vực đang ứng dụng Dữ liệu lớn 8

1.3.2 Thực tế sử dụng dữ liệu lớn tại Việt Nam 10

1.4 Một số giải pháp xử lý Dữ liệu lớn 12

1.4.1 Google Cloud Platform 12

1.4.2 Amazon EMR 13

1.4.3 Apache Hadoop 16

1.4.4 So sánh các giải pháp 17

1.5 Kết luận chương 1 18

CHƯƠNG 2 GIẢI PHÁP XỬ LÝ DỮ LIỆU LỚN APACHE HADOOP 19

Trang 6

2.1 Các thách thức về dữ liệu lớn 19

2.2 Giới thiệu về Hadoop 21

2.2.1 Khái niệm về Hadoop 21

2.2.2 Các thành phần lõi của Hadoop 22

2.2.3 Hadoop giải quyết thách thức dữ liệu lớn 24

2.3 Kiến trúc Hadoop File System (HDFS) 26

2.3.1 Name node 26

2.3.2 Data node 27

2.3.3 Secondary Name node 27

2.3.4 Jobtracker 28

2.3.5 Tasktracker 28

2.4 Mô hình Hadoop MapReduce 29

2.4.1 Khái niệm 29

2.4.2 Đầu vào, đầu ra MapReduce 31

2.4.3 Phương thức hoạt động MapReduce 32

2.4.4 Khả năng chống lỗi 36

2.5 Hệ sinh thái các sản phẩm đi kèm Hadoop 37

2.6 Giới thiệu về Oracle 39

2.7 Kết luận chương 2 41

CHƯƠNG 3 ỨNG DỤNG GIÁM SÁT VÀ CẢNH BÁO CƯỚC KẾT NỐI VIỄN THÔNG TẠI VTT 43

3.1 Đặt vấn đề bài toán 43

3.2 Mô tả dữ liệu đầu vào, đầu ra 46

3.3 Lựa chọn giải pháp phân tích số liệu cước Viễn thông 47

3.4 Hệ thống kết hợp giữa Apache Hadoop và Oracle 48

3.5 Thiết kế giao diện và các Module chức năng 49

3.6 Thử nghiệm chương trình và đánh giá kết quả 53

3.7 Kết luận chương 3 58

KẾT LUẬN 59

1 Kết quả đề tài đạt được 59

Trang 7

2 Hướng phát triển của đề tài 59

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

Tài liệu tiếng Việt 61

Tài liệu tiếng Anh 61

Website tham khảo 61

PHỤ LỤC 62

1 Tạo account Hadoop trên các node Master và Slave để sử dụng cho cài đặt Hadoop: 62

2 Chuyển đối từ dữ liệu thô trên Hadoop sang dữ liệu tinh trên Oracle 64

3 Chạy thử phân tích dữ liệu sau khi cài đặt Hadoop: 67

Trang 8

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

1 AI artificial intelligence trí thông minh nhân tạo

2 BI Business Intelligence Hệ thống thống minh hóa doanh

6 ERP Enterprise Resource Planning Lập kế hoạch nguồn lực doanh

nghiệp

7 GPS global positioning system hệ thống định vị toàn cầu

8 HD High Definition Độ phân giải cao hay độ nét cao

9 HDFS Hadoop Distributed File

System

Hệ thống lưu trữ chính được dùng bởi Hadoop

10 IoT Internet Of Things Internet kết nối vạn vật

11 KPI Key Performance Indicators Hệ thống đo lường và đánh giá

hiệu quả công việc

12 NAS Network Attached Storage thiết bị lưu trữ gắn vào mạng

13 NAT Network Attached Storage Thiết bị lưu trữ gắn vào mạng, để

lưu trữ, chia sẻ file …

14 OSS Operating support system Hệ thống hỗ trợ vận hành)

15 OTT Over The Top Ứng dụng Media miễn phí trên nền

tảng Internet

Relational Database Management System sở dữ liệu quan hệ)

Hệ thống quản lý cơ sở dữ liệu quan hệ

Trang 9

STT Từ viết tắt Tiếng Anh Tiếng Việt

17 SAN Storage Area Network

Là mạng được thiết kế để kết nối các máy chủ tới hệ thống lưu trữ

21 vRTAP Viettel Realtime Analytic

Processing Xử lý phân tích thời gian thực

22 VTT Viettel Telecom Tổng công ty Viễn thông Quân

Đội

Trang 10

DANH MỤC CÁC BẢNG BIỂU

Trang Bảng 3.1 Bảng đánh giá hệ thống 68

Trang 11

DANH MỤC CÁC HÌNH VẼ

Trang

Hình 1.1 Thống kê các nguồn dữ liệu hiện nay 03

Hình 1.2 Một số công ty có tham gia vào dữ liệu lớn 04

Hình 1.3 Mô hình 5Vs của dữ liệu lớn 06

Hình 1.4 Mô hình kiến trúc mẫu hệ thống dữ liệu lớn của Google 12

Hình 1.5 Mô hình kiến trúc tích hợp Amazon webservice điển hình 13

Hình 1.6 Apache Hadoop 2.0 16

Hình 2.1 Một số thành phần của Hadoop 22

Hình 2.2 Kiến trúc HDFS 26

Hình 2.3 Job Tracker và Task Tracker 29

Hình 2.4 Ví dụ minh họa về MapReduce 30

Hình 2.5 Đầu vào, đầu ra MapReduce 31

Hình 2.6 Sơ đồ luồng hoạt động MapReduce 32

Hình 2.7 Sơ đồ luồng hoạt động của Map 34

Hình 2.8 Sơ đồ luồng hoạt động của Reduce 35

Hình 2.9 Sơ đồ luồng thông báo TaskTracker hoàn thành MapReduce 36

Hình 2.10 Hệ sinh thái các sản phẩm đi kèm Hadoop 37

Hình 2.11 Hệ quản trị CSDL Oracle 39

Hình 3.1 Mô hình kiến trúc tổng thể của hệ thống vRTAS 46

Hình 3.2 Mô hình import dữ liệu vào Hadoop 49

Hình 3.3 Khai báo case tổng hợp dữ liệu 50

Hình 3.4 Khai báo case xuất dữ liệu ra file 50

Hình 3.5 Khai báo lập lịch tiến trình 51

Hình 3.6 Khai báo tạo cảnh báo 51

Hình 3.7 Nội dung cảnh báo 52

Hình 3.8 Nội dung File đính kèm 52

Hình 3.9 Biểu đồ dạng đường 53

Hình 3.10 Danh mục báo báo 54

Trang 12

Hình 3.11 Xuất chi tiết cảnh báo ra file 54 Hình 3.12 Danh mục các case cảnh báo 55 Hình 3.13 Nội dung Mail cảnh báo trên Outlook 55

Trang 13

MỞ ĐẦU

Trước đây, ta mới chỉ biết đến dữ liệu có cấu trúc (structure data), ngày nay, với sự kết hợp của dữ liệu và internet, đã xuất hiện một dạng khác của dữ liệu - Big data (dịch là “dữ liệu lớn”) Dữ liệu này có thể từ các nguồn như: hồ sơ hành chính, giao dịch điện tử, dòng trạng thái (status), chia sẻ hình ảnh, bình luận, nhắn tin trên toàn cầu, nói cách khác chúng là dữ liệu được sản sinh qua quá trình chia sẻ thông tin trực tuyến liên tục của người sử dụng [3]

Theo tài liệu của Intel vào tháng 9/2015, hiện nay thế giới đang tạo ra 1 petabyte 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 dữ liệu lớn của riêng mì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ất cho khách hàng cũng như thông tin về hàng hóa của mình Nhà bán lẻ online Amazon.com thì phải xử lí hàng triệu hoạt động mỗi ngày cũng như những yêu cầu

từ khoảng nửa triệu đối tác bán hàng Amazon sử dụng một hệ thống Linux và hồi năm 2005, họ từng sở hữu ba cơ sở dữ liệu Linux lớn nhất thế giới với dung lượng

là 7,8TB, 18,5TB và 24,7TB Tương tự, Facebook cũng phải quản lí 50 tỉ bức ảnh

từ người dùng tải lên, YouTube hay Google thì phải lưu lại hết các lượt truy vấn và video của người dùng cùng nhiều loại thông tin khác có liên quan [10]

Ngày nay, dữ liệu chính là tiền bạc của doanh nghiệp Chỉ cần doanh nghiệp biết khai thác hiệu quả, Dữ liệu lớn là công cụ không chỉ giúp tăng lợi nhuận cho chính họ mà còn giúp tiết kiệm thời gian cho khách hàng trong mua sắm.Với hơn 30 triệu người dùng Internet và hơn 15 triệu người dùng Internet trên điện thoại di động, Việt Nam đang là đích ngắm của nhiều nhà cung cấp giải pháp Dữ liệu lớn như Microsoft, IBM, Oracle… Dữ liệu lớn và các công nghệ phân tích có khả năng làm thay đổi hoàn toàn bộ mặt của các ngành kinh tế và nghề nghiệp Vì vậy, những mô hình kinh doanh mới dựa trên Dữ liệu lớn đang được hình thành để giúp các tổ chức, doanh nghiệp tận dụng dữ liệu “Đây cũng là xu thế tất yếu trong tương lai không xa với doanh nghiệp Việt Nam"

Trang 14

Tại Tổng công ty viễn thông Viettel (VTT), cùng với việc mở rộng mạng lưới kinh doanh dịch vụ viễn thông toàn cầu, khối lượng dữ liệu tăng trưởng rất mạnh Đặc biệt là số liệu kinh doanh: hóa đơn điện tử, giao dịch đấu nối, dữ liệu cước, … Việc đầu tư vào nghiên cứu ứng dụng công nghệ Dữ liệu lớn để đưa ra các quyết định kinh doanh kịp thời và chính xác là rất cần thiết

Từ nhu cầu thực tế đó, tác giả với sự giúp đỡ của TS Trương Tiến Tùng lựa chọn đề tài “Nghiên cứu công nghệ dữ liệu lớn và ứng dụng giám sát, cảnh báo cước Viễn thông tại Tổng công ty Viễn thông Viettel” cho luận văn tốt nghiệp với mục đích nghiên cứu công nghệ dữ liệu lớn và giải quyết bài toán phân tích số liệu cước viễn thông phục vụ giám sát, cảnh báo cước vượt KPI tại VTT

Luận văn của Tác giả gồm có 3 chương với nội dung cơ bản sau:

Chương 1: Tổng quan Công nghệ Dữ liệu lớn

Chương 2: Giải pháp xử lý Dữ liệu lớn Apache Hadoop

Chương 3: Ứng dụng giám sát và cảnh báo cước Viễn thông tại VTT

Trang 15

CHƯƠNG 1 TỔNG QUAN CÔNG NGHỆ DỮ LIỆU LỚN

Giới thiệu

Trong chương này tác giả giới thiệu tổng quan về dữ liệu lớn: Khái niệm, đặc trưng của dữ liệu lớn, một số ứng dụng dữ liệu lớn tại Việt Nam và trên thế giới Đồng thời, tác giả cũng trình bày một số giải pháp xử lý dữ liệu lớn hiện tại

1.1 Giới thiệu về Dữ liệu lớn

1.1.1 Khái niệm

Dữ liệu lớn là một thuật ngữ dùng để mô tả các bộ dữ liệu có kích thước rất lớn, khả năng phát triển nhanh, rất khó thu thập, lưu trữ, quản lý và phân tích với các công cụ thống kê hay ứng dụng cơ sở dữ liệu truyền thống Dữ liệu lớn rất quan trọng với các tổ chức, doanh nghiệp Dữ liệu ngày một lớn và nhiều sẽ giúp các phân tích càng chính xác hơn Việc phân tích chính xác này sẽ giúp doanh nghiệp đưa ra các quyết định giúp tăng hiệu quả sản xuất, giảm rủi ro và chi phí [1]

Một số nhóm kiểu dữ liệu lớn:

Hình 1.1 Thống kê các nguồn dữ liệu hiện nay

Thứ nhất là dữ liệu của các hệ thống doanh nghiệp truyền thống bao gồm các

dữ liệu từ hệ thống CRM, các giao dịch của hệ thống ERP, các dữ liệu kế toán…

Thứ hai là dữ liệu máy tạo ra/ Dữ liệu từ các thiết bị cảm biến: Bao gồm CDR, các dữ liệu ghi log thiết bị, …

Trang 16

Thứ ba là dữ liệu mạng xã hội (Social data): bao gồm các dữ liệu được sinh

ra từ quá trình sử dụng mạng xã hội của người dùng như: hình ảnh, video, thông tin trên Facebook, Twitter, …

1.1.2 Công nghệ dùng trong dữ liệu lớn

Dữ liệu lớn là nhu cầu đang tăng trưởng lớn đến nỗi Software AG, Oracle, IBM, Microsoft, SAP, EMC, HP và Dell đã chi hơn 15 tỉ USD cho các công ty chuyên về quản lí và phân tích dữ liệu Năm 2010, ngành công nghiệp Dữ liệu lớn

có giá trị hơn 100 tỉ USD và đang tăng nhanh với tốc độ 10% mỗi năm, nhanh gấp đôi so với tổng ngành phần mềm nói chung [5]

Hình 1.2 Một số công ty có tham gia vào dữ liệu lớn

Dữ liệu lớn cần đến các kĩ thuật khai thác thông tin rất đặc biệt do tính chất khổng lồ và phức tạp của nó Năm 2011, tập đoàn phân tích McKinsey đề xuất những công nghệ có thể dùng với Dữ liệu lớn bao gồm crowsourcing (tận dụng nguồn lực từ nhiều thiết bị điện toán trên toàn cầu để cùng nhau xử lí dữ liệu), các thuật toán về gen và di truyền, những biện pháp machine learning (các hệ thống có khả năng học hỏi từ dữ liệu còn được gọi là máy học, một nhánh của trí tuệ nhân

Trang 17

tạo), xử lí ngôn ngữ tự nhiên (giống như Siri hay Google Voice Search, nhưng cao cấp hơn), xử lí tín hiệu, mô phỏng, phân tích chuỗi thời gian, mô hình hóa, kết hợp các server mạnh lại với nhau

Ngoài ra, các cơ sở dữ liệu hỗ trợ xử lí dữ liệu song song, ứng dụng hoạt động dựa trên hành động tìm kiếm, file hệ thống dạng rời rạc, các hệ thống điện toán đám mây (bao gồm ứng dụng, nguồn lực tính toán cũng như không gian lưu trữ) và bản thân Internet cũng là những công cụ đắc lực phục vụ cho công tác nghiên cứu và trích xuất thông tin từ “dữ liệu lớn” Hiện nay cũng có vài cơ sở dữ liệu theo dạng quan hệ (bảng) có khả năng chứa hàng petabyte dữ liệu, chúng cũng

có thể tải, quản lí, sao lưu và tối ưu hóa cách sử dụng Dữ liệu lớn nữa

Những người làm việc với Dữ liệu lớn thường khó khăn với các hệ thống lưu trữ dữ liệu tốc độ chậm, do vậy họ cần những loại ổ lưu trữ nào có thể gắn trực tiếp vào máy tính (cũng như ổ cứng gắn trong máy tính vậy) Ổ đó có thể là SSD cho đến các đĩa SATA nằm trong một lưới lưu trữ cỡ lớn Những người này nhìn vào ổ NAS hay hệ thống lưu trữ mạng SAN với góc nhìn rằng những thứ này quá phức tạp, đắt và chậm Những tính chất nói trên không phù hợp cho hệ thống dùng để phân tích Dữ liệu lớn vốn nhắm đến hiệu năng cao, tận dụng hạ tầng thông dụng và chi phí thấp Ngoài ra, việc phân tích Dữ liệu lớn cũng cần phải được áp dụng theo thời gian thực hoặc cận thời gian thực, thế nên độ trễ cần phải được loại bỏ bất kì khi nào và bất kì nơi nào có thể [4]

1.1.3 Sự khác biệt giữa Dữ liệu lớn và dữ liệu truyền thống

Dữ liệu lớn khác với dữ liệu truyền thống ở 4 điểm cơ bản: Dữ liệu đa dạng hơn; lưu trữ dữ liệu lớn hơn; truy vấn nhanh hơn; độ chính xác cao hơn [1]

Dữ liệu đa dạng hơn: Khi khai thác dữ liệu truyền thống, ta thường phải trả lời các câu hỏi: Dữ liệu lấy ra kiểu gì, định dạng dữ liệu như thế nào nhưng đối với

dữ liệu lớn ta không phải trả lời các câu hỏi trên Hay nói cách khác khi khai thác, phân tích dữ liệu lớn ta không cần quan tâm đến kiểu dữ liệu và định dạng của chúng, điều quan tâm là giá trị mà dữ liệu mang lại có đáp ứng được cho công việc hiện tại và tương lai hay không

Trang 18

Lưu trữ dữ liệu lớn hơn: Lưu trữ dữ liệu truyền thống vô cùng phức tạp và luôn đặt ra câu hỏi lưu như thế nào, dung lượng kho lưu trữ bao nhiêu là đủ, gắn kèm với câu hỏi đó là chi phí đầu tư tương ứng Công nghệ lưu trữ dữ liệu lớn hiện nay đã phần nào có thể giải quyết được vấn đề trên nhờ những công nghệ lưu trữ đám mây, phân phối lưu trữ dữ liệu phân tán và có thể kết hợp các dữ liệu phân tán lại với nhau một cách chính xác và xử lý nhanh trong thời gian thực

Truy vấn dữ liệu nhanh hơn: Dữ liệu lớn được cập nhật liên tục, trong khi đó kho dữ liệu truyền thống không được cập nhật liên tục và trong tình trạng không theo dõi thường xuyên gây ra tình trạng lỗi cấu trúc truy vấn dẫn đến không tìm kiếm được thông tin đáp ứng theo yêu cầu

Độ chính xác cao hơn: Dữ liệu lớn khi đưa vào sử dụng thường được kiểm định lại dữ liệu với những điều kiện chặt chẽ, số lượng thông tin được kiểm tra thông thường rất lớn, và đảm bảo về nguồn lấy dữ liệu không có sự tác động của con người vào thay đổi số liệu thu thập

1.2 Các đặc trưng cơ bản của Dữ liệu lớn

Theo khái niệm của Gartner (công ty nghiên cứu Công nghệ Thông tin hàng đầu thế giới) về mô hình “5Vs” - năm tính chất quan trọng nói lên Dữ liệu lớn [3], [5]:

Hình 1.3 Mô hình 5Vs của dữ liệu lớn

Trang 19

1.2.1 Khối lượng dữ liệu

Dữ liệu lớn là tập hợp dữ liệu có dung lượng lưu trữ vượt mức đảm đương của những ứng dụng và công cụ truyền thống Kích cỡ của Dữ liệu lớn đang từng ngày tăng lên, và tính đến năm 2012 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 mà thôi

1.2.2 Tốc độ

Dung lượng gia tăng của dữ liệu rất nhanh và tốc độ xử lý đang tiến tới time Các ứng dụng phổ biến trên lĩnh vực Internet, Tài chính, Ngân hàng, Hàng không, Quân sự, Y tế – Sức khỏe ngày hôm nay phần lớn dữ liệu lớn đc xử lý real-time Công nghệ xử lý dữ liệu lớn ngày một tiên tiến cho phép xử lý tức thì trước khi chúng được lưu trữ vào cơ sở dữ liệu

1.2.4 Độ tin cậy/chính xác

Một trong những tính chất phức tạp nhất của dữ liệu lớn là độ chính xác của

dữ liệu Với xu hướng Social Media và Social Network ngày nay và sự gia tăng mạnh mẽ tính tương tác và chia sẻ của người dùng thiết bị di động làm cho bức tranh xác định về độ tin cậy & chính xác của dữ liệu ngày một khó khăn hơn Bài toán phân tích và loại bỏ dữ liệu thiếu chính xác và nhiễu đang là tính chất quan trọng của dữ liệu lớn

1.2.5 Giá trị

Giá trị thông tin là tính chất quan trọng nhất của xu hướng công nghệ dữ liệu lớn Ở đây doanh nghiệp phải hoạch định được những giá trị thông tin hữu ích của

Trang 20

dữ liệu lớn cho vấn đề, bài toán hoặc mô hình hoạt động kinh doanh của mình Có thể nói việc đầu tiên là phải xác định được tính chất “Value” thì mới nên bắt tay vào

dữ liệu lớn

Những năm gần đây, Việt Nam đang ngày càng gia tăng tốc độ phát triển và hội nhập với các xu hướng công nghệ thế giới Với hơn 30 triệu người dùng Internet

và hơn 15 triệu ngươi dùng Mobile Internet làm cho Việt Nam đang đứng trước một

cơ hội vô cùng lớn về khai thác dữ liệu lớn Sẽ có những doanh nghiệp Việt Nam khai thác thành công dữ liệu lớn với doanh số hàng trăm triệu USD trong vòng 5 năm tới Đặc biệt, giai đoạn 2014-2016, xu hướng Mobile và lượng người dùng Internet 3G sẽ tiếp tục tăng mạnh Các dịch vụ kết nối OTT (Over-the-top) và truyền thông xã hội đóng góp hơn 80% phương thức giao tiếp online, video online

và nội dung số mobile Điều này góp phần đẩy mạnh xu hướng truyền thông số đa phương tiện, đa màn hình (PC, smartphone , tablet, smart TV) sẽ bùng nổ với độ phủ hơn 50% dân số Việt Nam Việt Nam là một kho “vàng” dữ liệu vô cùng lớn cho việc ứng dụng Dữ liệu lớn

1.3 Ứng dụng Dữ liệu lớn trong cuộc sống

1.3.1 Các lĩnh vực đang ứng dụng Dữ liệu lớn

Mọi khía cạnh trong đời sống đều sẽ bị ảnh hưởng bởi dữ liệu lớn Dưới đây các ứng dụng dữ liệu lớn được sử dụng phổ biến nhất cũng như tạo ra được những lợi ích cao nhất trong một số lĩnh vực [1]:

Sự hiểu biết và khách hàng mục tiêu (Internet, Mobile và Digital Marketing): Đây là một trong những lĩnh vực lớn nhất và được công bố công khai nhất cách dữ liệu lớn được sử dụng ngày nay Ở đây, dữ liệu lớn được sử dụng để hiểu rõ hơn về khách hàng và hành vi cũng như sở thích của họ Các công ty đều mong muốn mở rộng tập hợp dữ liệu truyền thống với các dữ liệu truyền thông xã hội, trình duyệt web cũng như phân tích văn bản và dữ liệu cảm biến để có được một bức tranh hoàn chỉnh hơn về khách hàng của họ Trong nhiều trường hợp, mục tiêu lớn hơn là

để tạo ra mô hình dự báo

Sự hiểu biết và tối ưu hóa quy trình kinh doanh: Dữ liệu lớn cũng ngày càng được sử dụng để tối ưu hóa quy trình kinh doanh Các nhà bán lẻ có thể tối ưu hóa

Trang 21

giá cả và lượng hàng hóa của họ dựa trên các dự đoán được tạo ra từ dữ liệu phương tiện truyền thông xã hội, xu hướng tìm kiếm web và dự báo thời tiết Một quy trình kinh doanh với rất nhiều phân tích dữ liệu lớn là chuỗi cung ứng hoặc cung cấp lộ trình tối ưu hóa Ở đây, cảm biến nhận dạng tần số vô tuyến định vị và địa lý được

sử dụng để theo dõi hàng hóa, phương tiện giao hàng và các tuyến đường tối ưu bằng cách tích hợp dữ liệu giao thông trực tiếp

Định lượng cá nhân và tối ưu hóa hiệu suất: Dữ liệu lớn không chỉ dành cho các công ty và chính phủ mà còn cho từng cá nhân Ngày nay ta có thể được hưởng lợi từ dữ liệu được tạo ra từ các thiết bị đeo như đồng hồ thông minh hoặc vòng đeo tay thông minh

Cải thiện chăm sóc sức khỏe và y tế công: Khả năng tính toán, phân tích dữ liệu lớn cho phép giải mã toàn bộ chuỗi DNA trong vài phút và tìm ra những phương pháp chữa trị mới, nhằm hiểu rõ hơn cũng như dự đoán mô hình bệnh Các thử nghiệm lâm sàng trong tương lai sẽ không bị giới hạn bởi kích thước mẫu nhỏ

mà sẽ có khả năng bao quát tất cả mọi người cho phép theo dõi, dự đoán sự phát triển của dịch bệnh và sự bùng phát dịch bệnh

Cải thiện hiệu suất thể thao: Hầu hết các môn thể thao hiện đại đều áp dụng phân tích dữ liệu lớn Ta sử dụng phân tích video để theo dõi hiệu suất của mỗi cầu thủ trong bóng đá hoặc bóng chày, và công nghệ cảm biến trong các thiết bị thể thao như bóng rổ hay các câu lạc bộ golf cho phép có được thông tin phản hồi (thông qua điện thoại thông minh và các máy chủ điện toán đám mây) về hiệu suất thi đấu của mình và làm thế nào để cải thiện nó

Nâng cao khoa học và nghiên cứu: Khoa học và nghiên cứu hiện đang biến đổi rất nhanh bởi các khả năng mới mà dữ liệu lớn mang lại Lấy ví dụ, CERN, phòng thí nghiệm vật lý hạt nhân Thụy Sĩ với chiếc máy gia tốc hạt lớn nhất và mạnh nhất thế giới, Large Hadron Collider Với những thí nghiệm để mở khóa những bí mật của vũ trụ, cách hình thành và vận hành ra sao, đã tạo ra một lượng lớn dữ liệu

Tối ưu hóa hiệu suất máy móc và thiết bị: Phân tích dữ liệu lớn giúp máy móc và thiết bị trở nên thông minh và độc lập hơn Ví dụ, các công cụ dữ liệu lớn

Trang 22

được sử dụng để vận hành xe hơi tự lái của Google Toyota Prius được trang bị máy ảnh, GPS cũng như các máy tính mạnh mẽ và bộ cảm biến để lái xe an toàn trên đường mà không có sự can thiệp của con người

Cải thiện an ninh và thực thi pháp luật: Dữ liệu lớn được áp dụng rất nhiều trong việc cải thiện an ninh và cho phép thực thi pháp luật Cơ quan An ninh Quốc gia Mỹ (NSA) sử dụng phân tích dữ liệu lớn để chống âm mưu khủng bố (và có thể gián điệp trên toàn cầu) Các đơn vị khác sử dụng kỹ thuật dữ liệu lớn để phát hiện

và ngăn chặn các cuộc tấn công không gian mạng Lực lượng cảnh sát sử dụng các công cụ dữ liệu lớn để bắt tội phạm và thậm chí dự đoán hoạt động tội phạm, và những công ty thẻ tín dụng sử dụng dữ liệu lớn dùng nó để phát hiện các giao dịch gian lận

Cải thiện và tối ưu hóa các thành phố, quốc gia: Cho phép các thành phố tối

ưu hóa luồng giao thông dựa trên thông tin giao thông trong thời gian thực cũng như dữ liệu trên các phương tiện truyền thông xã hội và dữ liệu thời tiết Một số thành phố đang thực hiện thí điểm phân tích dữ liệu lớn với mục đích biến mình thành thành phố thông minh, nơi mà cơ sở hạ tầng giao thông và các quy trình tiện ích đều được kết nối với nhau Nơi một chiếc xe buýt sẽ chờ một đoàn tàu đến trễ

và nơi tín hiệu giao thông dự đoán khối lượng giao thông và hoạt động để giảm thiểu ùn tắc

Kinh doanh tài chính: Thể loại cuối cùng về ứng dụng dữ liệu lớn đến từ các giao dịch tài chính Tần số giao dịch cao (HFT) là một lĩnh vực nơi dữ liệu lớn được

sử dụng rất nhiều ngày nay Ở đây, thuật toán dữ liệu lớn được sử dụng để đưa ra các quyết định giao dịch Ngày nay, phần lớn các giao dịch cổ phiếu diễn ra thông qua các thuật toán dữ liệu dựa ngày càng nhiều vào tín hiệu tài khoản từ các mạng truyền thông xã hội và các trang web tin tức để đưa ra quyết định mua và bán trong từng giây

1.3.2 Thực tế sử dụng dữ liệu lớn tại Việt Nam

Hiện tại, cách mạng công nghiệp lần thứ 4 là một thuật ngữ được mô tả về một nền công nghiệp thông minh với sự phát triển vượt bậc của nhiều công nghệ, có thể thay đổi mô thức sản xuất trên quy mô toàn cầu Cục Thương mại điện tử và

Trang 23

Công nghệ thông tin (Bộ Công Thương) cho biết, Cách mạng công nghiệp lần thứ 4 đang và sẽ là xu thế lớn có tác động đến phát triển kinh tế - xã hội của tất cả các quốc gia Trong đó, một trong những công nghệ quan trọng phải được kể đến là dữ liệu lớn Dữ liệu lớn sẽ là yếu tố cốt lõi để sử dụng và phát triển Internet vạn vật (IoT) và trí tuệ nhân tạo (AI) Do đó, cách thu thập và khai thác dữ liệu lớn sẽ tạo ra điểm khác biệt giữa các doanh nghiệp hoạt động trên thị trường [3]

Tuy nhiên, tình hình khai thác dữ liệu lớn tại Việt Nam vẫn chưa thu hút được nhiều sự chú ý Phần lớn các doanh nghiệp sở hữu khối lượng dữ liệu lớn hàng đầu Việt Nam chưa tư duy về dữ liệu, chính vì vậy cần trang bị thông tin để có thể tái cấu trúc hệ thống, thiết lập cơ sở hạ tầng thông tin, thu thập, xử lý, để dữ liệu Dữ liệu lớn phát huy giá trị to lớn của nó Trong bối cảnh hiện nay, điểm quan trọng mà các doanh nghiệp Việt Nam cần tập trung để có thể khai thác được giá trị của Dữ liệu lớn là cần phát triển một “tư duy phân tích dữ liệu”, nuôi dưỡng một “văn hóa

dữ liệu” trong doanh nghiệp Điều này là một nhiệm vụ khó khăn

Tại Viettel nói riêng, Viettel BI 2.0 là hệ thống xây dựng trên nền tảng xử lý

và phân tích dữ liệu lớn thời gian thực vRTAP (Viettel Real-time Big Data Analytics Platform), cho phép tổng hợp và phân tích hành vi tiêu dùng của khách hàng viễn thông trên nhiều chiều Từ đó hệ thống kết hợp với các mô hình thuật toán máy học để đưa ra quyết định về kinh doanh trong viễn thông, quảng cáo thương mại điện tử Sản phẩm đã giải quyết bài toán về nhu cầu xử lý dữ liệu lớn của các doanh nghiệp lớn, đặc biệt là mạng viễn thông Viettel, giúp tối ưu nguồn lực nghiên cứu, xây dựng, triển khai, vận hành các hệ thống xử lý dữ liệu dựa trên

cơ sở nền tảng chung hợp nhất BI 2.0 đã góp phần giúp Viettel trở thành đơn vị đi đầu trong phân tích dữ liệu lớn vốn còn khá mới tại Việt Nam Đây sẽ là cơ sở quan trọng để công ty có thể phục vụ khách hàng như những cá thể riêng lẻ, "may đo" theo nhu cầu từng khách hàng, điều mà tất cả các doanh nghiệp viễn thông đều đang hướng tới

Trang 24

1.4 Một số giải pháp xử lý Dữ liệu lớn

1.4.1 Google Cloud Platform

Hứa hẹn của dữ liệu lớn là nhìn thấu bên trong doanh nghiệp nhanh hơn, tốt hơn, nhưng nó thường rơi vào bài toán hạ tầng Chẳng hạn bạn có thể thu thập một lượng dữ liệu khổng lồ, sau đó tìm cách kết hợp, biến đổi để trích xuất dữ liệu có giá trị bên trong Giả sử không dựa trên nền tảng Cloud, hệ thống sẽ rất lớn, cồng kềnh [7], [11]

Hình 1.4 Mô hình kiến trúc mẫu hệ thống Dữ liệu lớn của Google

Xây dựng hệ thống xử lý Dữ liệu lớn dựa trên nền tảng điện toán đám mây

“Cloud computing” sẽ nhanh hơn, sẽ không phải lo lắng về hạ tầng bên dưới Đặc biệt hơn, nó cho phép:

Không vận hành (NoOps): Nhà cung cấp Cloud sẽ chịu trách nhiệm triển khai, quản lý và nâng cấp hạ tầng để làm cho hệ thống tin cậy và có khả năng mở rộng “NoOps” có nghĩa là nền tảng tự động xử lý các công việc như thế cho người

sử dụng, giải phóng người dùng hoàn toàn để có thể tập trung vào việc hiểu và khai thác giá trị dữ liệu

Chi phí hiệu quả: Không chỉ dễ sử dụng và nhanh, một giải pháp “NoOPs” cung cấp lợi ích chi phí khá rõ ràng thông qua việc loại bỏ công việc vận hành, nhưng lợi ích về mặt chi phí của Dữ liệu lớn theo “Cloud way” còn hơn nữa - nền tảng tự động mở rộng và tối ưu việc tiêu tốn hạ tầng của bạn, bỏ qua các tài nguyên

Trang 25

nhàn rỗi như các cụm không hoạt động Bạn quản lý chi phí bằng số truy vấn và độ trễ dựa trên phân tích lợi ích/chi phí Bạn không bao giờ phải cấu trúc lại hệ thống chỉ để điều chỉnh chi phí

Cộng tác an toàn và dễ dàng: Bạn có thể chia sẻ bộ dữ liệu “data set” lên Google Cloud Storage hoặc các bảng trong google big query với bộ cộng tác bên trong hoặc bên ngoài tổ chức mà không cần tạo bản sao hoặc gán quyền truy cập cơ

sở dữ liệu Có một phiên bản dữ liệu mà bạn kiểm soát và xác thực quyền truy cập

mà không ảnh hưởng đến hiệu năng

1.4.2 Amazon EMR

Khi toàn cầu đã trở thành một xã hội kỹ thuật số, số lượng dữ liệu được tạo

ra và thu thập được phát triển và đẩy nhanh đáng kể Phân tích dữ liệu này sẽ trở thành một thách thức với các công cụ truyền thống Đòi hỏi phải cải tiến để thu hẹp khoảng cách giữa dữ liệu được tạo ra và dữ liệu có thể phân tích hiệu quả [6] [8]

Hình 1.5 Mô hình kiến trúc tích hợp Amazon webservice điển hình

Amazon Web Services (AWS) cung cấp một nền tảng rộng các dịch vụ quản

lý để giúp bạn xây dựng an toàn và liên tục mở rộng quy mô ứng dụng dữ liệu lớn end-to-end một cách nhanh chóng và dễ dàng Cho dù các ứng dụng của bạn yêu cầu streaming thời gian thực hay xử lý dữ liệu hàng loạt, AWS cung cấp cơ sở hạ tầng và các công cụ để giải quyết dữ liệu lớn của bạn trong tương lai Không cần mua sắm phần cứng, không cần bảo trì và mở rộng cơ sở hạ tầng, duy nhất những gì bạn cần là thu thập, lưu trữ, xử lý và phân tích dữ liệu lớn AWS có một hệ sinh thái

Trang 26

các giải pháp phân tích thiết kế đặc biệt để xử lý tăng số lượng dữ liệu và cung cấp cái nhìn sâu sắc vào doanh nghiệp của bạn Amazon web services (AWS) là tập hợp các dịch vụ cung cấp cho người lập trình có khả năng truy cập tới hạ tầng kiến trúc tính toán kiểu sẵn sàng để sử dụng của Amazon AWS cung cấp dịch vụ về các tài nguyên và tính toán để xây dựng và vận hành các ứng dụng chỉ trong vài phút với chi phí PAY-AS-YOU-GO (dùng đến đâu trả đến đấy)

Khi nhu cầu thay đổi, bạn có thể dễ dàng thay đổi kích thước môi trường của bạn (theo chiều ngang hoặc theo chiều dọc) trên AWS để đáp ứng nhu cầu của bạn,

mà không cần phải chờ đợi phần cứng bổ sung hoặc được yêu cầu để qua đầu tư để cung cấp đủ sức chứa

Đối với các ứng dụng quan trọng trên cơ sở hạ tầng truyền thống, nhà thiết

kế hệ thống không có sự lựa chọn mà phải để quá hơn thực tế để dự phòng Ngược lại, trên AWS bạn có thể cung cấp dung lượng nhiều hơn và tính toán trong một vài phút, nghĩa là các ứng dụng dữ liệu lớn của bạn phát triển và co theo nhu cầu, và hệ thống của bạn chạy gần đến hiệu quả tối ưu nhất Ngoài ra, bạn sẽ có được tính linh hoạt trên cơ sở hạ tầng toàn cục với truy cập nhiều vùng địa lý khác nhau mà AWS cung cấp, cùng với khả năng sử dụng các dịch vụ mở rộng khác để xây dựng các ứng dụng dữ liệu lớn phức tạp Những dịch vụ khác bao gồm Amazon Simple Storage Service (Amazon S3) để lưu trữ dữ liệu và AWS Data Pipeline để dàn xếp việc di chuyển và chuyển đổi dữ liệu dễ dàng AWS IoT, cho phép kết nối các thiết

bị tương tác với các ứng dụng điện toán đám mây và các thiết bị kết nối khác

Ngoài ra, AWS có nhiều lựa chọn để giúp đưa dữ liệu vào đám mây, bao gồm thiết bị an toàn như AWS Import / Export Snowball để tăng tốc chuyển dữ liệu quy mô petabyte, Amazon Kinesis Firehose để tải luồng dữ liệu, và khả năng mở rộng kết nối tin qua AWS Direct Connect

Khi di động tiếp tục phát triển nhanh chóng trong cách sử dụng, bạn có thể

sử dụng bộ dịch vụ trong AWS Mobile Hub để thu thập và đo lường sử dụng ứng dụng và dữ liệu hoặc xuất dữ liệu cho mục đích phân tích thêm

AWS phù hợp lý tưởng cho việc giải quyết các vấn đề dữ liệu lớn, và nhiều khách hàng đã thực hiện phân tích dữ liệu lớn thành công trên AWS

Trang 27

Amazon Elastic MapReduce (Amazon EMR) là một dịch vụ web mà giúp xử

lý lượng dữ liệu lớn một cách dễ dàng, nhanh chóng và tiết kiệm chi phí Amazon EMR giúp đơn giản hoá xử lý dữ liệu lớn, sử dụng Apache Hadoop - một framework mã nguồn mở, giúp phân phối và xử lý dễ dàng, nhanh chóng, và hiệu quả một lượng lớn dữ liệu trên Amazon EC2 instances Hay cũng có thể các gồm phân tích log, lập chỉ mục web, lưu trữ dữ liệu, máy học, phân tích tài chính, mô phỏng khoa học, và tin học hóa

Các tính năng và lợi ích [4], [8]:

Dễ sử dụng: Chỉ mất vài phút để khởi động một cụm Amazon EMR Không cần phải lo lắng về nút dự phòng, cài đặt cluster, cấu hình Hadoop, hoặc cụm điều chỉnh Amazon EMR sẽ chăm sóc các công việc này, do đó có thể tập trung vào phân tích

Chi phí thấp: Giá sử dụng Amazon EMR là hợp lý và có thể dự toán: Chỉ phải trả một phí theo giờ cho mỗi giờ sử dụng Ta có thể khởi động một cụm 10 nút Hadoop với $0,15 cho mỗi giờ Bởi vì Amazon EMR có hỗ trợ cho Amazon EC2 Spot và Instances Reserved, có thể tiết kiệm 50-80% chi phí đối với các trường hợp

cơ bản

Mềm dẻo: Với Amazon EMR, bạn có thể cung cấp một, hàng trăm, hay hàng ngàn trường hợp tính toán để xử lý dữ liệu ở mọi quy mô Bạn có thể dễ dàng tăng hoặc giảm số lượng các trường hợp và bạn chỉ phải trả cho những gì bạn sử dụng

Đáng tin cậy: Ta có thể dành ít thời gian điều chỉnh và giám sát các cluster của mình Amazon EMR đã điều chỉnh Hadoop cho các đám mây, cũng như màn hình cluster của bạn - thử lại công việc không thành công và tự động thay thế các trường hợp hoạt động kém

Bảo mật: Amazon EMR tự động cấu hình Amazon EC2 thiết lập tường lửa kiểm soát truy cập mạng với các trường hợp, và bạn có thể khởi động các cụm trong một Amazon Virtual Private Cloud (VPC), một mạng lưới hợp lý cô lập xác định Đối với các đối tượng được lưu trữ trong Amazon S3, bạn có thể sử dụng Amazon S3 mã hóa server-side hoặc Amazon S3 mã hóa client-side với EMRFS, AWS Key Management Service hoặc khách hàng quản lý

Trang 28

Linh hoạt: Ta có thể hoàn toàn kiểm soát cluster của mình Có quyền truy cập root để mọi trường hợp, có thể dễ dàng cài đặt thêm các ứng dụng, và có thể tùy chỉnh tất cả các cluster Amazon EMR cũng hỗ trợ nhiều bản phân phối Hadoop và các ứng dụng

đó đi

Đối với các giám đốc kỹ thuật: Hadoop là một bộ phần mềm nguồn mở để khai phá Dữ liệu lớn có cấu trúc và không có cấu trúc về công ty của bạn Nó tích hợp với hệ sinh thái Business Intelligence của bạn

Đối với nhân viên pháp lý: Hadoop là một bộ phần mềm nguồn mở được nhiều nhà cung cấp đóng gói và hỗ trợ

Đối với các kỹ sư: Hadoop là một môi trường song song thực thi map-reduce dựa trên Java, không chia sẻ gì cả Hãy nghĩ đến hàng trăm, hàng ngàn máy tính đang làm việc để giải quyết cùng một vấn đề, có khả năng khôi phục lỗi dựng sẵn Các dự án trong hệ sinh thái Hadoop cung cấp khả năng tải dữ liệu, hỗ trợ ngôn ngữ cấp cao, triển khai trên đám mây tự động và các khả năng khác

Đối với chuyên gia bảo mật: Hadoop là một bộ phần mềm bảo mật-Kerberos

Trang 29

Các cỗ máy tìm kiếm như Google chọn lọc thông tin và trả về kết quả trong tích tắc Kỹ thuật thường được sử dụng là chia nhỏ nhiệm vụ để hàng loạt máy tính cùng nhau thực hiện Kỹ thuật này cũng được biết đến với tên gọi Cloud computing

Và Hadoop được đưa ra nhằm tận dụng khả năng của Cloud computing

Apache Hadoop được Doug Cutting, người viết Hadoop, đặt tên theo tên con voi đồ chơi của con ông ta, đã nhận được sự ủng hộ và ứng dụng của Yahoo, Google, IBM…Hadoop có thể chạy các ứng dụng với lượng dữ liệu lớn một cách nhanh chóng, chính xác, hiệu quả cao bằng cách lưu và tính toán dữ liệu trên nhiều node một cách độc lập Hadoop có 2 thành phần chủ yếu là HDFS (Hadoop Distributed File System) và MapReduce

Nhìn từ bên ngoài, files lưu trên HDFS cũng giống như lưu trong Windows hay Linux Ta có thể create new, delete, move, rename…Nhưng trên thực tế, dữ liệu được chia ra thành blocks lưu trữ trên rất nhiều DataNode, mỗi block có nhiều bản sao (mặc định là 3) lưu trên nhiều DataNode khác nhau, phòng khi một DataNode nào đó có sự cố thì hệ thống vẫn hoạt động bình thường Ngoài ra còn có 1 (và chỉ 1) NameNode làm nhiệm vụ quản lí dữ liệu và điều tiết các lệnh đòi hỏi thao tác chúng

MapReduce giúp cho việc xử lí song song được thuận lợi, ít nhất gồm 3 bộ phận: hàm Map để phân tích data thành các cặp (key, value), hàm Reduce căn cứ vào các key để gom tập hợp các cặp như vậy lại với nhau và đưa ra kết quả, hàm Main để điều tiết Mỗi một thao tác Map hoặc Reduce được gọi là TaskTracker Thông thường TaskTrackers được chạy trên DataNodes để giảm đường truyền Tasktrackers được JobTracker căn cứ vào thông tin của blocks để khởi tạo trên DataNode phù hợp JobTracker không nhất thiết phải chạy trên cùng máy với NameNode

1.4.4 So sánh các giải pháp

Qua việc trình bày 3 giải pháp xử lý dữ liệu lớn như trên Có thể thấy rằng giải pháp của Amazon và Google khá tương đồng với nhau, ưu điểm của 2 giải pháp này là cung cấp sẵn cho doanh nghiệp một cơ sở hạ tầng tầng dựa trên nền tảng điện toán đám mây “Cloud computing” cũng như các gói dịch vụ để phân tích dữ liệu

Trang 30

lớn Điều này giải phóng doanh nghiệp không phải lo lắng về việc triển khai, quản

lý và nâng cấp hạ tầng cũng như các giải pháp để xử lý dữ liệu lớn, hoàn toàn có thể tập trung vào việc khai thác giá trị dữ liệu Tuy nhiên nhược điểm của 2 giải pháp này là phải trả phí cho cả hệ thống cơ sở hạ tầng và các gói dịch vụ phân tích dữ liệu lớn Ngoài ra, vấn đề tùy biến hệ thống, bảo mật dữ liệu cũng không được cao

Giải pháp Apache Hadoop thì hoàn toàn ngược lại, nó đơn thuần cung cấp cho người dùng một giải pháp xử lý dữ liệu lớn dựa trên mã nguồn mở, sử dụng miễn phí và dễ dàng tùy biến Nhược điểm của giải pháp này là doanh nghiệp cần phải có sẵn (hoặc đầu tư) hệ cơ sở hạ tầng để triển khai Hadoop, ngoài ra cũng cần phải nghiên cứu kiến thức về cài đặt và cấu hình Hadoop

Sau khi phân tích ưu, nhược của 3 giải pháp, tận dụng lại các máy chủ cũ hiện có để tiết kiệm chi phí, vừa dùng làm cơ sở hạ tầng, vừa dùng cho việc nghiên cứu, làm chủ dịch vụ Thêm vào đó, cước Viễn thông Viettel là dữ liệu “MẬT”, phải được Viettel quản lý, không thể để lộ lọt ra bên ngoài Tác giả quyết định lựa chọn giải pháp “Apahce Hadoop” làm giải pháp xử lý dữ liệu lớn và sử dụng Hadoop để phân tích cước viễn thông Viettel tại chương III

1.5 Kết luận chương 1

Cùng với sự bùng nổ của công nghệ số, Dữ liệu lớn đã và đang trở thành xu thế công nghệ mới mà các doanh nghiệp cần nắm bắt để phát triển Nội dung của chương làm rõ định nghĩa Dữ liệu lớn, các đặc trưng của Dữ liệu lớn và hiện trạng ứng dụng khai thác xử lý Dữ liệu lớn trên thế giới và Việt Nam Giới thiệu tổng quan về ba giải pháp Dữ liệu lớn trên thế giới và các đặc điểm cùng với các trường hợp sử dụng Từ đó đề xuất sử dụng công nghệ Apache Hadoop để xây dựng module xử lý số liệu kinh doanh của Viettel

Nội dung của chương 2 tác giả sẽ đi sâu vào tìm hiểu công nghệ Apache Hadoop

Trang 31

CHƯƠNG 2 GIẢI PHÁP XỬ LÝ DỮ LIỆU LỚN APACHE

HADOOP

Giới thiệu

Nội dung trình bày chi tiết về công nghệ xử lý dữ liệu lớn: Apache Hadoop

- Giới thiệu Apache Hadoop, cách thức Hadoop xử lý dữ liệu lớn

- Giới thiệu về hệ thống file phân tán HDFS (Hadoop Distributed File System) trên Hadoop

- Trình bày mô hình MapReduce được dùng để xử lý dữ liệu lớn dựa trên lý thuyết của mô hình tính toán song song và mô hình xử lý dữ liệu phân tán trên những cụm máy tính

Ngoài ra, tác giả cũng giới thiệu Oracel, hệ quản trị Cơ sở dữ liệu truyền thống được dùng kết hợp với Apache Hadoop ứng dụng trong chương 3

2.1 Các thách thức về dữ liệu lớn

Mọi ngành kinh doanh ở bất kỳ hình dạng hay kích thước nào hiện này đều đang đặt những câu hỏi phức tạp tới dữ liệu của họ để đạt được lợi thế cạnh tranh: các công ty bán lẻ có thể theo dõi những thay đổi trong vị trí thương hiệu từ các nguồn lực trực tuyến như Facebook, Twitter và phản ứng nhanh chóng tới những thay đổi đó; các công ty dịch vụ tài chính muốn theo dõi lượng lớn giao dịch để phát hiện gian lận; các công ty năng lượng thu nhận hàng terabyte thông tin từ các thiết bị đo sinh ra hàng giờ với hy vọng phát hiện ra hiệu quả mới trong thanh toán

và giao hàng [1]

Kết quả là các nhà phát triển và các nhà phân tích dữ liệu đòi hỏi phải truy cập dữ liệu cực lớn và nhanh đến mức có thể, điều này đã chạm đến giới hạn của phần mềm và cơ sở hạ tầng truyền thống cũng như phơi bày ra những thách thức công nghệ như sau:

Sự bùng nổ dữ liệu: Đặc biệt là sự đa dạng của dữ liệu không có cấu trúc hoặc bán cấu trúc đặt ra thách thức cho khả năng mở rộng của các hệ thống truyền thống Khách hàng đang gặp khó khăn để quản lý và phân tích các dòng dữ liệu

Trang 32

khổng lồ từ nhiều nguồn: log của hệ thống hay mạng lưới, dữ liệu hành vi thao tác khách hàng, dữ liệu từ cảm biến của các robot hay nhà máy, và các nguồn dữ liệu

do con người và máy móc khác tạo ra Trong nhiều trường hợp, dữ liệu này thường

bị vứt bỏ vì thiếu một phương tiện hiệu quả để thu thập, lưu trữ và phân tích chúng RDBMS với mô hình dữ liệu tương đối cứng nhắc và quá tập trung vào xử lý giao tác gây hạn chế cho các nhà phát triển thích nghi với việc thay đổi kiểu dữ liệu và

mô hình phân tích linh hoạt để xử lý các dữ liệu đó

Sức mạnh xử lý của CPU vượt quá khả năng của HDD: Cùng với sự phát triển của công nghệ, sức mạnh xử lý của CPU và dung lượng HDD liên tục thăng tiến với một tốc độ nhanh chóng, nhưng vẫn bị mắc kẹt với băng thông tương đối thấp bởi các giới hạn cơ học trên trục quay của HDD

Một giải pháp phổ biến để khắc phục hạn chế băng thông trên một ổ đơn là thêm nhiều trục và thực hiệc đọc ghi song song Hệ thống SAN và NAS đã trở lên rất phổ biến bằng cách cung cấp nhiều HDD hơn rất nhiều so với khả năng của một máy chủ có thể chứa được và cho phép truy cập nhanh qua cáp quang Phương pháp tách tính toán khỏi lưu trữ này còn hoạt động tốt chừng nào các ứng dụng vẫn chưa cần đọc ghi khối lượng dữ liệu cực lớn một cách nhanh chóng; khi đó hiện tượng nghẽn cổ chai sẽ xảy ra ở nhiều nơi: từ đường truyền, máy chủ đến máy chủ lưu trữ

Do đó, với những ứng dụng cần giải quyết hàng terabyte dữ liệu hay thậm chí petabyte, sự mất cân bằng giữa khả năng xử lý và hiệu năng hệ thống lưu trữ sẽ càng thể hiện rõ bằng việc “đói” dữ liệu để xử lý trong kiến trúc RDBMS dựa trên SAN/NAS truyền thống

Sự cần thiết mở rộng quy mô theo chiều ngang: “Trong những ngày đầu khi

sử dụng bò để kéo vật nặng, và khi một con bò không thể nhúc nhích được thanh

gỗ, người ta không cố gắng nuôi cho con bò lớn hơn Chúng ta cũng không nên cố gắng làm cho máy tính lớn hơn mà hãy dùng nhiều máy tính.” [Grace Hooper]

Sự cần thiết phải mở rộng quy mô theo chiều ngang để khắc phục và xử lý các hạn chế hiện tại của mô hình máy chủ đơn hay nhóm nhỏ máy chủ đơn khi thực hiện các tính toán phân tán phức tạp Một nút cơ sở dữ liệu nhất định chỉ coi là lớn trước khi nó không thể xử lý các nhu cầu tính toán của ứng dụng cần truy cập vào

Trang 33

dữ liệu của nó và trước khi nó trở lên quá lớn để sụp đổ Việc tách nhu cầu tính toán trên nhiều máy chủ có thể giải quyết cả hai vấn đề hiệu năng và tính sẵn sàng của hệ thống, tương tự như việc xử lý đọc/ghi I/O song song trên một bộ RAID giúp tăng băng thông tổng hợp và độ tin cậy Tất cả các việc phân tán và song song đó đều dẫn tới tăng chi phí, ứng dụng phân tán thực hiện rất khó khi đặt nhiều yêu cầu về kết nối mạng, xử lý tính toán, xử lý lưu trữ đối với việc thực hiện đồng thời, đồng

bộ hóa, khóa (locking), đặc biệt là chống lỗi và khả năng phục hồi Lịch sử đã chỉ ra nhiều thất bại khi các nhà phát triển phải phát minh lại phương pháp xử lý phân tán với mỗi ứng dụng mới

Nhận thức được những khó khăn với mô hình RDBMS + SAN/NAS truyền thống, một cách thức mới trong phát triển ứng dụng dựa trên nền tảng quản lý dữ liệu mới đã xuất hiện trong một thập kỷ qua nhắm tới xử lý nhu cầu về dữ liệu lớn một cách nhanh chóng và hiệu quả Hadoop đã trở thành một trong những lựa chọn phổ biến nhất cho vấn đề dữ liệu lớn như mục đích xây dựng của nó

2.2 Giới thiệu về Hadoop

2.2.1 Khái niệm về Hadoop

Wikipedia định nghĩa: “Apache Hadoop hay Hadoop là một software framework hỗ trợ các ứng dụng phân tán dữ liệu chuyên sâu theo một giấy phép miễn phí Nó cho phép các ứng dụng làm việc với hàng ngàn máy tính tính toán độc lập và petabyte dữ liệu Hadoop được bắt nguồn từ các bài báo MapReduce của Google và Google File System Hadoop là một trong những dự án hàng đầu của Apache, được xây dựng và được sử dụng bởi một cộng đồng những người đóng góp toàn cầu, viết bằng ngôn ngữ lập trình Java Yahoo! đã đóng góp lớn nhất cho dự

án, và Hadoop được sử dụng rộng rãi trên khắp các doanh nghiệp”

Theo định nghĩa của Cloudera - nhà phát triển, phân phối Hadoop hàng đầu:

“Về mặt kỹ thuật, Hadoop bao gồm 2 chức năng chủ chốt: kho dữ liệu tin cậy sử dụng hệ thống tệp phân tán Hadoop (HDFS - Hadoop File System) và cơ chế xử lý

dữ liệu song song hiệu năng cao sử dụng kỹ thuật MapReduce”

Kiến trúc của Hadoop xuất phát từ 2 bản thiết kế trong hội thảo của Google vào năm 2003-2004, lần đầu là mô tả hệ thống tập tin Google File System (GFS) để

Trang 34

lưu trữ ổn định, tin cậy với khả năng mở rộng lớn, và thứ hai là nền tàng MapReduce xử lý dữ liệu phân tán Cả 2 được Google sử dụng để thu thập và xử lý khối lượng dữ liệu web khổng lồ để cung cấp kết quả tìm kiếm phù hợp và nhanh chóng Những thiết kế này đã đặt nền tảng cho việc xây dựng Hadoop với MapReduce chạy trên nền HDFS Hadoop nhanh chóng đạt được các thành công ban đầu bởi sự tham gia của các nhóm chuyên biệt từ các công ty như Yahoo, Facebook và Twitter, sau đó Hadoop đã tự tìm được đường vào các tất cả các loại doanh nghiệp nhờ cách tiếp cận độc đáo về dữ liệu và xử lý phân tán [1]

Từ các khái niệm trên, tác giả đưa ra kết luận: Hadoop là một Apache framework mã nguồn mở được viết bằng java, cho phép xử lý phân tán các tập dữ liệu lớn trên các cụm máy tính thông qua mô hình lập trình đơn giản Hadoop được thiết kế để mở rộng quy mô từ một máy chủ đơn sang hàng ngàn máy tính khác có tính toán và lưu trữ cục bộ

2.2.2 Các thành phần lõi của Hadoop

Hình 2.1 Một số thành phần của Hadoop

- HDFS: HDFS được thiết kế để mở rộng một cách tuyến tính không giới hạn khi đắp thêm phần cứng, đó chính là điểm mạnh Bất kỳ nhà thiết kế hệ thống máy chủ nào cũng đều đồng ý, mở rộng theo chiều ngang không phải là việc đơn giản, nhưng với HDFS, vấn đề mở rộng được giải quyết dễ dàng chỉ với việc thêm phần cứng vào hệ thống Làm được điều này phần lớn là nhờ các hành động trong HDFS

là bất đồng bộ Với tất cả các điểm trên đã giúp Hadoop rất được ưa chuộng khi áp dụng tính toán đám mây (Cloud computing)

MapReduce: Đây là mô hình lập trình cho Hadoop Có hai giai đoạn, không ngạc nhiên khi được gọi là Map và Reduce Để gây ấn tượng với các bạn bè của bạn hãy nói với họ là có một quá trình shuffle-sort (một quá trình mà hệ thống thực hiện

Trang 35

sắp xếp và chuyển các kết quả đầu ra của map tới các đầu vào của các bộ rút gọn) giữa hai giai đoạn Map và Reduce JobTracker (Trình theo dõi công việc) quản lý hơn 4000 thành phần công việc MapReduce

- Hadoop Streaming: Một tiện ích để tạo nên mã MapReduce bằng bất kỳ ngôn ngữ nào: C, Perl, Python, C++, Bash, v.v Các ví dụ bao gồm một trình mapper Python và một trình reducer AWK

- Hive và Hue: Nếu bạn thích SQL, bạn sẽ rất vui khi biết rằng bạn có thể viết SQL và yêu cầu Hive chuyển đổi nó thành một tác vụ MapReduce Đúng là bạn chưa có một môi trường ANSI-SQL đầy đủ, nhưng bạn có 4000 ghi chép và khả năng mở rộng quy mô ra nhiều Petabyte Hue cung cấp cho bạn một giao diện đồ họa dựa trên trình duyệt để làm công việc Hive của bạn

- Pig: Một môi trường lập trình mức cao hơn để viết mã MapReduce Ngôn ngữ Pig được gọi là Pig Latin Bạn có thể thấy các quy ước đặt tên hơi khác thường một chút, nhưng bạn sẽ có tỷ số giá, hiệu năng đáng kinh ngạc và tính sẵn sàng cao

- Sqoop: Cung cấp việc truyền dữ liệu hai chiều giữa Hadoop và cơ sở dữ liệu quan hệ yêu thích của bạn

- Oozie: Quản lý luồng công việc Hadoop Oozie không thay thế trình lập lịch biểu hay công cụ BPM của bạn, nhưng nó cung cấp cấu trúc phân nhánh if-then-else và điều khiển trong phạm vi tác vụ Hadoop của bạn

- HBase: Một kho lưu trữ key-value có thể mở rộng quy mô rất lớn Nó hoạt động rất giống như một hash-map để lưu trữ lâu bền (với những người hâm mộ python, hãy nghĩ đến một từ điển) Nó không phải là một cơ sở dữ liệu quan hệ, mặc dù có tên là HBase

- FlumeNG: Trình nạp thời gian thực để tạo luồng dữ liệu của bạn vào Hadoop Nó lưu trữ dữ liệu trong HDFS và HBase Bạn sẽ muốn bắt đầu với FlumeNG, để cải thiện luồng ban đầu

- Whirr: Cung cấp Đám mây cho Hadoop Bạn có thể khởi động một hệ thống chỉ trong vài phút với một tệp cấu hình rất ngắn

- Mahout: Máy học dành cho Hadoop Được sử dụng cho các phân tích dự báo và phân tích nâng cao khác

Trang 36

- Fuse: Làm cho hệ thống HDFS trông như một hệ thống tệp thông thường,

do đó bạn có thể sử dụng lệnh ls, cd, rm và những lệnh khác với dữ liệu HDFS

- Zookeeper: Được sử dụng để quản lý đồng bộ cho hệ thống Bạn sẽ không phải làm việc nhiều với Zookeeper, nhưng nó sẽ làm việc rất nhiều cho bạn

2.2.3 Hadoop giải quyết thách thức dữ liệu lớn

- Hadoop đưa tính toán vào dữ liệu: thay vì cách làm thông thường là lấy dữ liệu từ một nơi khác và thực hiện tính toán trên một kiến trúc giới hạn, Hadoop tận dụng lợi thế tốc độ cao và chi phí thấp của việc truy cập và xử lý dữ liệu nội bộ (local) trên các máy x86 thông dụng và hướng đến việc duy trì xử lý dữ liệu trên các node đến khi nào có thể Điều này đảm bảo việc sử dụng băng thông để truyền dữ liệu giữa các node ở mức thấp nhất có thể; một node chủ “NameNode” quản lý thông tin về hệ thống tệp tin và một node chủ “Job Tracker” tổ chức phân phối và thực thi các tác vụ xuyên suốt toàn cụm máy; nhưng cả hai đều không phải là đường dẫn để truy cập dữ liệu trực tiếp tới các Data Node mà có thể gây ra hiện tượng nghẽn cổ chai Đây không phải là một hệ thống tệp tin phân tán đơn thuần như nhiều hệ thống khác, mà đây là hệ thống tệp tin phân tán đẩy mạnh việc xử lý ở nội

bộ và giảm thiểu việc di chuyển dữ liệu[6], [9]

Hadoop được thiết kế để mở rộng hàng loạt và có thể dự đoán: Hadoop được xây dựng trên giả định rằng nhiều máy tính nhỏ và rẻ tiền có thể gom lại với nhau

để cung cấp một hệ thống có thông lượng tổng hợp đủ lớn để xử lý các vấn đề về bùng nổ dữ liệu Mỗi node được bổ sung cung cấp một sự gia tăng tỷ lệ thuận với khả năng; sự gia tăng tải hệ thống chỉ dẫn đến tăng thời gian thực thi tác vụ một cách tỷ lệ thuận nhưng không bao giờ gây lỗi

Tất cả các node bổ sung có nghĩa là dung lượng lưu trữ nhiều hơn và mang lại hiệu suất cao hơn (đo bằng thời gian hoàn thành tác vụ và khả năng hỗ trợ thêm tác vụ chạy đồng thời) Những điểm trên giúp cho hệ thống dễ dự đoán hơn và giúp nâng cao tỉ lệ sử dụng Hệ thống càng dễ dự đoán, ta càng có thể chạy thêm nhiều tác vụ mà không sợ hệ thống quá tải

- Hadoop được thiết kế để chỉ bị lỗi một phần và có thể tự khôi phục: với giả định về kiến trúc phân tán, mở rộng và không chia sẻ (share-nothing) xây dựng trên

Trang 37

cơ sở là một cụm các máy rẻ tiền, Hadoop đảm bảo rằng hệ thống sẽ tiếp tục làm việc một cách tin cậy khi có lỗi xảy ra và có khả năng tự khôi phục các thành phần độc lập Máy chủ, kết nối mạng được giả định là không đáng tin cậy, và nền tảng được thiết kế ra để đối phó với một cơ sở hạ tầng có tính bất ổn định cao Dữ liệu được (mặc định) nhân bản 3 lần trong hệ thống, Data Node có thể tham gia hệ thống hay rời khỏi hệ thống mà không cần hệ thống phải khởi động lại; kết quả của tác vụ luôn đồng nhất bất chấp khả năng xảy ra lỗi tiềm tàng trong quá trình thực thi Lỗi

và phục hồi là bản chất của Hadoop chứ không phải là tính năng bổ sung, là một tài sản có ý nghĩa quan trọng cho phép các nhà phát triển tập trung vào dữ liệu và trả lời các câu hỏi mà họ muốn hỏi, hơn là phải lo lắng về việc phải làm thế nào khi một ổ đĩa cứng bị hỏng hay kết nối mạng bị đứt

Hadoop cung cấp nền tảng phân tích dữ liệu mạnh mẽ và linh hoạt: Nền tảng này giúp giảm bớt các trở ngại khi lập trình tính toán song song Luôn có một bộ xử

lý song song đặt trước, nhận các công việc và tách thành các phần việc nhỏ một cách thông minh, phân phối các mẩu việc đều trên tất cả tài nguyên còn trống, theo dõi danh sách tác vụ trong hàng đợi để thực thi nhằm giữ CPU luôn bận rộn (nhưng không quá bận rộn), sau đó nhận và hoàn thiện kết quả Hadoop, ngoài việc làm giảm sự quan tâm đến việc xử lý phức tạp các trường hợp lỗi cũng như kịch bản hồi phục khi lập trình ứng dụng phân tán, mà còn giảm thiểu công sức lập trình cho việc phân phối tác vụ, tính toán song song và tổng hợp kết quả

Như một kết quả của phương pháp tiếp cận chặt chẽ và chuyên dụng tới các quy tắc thiết kế, Hadoop giải quyết nhiều vấn đề về cơ sở hạ tầng mà các nhà phát triển ứng dụng xử lý dữ liệu lớn phải đối mặt, giải phóng họ để họ tập trung hơn đến

dữ liệu và các câu hỏi của họ Hadoop là một mô hình dữ liệu linh hoạt, hệ thống lưu trữ tin cậy với chi phí hợp lý giúp các đơn vị IT nắm bắt, giữ lại và phân tích các dữ liệu mà không để nó mất đi một cách lãng phí Hadoop không phải là sự thay thế cho RDBMS và SAN hay NAS, mà nó chỉ cung cấp một công cụ thay thế mới hiệu quả hơn để chiết xuất các giá trị kinh doanh ra khỏi cơn lũ dữ liệu đang được sinh ra hàng ngày của doanh nghiệp

Trang 38

2.3 Kiến trúc Hadoop File System (HDFS)

Hình 2.2 Kiến trúc HDFS

Đối với một client bên ngoài, HDFS chỉ như một hệ thống file có cấu trúc thứ bậc truyền thống File có thể được tạo, xóa, di chuyển, đổi tên …Nhưng để đạt được các mục tiêu của mình, HDFS sử dụng kiến trúc master/slave được xây dựng

2.3.1 Name node

NameNode thực chất là một phần mềm chạy trên một máy chủ riêng biệt trong một cụm máy HDFS Nó có trách nhiệm quản lý tên miền không gian hệ thống tập tin và kiểm soát truy cập của client bên ngoài NameNode thiết lập bản đồ các khối tập tin được nhân bản trên các DataNode, thông thường với hệ số nhân bản

Trang 39

là 3, một nhân bản sẽ được lưu trên một Node khác nhưng cùng rack và một nhân bản sẽ được lưu trên một Node khác trên rack khác

Các giao tác I/O thực chất không đi qua NameNode mà chỉ có các siêu dữ liệu chỉ ra thông tin của file và các block của nó trên DataNode Khi client gửi yêu cầu tạo file, NameNode phản hồi với IP của DataNode sẽ nhận khối block, và NameNode sẽ thông báo cho các DataNode xác định khác sẽ nhận nhân bản của block đó

NameNode lưu mọi thông tin về hệ thống tệp tin trong file FsImage Tệp tin này cùng với bản ghi về tất cả các giao tác trong hệ thống (hay còn gọi là EditLog) được lưu trong hệ thống file của hệ điều hành mà NameNode được cài đặt File FsImage và EditLog cũng được nhân bản để phòng trường hợp xảy ra lỗi trên NameNode

2.3.2 Data node

DataNode cũng là một phần mềm cài trên một máy riêng biệt trong cụm máy HDFS Một cụm máy Hadoop có một NameNode duy nhất nhưng có thể có hàng ngàn DataNode Các DataNode thường được sắp xếp vào rack và kết nối thông qua switch Hadoop giả định rằng bằng thông trong nội bộ rack sẽ lớn hơn băng thông giữa các rack với nhau

DataNode đáp ứng các yêu cầu đọc, ghi dữ liệu từ client và các lệnh tạo, xóa, nhân bản block từ NameNode NameNode thường xuyên gửi một bản tin kiểm tra định kỳ (heartbeat message) đến các DataNode để xác định DataNode còn sử dụng được không Nếu DataNode không có phản hồi, NameNode sẽ tiến hành khôi phục nhân bản các block ở DataNode đó

2.3.3 Secondary Name node

Các Secondary NameNode (SNN) là một trình nền hỗ trợ giám sát trạng thái của các cụm HDFS Giống như NameNode, mỗi cụm có một SNN, và nó thường trú trên một máy của mình Không có các trình nền DataNode hay TaskTracker chạy trên cùng một server SNN khác với NameNode trong quá trình xử lý của nó không nhận hoặc ghi lại bất cứ thay đổi thời gian thực tới HDFS Thay vào đó, nó giao tiếp với các NameNode bằng cách chụp những bức ảnh của siêu dữ liệu HDFS (HDFS

Trang 40

metadata) tại những khoảng xác định bởi cấu hình của các cluster Như đã đề cập trước đó, NameNode là một điểm truy cập duy nhất của lỗi (failure) cho một cụm Hadoop, và các bức ảnh chụp SNN giúp giảm thiểu thời gian ngừng (downtime) và mất dữ liệu Tuy nhiên, một NameNode không đòi hỏi sự can thiệp của con người

để cấu hình lại các cluster sẻ dùng SSN như là NameNode chính

2.3.4 Jobtracker

Trình nền JobTracker là một liên lạc giữa ứng dụng của bạn và Hadoop Một khi bạn gửi mã nguồn của bạn tới các cụm (cluster), JobTracker sẽ quyết định kế hoạch thực hiện bằng cách xác định những tập tin nào sẽ xử lý, các nút được giao các nhiệm vụ khác nhau, và theo dõi tất cả các nhiệm vụ khi chúng đang chạy Nếu một nhiệm vụ (task) thất bại (fail), JobTracker sẽ tự động chạy lại nhiệm vụ đó, có thể trên một node khác, cho đến một giới hạn nào đó được định sẵn của việc thử lại này Chỉ có một JobTracker trên một cụm Hadoop Nó thường chạy trên một máy chủ như là một nút master của cluster

2.3.5 Tasktracker

Như với các trình nền lưu trữ, các trình nền tính toán cũng phải tuân theo kiến trúc master/slave: JobTracker là giám sát tổng việc thực hiện chung của một công việc MapRecude và các taskTracker quản lý việc thực hiện các nhiệm vụ riêng trên mỗi node slave Mỗi TaskTracker chịu trách nhiệm thực hiện các task riêng mà các JobTracker giao cho Mặc dù có một TaskTracker duy nhất cho một node slave, mỗi TaskTracker có thể sinh ra nhiều JVM để xử lý các nhiệm vụ Map hoặc Reduce song song

Một trong những trách nhiệm của các TaskTracker là liên tục liên lạc với JobTracker Nếu JobTracker không nhận được nhịp đập từ một TaskTracker trong vòng một lượng thời gian đã quy định, nó sẽ cho rằng TaskTracker đã bị treo (cashed) và sẽ gửi lại nhiệm vụ tương ứng cho các nút khác trong cluster

Cấu trúc liên kết này có một node Master là trình nền NameNode và JobTracker và một node đơn với SNN trong trường hợp node Master bị lỗi Đối với các cụm nhở, thì SNN có thể thường chú trong một node slave Mặt khác, đối với các cụm lớn, phân tách NameNode và JobTracker thành hai máy riêng Các máy

Ngày đăng: 03/09/2018, 16:01

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