Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 34 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
34
Dung lượng
2,42 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO MÔN HỌC: HỆ PHÂN BỐ GVHD: NGUYỄN THIÊN BẢO Nhóm 1: Học kỳ: II – Năm học: 2021 – 2022 Contents Big data Tổng quan Hadoop Hadoop vấn đề Big Data 3.1 Lưu trữ: HDFS (Hadoop Distributed File System) 3.2 Management: YARN, ZOOKEEPER 3.3 Data processing tools: Map Reduce, Pig, Hive, Spark HDFS: 11 4.1 What is HDFS? 11 4.2 Why is HDFS? 11 4.3 HDFS idea 11 4.4 HDFS architecture 11 4.5 Recovery 11 4.6 Pros and cons 11 Mapreduce 11 5.1 Giới thiệu Mapreduce Hadoop 11 5.2 Cách hoạt động MapReduce Hadoop 12 5.3 Lợi ích Hadoop MapReduce 12 5.4 Các ứng dụng Hadoop MapReduce 12 5.5 Kết luận 13 YARN 13 6.1 Giới thiệu chung 13 6.2 Các tính chức Hadoop YARN 14 6.3 Các thành phần Hadoop YARN 15 6.4 Ưu điểm YARN 16 ZooKeeper 17 7.1 What is ZooKeeper? 17 7.2 How does ZooKeeper work? 17 7.3 Apache Zookeeper Architecture 18 7.4 Lợi ích hạn chế 21 7.5 Example of ZooKeeper 21 Big data Định nghĩa: What is big data? + Big data số lượng lớn thông tin đa dạng đến việc tăng khối lượng với vận tốc trị giá hết + Big data cấu trúc (thường số, dễ dàng định dạng lưu trữ) không cấu trúc (dạng tự hơn, định lượng hơn) Gần phận cơng ty sử dụng phát từ phân tích big data, vấn đề từ lộn xộn noise gây nhiều vấn đề + Big data thu thập từ nguồn chia sẻ công khai mạng xã hội trang web, thu thập từ ứng dụng điện tử cá nhân, đặc biệt từ loại log, nhật ký ghi lại hành trình từ xe cộ, camera, … + Big data thường lưu trữ sở liệu máy tính phân tích phần mềm thiết kế đặc biệt để xử lý big data, phức tạp The three Vs of big data: + Volume: Với big data, bạn phải xử lý khối lượng cao mật độ thấp (phi tập trung - thơng tin lưu trữ lượng không gian lưu trữ cụ thể), liệu khơng cấu trúc Đây liệu giá trị không xác định, chẳng hạn nguồn cấp liệu Twitter, click Streams trang web ứng dụng di động thiết bị hỗ trợ cảm biến Đối với số tổ chức, hàng chục Terabyte liệu hàng trăm petabyte + Velocity: tốc độ mà liệu ghi Thông thường, vận tốc cao data stream vào nhớ (RAM) so với ghi vào đĩa Một số sản phẩm thông minh hỗ trợ Internet hoạt động thời gian thực gần thời gian thực yêu cầu đánh giá hành động thời gian thực + Variety: đề cập đến nhiều loại liệu có sẵn Các kiểu liệu truyền thống cấu trúc phù hợp gọn gàng sở liệu quan hệ Với gia tăng big data, liệu kèm loại liệu phi cấu trúc Các loại liệu phi cấu trúc bán kết, văn bản, âm video, yêu cầu tiền xử lý bổ sung để lấy ý nghĩa hỗ trợ siêu liệu What are the requirements for Big Data? + File Storage: Mất (Velocity) để business user truy xuất data từ data center lưu trữ liệu Các yếu tố ảnh hưởng đến Velocity không từ phần cứng mà phần mềm tối ưu để đảm bảo độ trễ thấp + Database System: Quá trình bảo quản lưu trữ liệu cần đảm bảo để tránh mát hư hỏng liệu + Data processing tools: Dữ liệu có cấu trúc phi cấu trúc địi hỏi mức độ xử lý khác Các tính xử lý liệu liên quan đến việc thu thập tổ chức liệu thô để cung cấp ý nghĩa định Mơ hình hóa liệu thực tập liệu phức tạp hiển thị chúng sơ đồ trực quan biểu đồ Điều làm cho dễ hiểu dễ diễn giải cho người dùng cố gắng sử dụng liệu để phục vụ cho mục đích cơng việc + Analytics: Các cơng cụ phân tích Dữ liệu lớn cung cấp nhiều gói mơ-đun phân tích để cung cấp cho người dùng tùy chọn Ví dụ, phân tích rủi ro nghiên cứu không chắn xung quanh hành động Nó sử dụng kết hợp với dự báo để giảm thiểu tác động tiêu cực kiện tương lai Phân tích rủi ro cho phép người dùng giảm thiểu rủi ro cách xác định rõ ràng hiểu khả chịu đựng tiếp xúc với rủi ro tổ chức Tổng quan Hadoop - Hadoop gì? Hadoop mã nguồn mở Apache viết Java cho phép xử lý phân tán tập liệu lớn cụm máy tính (clusters) cách sử dụng mơ hình lập trình đơn giản Ứng dụng Framework Hadoop hoạt động môi trường cung cấp khả lưu trữ tính tốn phân tán cụm máy tính Hadoop thiết kế để mở rộng quy mô từ máy chủ đơn lẻ lên hàng nghìn máy, máy cung cấp khả tính tốn lưu trữ cục - Lịch sử phát triển: Hadoop đời lần đầu vào năm 2002 Doug Cutting Mike Cafarella nghiên cứu dự án Apache Nutch, để giảm chi phí thực vấn đề lưu trữ xử lý tập liệu lớn Cho tới 11/2011, Apache Software Foundation phát hành Apache Hadoop phiên 1.0 Tiếp theo vào 8/2013, Phiên 2.0.6 có sẵn Và tại, có Apache Hadoop phiên 3.0 phát hành gần vào tháng 12 năm 2017 Hadoop vấn đề Big Data Hadoop giải vấn đề Big Data cách sử dụng khái niệm HDFS (Hadoop Distributed File System) Hadoop giải cách lưu trữ liệu dạng phân tán máy khác Có nhiều liệu liệu phải lưu trữ theo cách tiết kiệm chi phí xử lý cách hiệu - Hadoop xây dựng để chạy nhóm máy: Giả sử cần lưu trữ nhiều ảnh Chúng ta bắt đầu với đĩa Khi vượt đĩa đơn, sử dụng vài đĩa xếp chồng lên máy Khi tối đa hóa tất đĩa máy, cần nhận loạt máy, máy có loạt đĩa Đây xác cách Hadoop xây dựng Hadoop thiết kế để chạy nhóm máy từ đầu - Các cụm Hadoop chia tỷ lệ theo chiều ngang: Có thể đạt nhiều khả lưu trữ tính tốn cách thêm nhiều nút vào cụm Hadoop Điều giúp loại bỏ nhu cầu mua ngày nhiều phần cứng mạnh mẽ đắt tiền - Hadoop xử lý liệu phi cấu trúc / bán cấu trúc: Hadoop không thực thi lược đồ liệu mà lưu trữ Nó xử lý văn liệu nhị phân tùy ý Vì vậy, Hadoop tiêu hóa liệu phi cấu trúc cách dễ dàng - Các cụm Hadoop cung cấp khả lưu trữ tính tốn: Chúng tơi thấy việc có cụm xử lý lưu trữ riêng biệt cách phù hợp cho liệu lớn Tuy nhiên, cụm Hadoop cung cấp khả lưu trữ tính tốn phân tán tất 3.1 Lưu trữ: HDFS (Hadoop Distributed File System) Là hệ thống lưu trữ liệu ứng dụng Hadoop sử dụng HDFS sử dụng kiến trúc NameNode DataNode để triển khai hệ thống tệp phân tán cung cấp quyền truy cập hiệu suất cao vào liệu cụm Hadoop có khả mở rộng cao Bản thân Hadoop khung xử lý phân tán mã nguồn mở quản lý trình xử lý lưu trữ liệu cho ứng dụng liệu lớn HDFS phần quan trọng nhiều cơng nghệ hệ sinh thái Hadoop Nó cung cấp phương tiện đáng tin cậy để quản lý nhóm liệu lớn hỗ trợ ứng dụng phân tích liệu lớn liên quan HDFS có kiến trúc chủ / tớ (master/slave) Một cụm HDFS bao gồm Namenode nhất, máy chủ quản lý không gian tên hệ thống tệp điều chỉnh quyền truy cập vào tệp máy khách Ngồi ra, có số DataNodes, thường nút cluster, quản lý lưu trữ gắn với nút mà chúng chạy HDFS để lộ khơng gian tên hệ thống tệp cho phép liệu người dùng lưu trữ tệp Trong nội bộ, tệp chia thành nhiều khối khối lưu trữ tập hợp Mã liệu NameNode thực thi hoạt động không gian tên hệ thống tệp mở, đóng đổi tên tệp thư mục Nó xác định ánh xạ khối (block) tới DataNodes Các DataNodes chịu trách nhiệm cung cấp yêu cầu đọc ghi từ máy khách hệ thống tệp Các DataNodes thực việc tạo, xóa chép khối theo hướng dẫn từ NameNode 3.2 Management: YARN, ZOOKEEPER YARN (Yet-Another-Resource-Negotiator) framework hỗ trợ phát triển ứng dụng phân tán YARN cung cấp daemons APIs cần thiết cho việc phát triển ứng dụng phân tán, đồng thời xử lý lập lịch sử dụng tài nguyên tính tốn (CPU hay memory) giám sát q trình thực thi ứng dụng Bên YARN, có hai trình quản lý ResourceManager NodeManage ResourceManager: Quản lý tồn tài ngun tính tốn cluster NodeManger: Giám sát việc sử dụng tài nguyên container báo cáo với ResourceManger Các tài nguyên CPU, memory, disk, network,… Quá trình ứng dụng chạy YARN mô tả sơ đồ qua bước sau: Client giao task cho Resource Manager Resource Manager tính tốn tài ngun cần thiết theo yêu cầu ứng dụng tạo App Master (App Mstr) Application Master chuyển đến chạy node tính tốn Application Master liên lạc với NodeManager node khác để yêu cầu công việc cho node Node Manager nhận yêu cầu chạy task container Các thơng tin trạng thái thay gửi đến JobTracker gửi đến App Master ResourceManger có hai thành phần quan trọng Scheduler ApplicationManager Scheduler có trách nhiệm phân bổ tài nguyên cho ứng dụng khác Đây Scheduler túy khơng thực theo dõi trạng thái cho ứng dụng Nó không xếp lại tác vụ bị lỗi lỗi phần cứng phần mềm Bộ lập lịch phân bổ tài nguyên dựa yêu cầu ứng dụng ApplicationManager có chức sau: Chấp nhận nộp công việc Đàm phán container để thực thi ApplicationMaster Một nơi chứa kết hợp yếu tố CPU, nhớ, đĩa mạng Khởi động lại container ApplicationMaster không thành công Chúng ta mở rộng YARN ngồi vài nghìn node thơng qua tính YARN Federation Tính cho phép buộc nhiều cụm YARN thành cụm lớn Điều cho phép sử dụng cụm độc lập, ghép lại với cho job lớn Zookeeper: Trong ứng dụng phân tán, ta phải đối mặt với thách thức lớn không qn liệu khơng có đồng thuận (thỏa thuận chung) Vì tất hệ thống phân tán phải đối phó với việc trì tính qn nên cần phải nỗ lực nhiều để vượt qua thách thức tính tốn phân tán Zookeeper cung cấp dịch vụ tập trung trì thơng tin cấu hình, DNS cung cấp đồng hóa phân tán Để có tính khả dụng cao, nhiều máy chủ Zookeeper sử dụng thay máy chủ Khi có nhiều máy chủ Zookeeper, gọi Ensemble Trong tổng thể, tất máy chủ Zookeeper lưu trữ liệu Dữ liệu chép qua máy chủ tổ hợp để đảm bảo liệu có sẵn cao Các máy chủ nhóm phải biết Mỗi máy chủ trì hình ảnh trạng thái nhớ, với nhật ký giao dịch kho lưu trữ liên tục Miễn phần lớn máy chủ có sẵn, dịch vụ Zookeeper khả dụng Hãy xem xét nhóm Zookeeper có năm máy chủ Dịch vụ Zookeeper có sẵn miễn ba số năm máy chủ hoạt động tốt Hơn nữa, người lãnh đạo cho nhóm bầu chọn cách sử dụng công thức bầu cử người lãnh đạo RBW, tất chuyển sang trạng thái hồn thiện ứng dụng khách HDFS đóng tệp + Complete: Cuối trạng thái hồn chỉnh, tất trạng thái hồn thiện giống hệt có GS stamps Tệp đóng tất khối tệp trạng thái "complete " - Block Recovery: Trong block recovery, NameNode phải đảm bảo tất tương ứng khối chuyển sang trạng thái chung, mặt logic vật lý, có nghĩa tất tương ứng phải có nội dung NameNode chọn primary datanode (PD) chứa cho khối đích PD u cầu GS mới, thơng tin vị trí khác từ NameNode Sau đó, PD liên hệ với DataNode có liên quan để tham gia vào replica recovery process - Replica Recovery: Replica recovery bao gồm hủy bỏ ứng dụng khách hoạt động ghi vào sao, hủy bỏ trước block recovery tham gia vào quy trình thỏa thuận kích thước cuối Trong giai đoạn này, tất thông tin liệu cần thiết truyền tải qua pipeline Cuối cùng, PD thông báo cho NameNode thành công hay thất bại Trong trường hợp khơng thành cơng, NameNode thử block recovery - Pipeline Recovery: Khi bạn ghi vào tệp HDFS, máy khách HDFS ghi liệu theo block Mỗi block xây dựng thông qua đường dẫn ghi khối chia thành nhiều phần gọi gói tin Các gói truyền tới datanode thơng qua pipeline Có ba giai đoạn pipeline recovery: + Pipeline setup: máy khách gửi thông báo thiết lập xuống thông qua pipeline Mỗi datanode mở để ghi gửi thông điệp ack ngược lại cho pipeline ... What is HDFS? HDFS – Hadoop Distrbuted File System hệ thống lưu trữ phân tán dùng Hadoop Nó cung cấp truy cập hiệu suất cao đến liệu cụm Apache Hadoop HDFS giúp cho cụm Hadoop mở rộng lên hàng... liệu cụm Hadoop có khả mở rộng cao Bản thân Hadoop khung xử lý phân tán mã nguồn mở quản lý trình xử lý lưu trữ liệu cho ứng dụng liệu lớn HDFS phần quan trọng nhiều công nghệ hệ sinh thái Hadoop. .. Foundation phát hành Apache Hadoop phiên 1.0 Tiếp theo vào 8/2013, Phiên 2.0.6 có sẵn Và tại, có Apache Hadoop phiên 3.0 phát hành gần vào tháng 12 năm 2017 Hadoop vấn đề Big Data Hadoop giải vấn