Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
1,4 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 CHƯƠNG DỊCH VỤ HỆ THỐNG PHÂN BỐ GVHD: TS Nguyễn Thiên Bảo TP Hồ Chí Minh, ngày 24 tháng năm 2022 MỤC LỤC NỘI DUNG Giao tác hệ thống phân tán .3 1.1 Khái niệm 1.2 Các trường hợp xảy giao dịch phân tán 1.3 Hoạt động giao dịch phân tán 1.4 Các giao dịch phân tán cần thiết không cần thiết 1.5 Giao dịch phân tán cho liệu truyền trực tuyến Nhân thống hệ thống phân bố 2.1 Giới thiệu 2.1.1 Vì phải lưu? .7 2.1.2 Thống liệu 2.1.3 Khó khăn 2.2 Các mơ hình lưu hướng liệu 2.2.1 Mơ hình thống liên tục 2.2.2 Mơ hình thống theo thứ tự thao tác 10 Các dịch vụ hệ thống phổ biến 14 3.1 Kiến trúc Hadoop 14 3.2 HDFS (Hadoop Distributed File System) 14 3.3 Map-Reduce .15 3.4 Yarn 17 3.5 Apache Spark .19 3.6 Bảo mật thông tin .24 3.6.1 Khái niệm bảo mật thông tin 24 3.6.2 Bảo mật thông tin doanh nghiệp 24 3.6.3 Bảo mật thông tin app 24 3.6.4 Các loại bảo mật thông tin 26 3.6.5 Mục tiêu nguyên tắc bảo mật thông tin 27 3.6.6 Rủi ro bảo mật thông tin .29 3.6.7 Các giải pháp bảo mật thông tin 31 TÀI LIỆU THAM KHẢO 31 NỘI DUNG Giao tác hệ thống phân tán 1.1 Khái niệm Giao dịch phân tán tập hợp thao tác liệu thực hai nhiều kho liệu (đặc biệt sở liệu) Nó thường điều phối qua nút riêng biệt kết nối mạng, mở rộng nhiều sở liệu máy chủ 1.2 Các trường hợp xảy giao dịch phân tán Có hai kết xảy ra: - Tất hoạt động hồn thành thành cơng - Khơng có hoạt động thực lỗi hệ thống Trong trường hợp thứ hai, số cơng việc hồn thành trước xảy cố, cơng việc đảo ngược để đảm bảo khơng có cơng việc ròng thực Loại hoạt động tn thủ ngun tắc ACID: • Tính ngun tố (Atomicity): toàn thao tác giao tác thực không thao tác chúng thực Một giao tác đơn vị cơng việc khơng thể phân chia • Tính quán (Consistency): giao tác phải chuyển CSDL từ trạng thái quán sang trạng thái qn khác • Tính lập (Isolation): Các giao tác phải thực cách độc lập với Nói cách khác tác động giao tác thấy giao tác khác, giao tác chưa thực xong hồn tồn • Tính bền vững (Durability): thay đổi CSDL tác động giao tác thành công bền vững, không bị ACID thường kết hợp với giao dịch máy chủ sở liệu nhất, giao dịch phân tán mở rộng đảm bảo nhiều sở liệu Hoạt động gọi “cam kết hai giai đoạn” (2PC) dạng giao dịch phân tán “Giao dịch XA” giao dịch sử dụng giao thức XA, giao thức thực hoạt động cam kết hai giai đoạn Hình 1.2 Một giao dịch phân tán trải dài nhiều sở liệu đảm bảo tính toàn vẹn liệu 1.3 Hoạt động giao dịch phân tán Các giao dịch phân tán có yêu cầu hoàn thành xử lý giống giao dịch sở liệu thông thường, chúng phải quản lý nhiều tài nguyên, khiến việc triển khai chúng trở nên khó khăn nhà phát triển sở liệu Nhiều tài nguyên làm tăng thêm nhiều điểm lỗi, chẳng hạn hệ thống phần mềm riêng biệt chạy tài nguyên (ví dụ: phần mềm sở liệu), máy chủ phần cứng bổ sung lỗi mạng Điều làm cho giao dịch phân tán dễ bị thất bại, lý biện pháp bảo vệ phải thực để trì tính tồn vẹn liệu Để giao dịch phân tán xảy ra, người quản lý giao dịch điều phối tài nguyên (nhiều sở liệu nhiều nút sở liệu) Người quản lý giao dịch kho liệu cập nhật phần giao dịch, tài ngun riêng biệt hồn toàn độc lập chịu trách nhiệm điều phối Người quản lý giao dịch định thực giao dịch thành công hay khôi phục giao dịch không thành công, điều giữ nguyên sở liệu Đầu tiên, ứng dụng yêu cầu giao dịch phân tán đến người quản lý giao dịch Người quản lý giao dịch sau phân nhánh đến tài ngun, tài ngun có “trình quản lý tài nguyên” riêng để giúp tham gia vào giao dịch phân tán Các giao dịch phân tán thường thực hai giai đoạn để bảo vệ chống lại cập nhật phần xảy gặp lỗi Giai đoạn liên quan đến việc thừa nhận ý định cam kết, giai đoạn “chuẩn bị để cam kết” Sau tất tài nguyên xác nhận, chúng yêu cầu chạy cam kết cuối sau giao dịch hồn tất Chúng ta xem xét ví dụ xảy lỗi xảy giao dịch phân tán Giả sử nhiều tài nguyên không khả dụng giai đoạn chuẩn bị cam kết Khi hết thời gian yêu cầu, người quản lý giao dịch yêu cầu tài nguyên xóa trạng thái chuẩn bị cam kết tất liệu đặt lại trạng thái ban đầu Thay vào đó, tài nguyên không khả dụng giai đoạn cam kết, người quản lý giao dịch thông báo cho tài nguyên khác cam kết thành cơng phần giao dịch họ để hồn tác "khơi phục" giao dịch lần nữa, liệu trở lại trạng thái ban đầu Sau đó, ứng dụng thử lại giao dịch để đảm bảo hồn tất 1.4 Các giao dịch phân tán cần thiết không cần thiết Các giao dịch phân tán cần thiết bạn cần cập nhật nhanh chóng liệu liên quan trải rộng nhiều sở liệu Ví dụ: bạn có nhiều hệ thống theo dõi thơng tin khách hàng bạn cần thực cập nhật chung (như cập nhật địa gửi thư) tất ghi, giao dịch phân tán đảm bảo tất ghi cập nhật Và xảy lỗi, liệu đặt lại trạng thái ban đầu việc gửi lại giao dịch tùy thuộc vào ứng dụng gốc Trong số môi trường, giao dịch phân tán khơng cần thiết thay vào đó, hoạt động kiểm tra bổ sung thực để đảm bảo tính tồn vẹn liệu tốc độ giao dịch vấn đề Việc chuyển tiền qua ngân hàng ví dụ điển hình Mỗi ngân hàng tham gia chuyển tiền theo dõi trạng thái giao dịch, phát lỗi, trạng thái phần sửa chữa Quá trình hoạt động tốt mà khơng có giao dịch phân tán q trình chuyển khơng phải diễn (gần) thời gian thực Các giao dịch phân tán thường quan trọng tình mà việc cập nhật hoàn chỉnh phải thực 1.5 Giao dịch phân tán cho liệu truyền trực tuyến Các giao dịch phân tán ngày đặc biệt quan trọng mơi trường truyền liệu khối lượng liệu đến Ngay lỗi ngắn hạn tài nguyên thể lượng lớn liệu bị Xử lý dịng tinh vi cơng cụ hỗ trợ xử lý “chính xác lần” giao dịch phân tán bao gồm việc đọc liệu từ nguồn liệu, xử lý ghi liệu tới đích đích (“bồn chứa liệu”) Thuật ngữ "chính xác lần" đề cập đến thực tế điểm liệu xử lý, không bị không bị trùng lặp (Đối lập điều với “nhiều lần” cho phép liệu “ít lần” cho phép chép.) Trong kiến trúc phát trực tuyến xác lần, kho lưu trữ cho nguồn liệu lưu trữ liệu phải có khả để hỗ trợ đảm bảo xác lần Nói cách khác, phải có chức kho lưu trữ cho phép cơng cụ xử lý luồng phục hồi hoàn toàn sau thất bại, điều không thiết phải người quản lý giao dịch thực sự, mang lại kết cuối tương tự Hazelcast Jet ví dụ cơng cụ xử lý luồng cho phép xử lý xác lần với nguồn phần chìm khơng có khả hỗ trợ giao dịch phân tán Điều thực cách quản lý toàn trạng thái điểm liệu đọc lại, xử lý lại / ghi lại điểm liệu đề cập gặp lỗi Logic tích hợp cho phép nhiều loại kho liệu (chẳng hạn Apache Kafka JMS) sử dụng làm nguồn chìm ứng dụng phát trực tuyến quan trọng kinh doanh Nhân thống hệ thống phân bố 2.1 Giới thiệu 2.1.1 Vì phải lưu? Có lý để thực việc lưu: + Để tăng tín tin cậy (tính sẵn sàng) cho hệ thống: Trong trình đọc ghi liệu, liệu bị lỗi hay ngun nhân mà khơng thể dùng được, ta dùng liệu để hệ thống khơng phải dừng lại tránh tình trạng sử dụng liệu khơng xác + Để tăng hiệu hệ thống: Tăng quy mô hệ thống số lượng lẫn phạm vi địa lý Ví dụ: số lượng máy tăng => tải máy hệ phân tán ko tăng lên nhiều hơn, phạm vi địa lý tăng => sử dụng nhân gần khu vực địa lý 2.1.2 Thống liệu Đồng độ sao cho hệ thống đồng liệu: cập nhật tất cịn lại phải cập nhật theo để đảm bảo tính thống liệu => Điều ảnh hưởng lớn đến hiệu hệ thống 2.1.3 Khó khăn Sao lưu kỹ thuật mở rộng sao, tăng hiệu hệ thống chúng giúp làm giảm trễ truy cập Tuy nhiên chúng lại nguyên nhân gây khó khăn cho việc trì tính thống liệu Các phân tán diện rộng , vấn đề đặt xác định đâu cập nhật cách nhanh chóng Nếu xa việc cập nhật update gây tốn đường truyền mạng ( đồng toàn ) mà việc thực lưu nhằm tăng hiệu hệ thống => đồng khơng hợp lý làm giảm hiệu toàn hệ thống Đồng phần tử lan truyền sang phần tử kế bên , việc làm tăng hiệu dẫn đến việc có thời điểm ko giống Trong số trường hợp ta cần phải nới lỏng ràng buộc tính thống dựa trên: + Tần suất truy cập cập nhật liệu + Mục đích sử dụng 2.2 Các mơ hình lưu hướng liệu Đây kiểu mơ hình lưu sử dụng rộng rãi Trong kiểu mơ hình này, người sử dụng truy cập vào kho liệu nhìn thấy thao tác xếp theo mơ hình Điều trái ngược với mơ hình lưu hướng client (mình nói sau) nơi client u cầu mơ hình lưu cụ thể client khác nhìn thấy thao tác theo trật tự khác Kho liệu đọc hay ghi tiến trình hệ phân tán Tuy nhiên liệu ghi vào cục phải đảm bảo truyền tới tất xa Vì nguyên nhân mà mơ hình thống đời, mục đích để giúp ta hiểu rõ chế khác sử dụng để thực phần việc Một mơ hình thống coi hợp đồng kho liệu hệ phân tán với các tiến trình Nếu tiến trình đồng ý với điều khoản hợp đồng kho liệu hoạt động tiến trình mong muốn 2.2.1 Mơ hình thống liên tục Mơ hình hoạt động dựa việc xác định xem việc ko thống chấp nhận dựa vào việc xác định thông tin sau: + Độ lệch số + Độ lệch theo trạng thái + Độ lệch thứ tự lần cập nhật Như hệ thống quy định độ lệch Nếu phiên cập nhật mà độ lệch chưa đạt tới giá trị quy định khác coi thống ko phải thực cập nhật Độ lệch số sao: Thường sử dụng với chương trình có liệu số Có dạng độ lệch là: độ lệch tương đối độ lệch tuyệt đối Có thể xác định số số lượng cập nhật cho Độ lệch trạng thái sao: Liên quan đến thời gian cuối cập nhật Với số ứng dụng chấp nhận liệu cũ , miễn ko cũ Ví dụ: dự báo thời tiết , máy chủ liên tục nhận thông tin thời tiết đồng 30’/lần … Độ lệch thứ tự cập nhật: Thứ tự cập nhật phép khác khác khác giới hạn Khi nhận yêu cầu cập nhật tạm thời cập nhật chờ đồng ý khác q trình cập nhật Như cần có thêm phụ để không nhận đồng ý cập nhật khác quay lại cũ Có thể sau nhiều lần cập nhật tạm thời cập nhật lâu dài => Tóm lại , sử dụng khác nằm giới hạn chấp thuận Nói cách khác cập nhật chờ để xác nhận trước cập nhật lên tất khác => thứ tự cập nhật rắc rối Cách làm cần lưu trữ thêm để quay lại cập nhật không chấp thuận 2.2.2 Mơ hình thống theo thứ tự thao tác Truy cập tương tranh đến tài nguyên chia sẻ Tài nguyên chia sẻ liệu lưu Mạnh mơ hình liên tục Khi thực cập nhật, thứ tự cập nhật thống bảo a Thống chặt Là mơ hình thỏa mãn điều kiện sau: Thao tác đọc mục liệu x trả giá trị tương ứng với kết thao tác ghi gần x Sử dụng khái niệm thời gian tuyệt đối Thời gian tuyệt đối tổng thể cho hệ thống để xác định khái niệm "gần nhất" => Điều khó khả thi với hệ phân tán *Các kí hiệu: Wi(x)a: thao tác ghi thực tiến trình P(i) lên mục liệu x với giá trị a Ri(x)b: thao tác đọc thực tiến trình P(i) lên mục liệu x cho kết b Giá trị khởi tạo liệu NIL (x = null) Do việc lan truyền cục P1 chưa tới P2 nên P2 đọc liệu x giá trị null ban đầu => Mơ hình khơng khả thi b Thống Là mơ hình lỏng lẻo hơn, yếu mơ hình thống chặt Các tiến trình có chuỗi thao tác cục Nó thỏa mãn yêu cầu sau: + Kết thực thao tác đọc ghi tiến trình thực kho liệu cách thao tác tiến trình xuất chuỗi thao tác chương trình Q 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 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 3.5 Apache Spark Apache Spark in-memory clusters ý nhiều doanh nghiệp việc ứng dụng công nghệ vào phân tích xử lý liệu nhanh chóng Bài viết tơi trình bày cách tổng quan Apache Spark, giải pháp đòi hỏi phải có xử lý Big data Apache Spark open source cluster computing framework phát triển sơ khởi vào năm 2009 AMPLab đại học California Sau này, Spark trao cho Apache Software Foundation vào năm 2013 phát triển Nó cho phép xây dựng mơ hình dự đốn nhanh chóng với việc tính tốn thực nhóm máy tính, có tính tốn lúc tồn tập liệu mà khơng cần phải trích xuất mẫu tính tốn thử nghiệm Tốc độ xử lý Spark có việc tính tốn thực lúc nhiều máy khác Đồng thời việc tính tốn thực nhớ (in-memories) hay thực hoàn toàn RAM Thành phần Apache Spark Matei Zaharia, cha đẻ Spark, sử dụng Hadoop từ ngày đầu Đến năm 2009 ông viết Apache Spark để giải toán học máy đại học UC Berkely Hadoop MapReduce hoạt động khơng hiệu cho tốn Rất sớm sau ơng nhận Spark khơng hữu ích cho học máy mà cịn cho việc xử lý luồng liệu hồn chỉnh Thành phần trung Spark Spark Core: cung cấp chức Spark lập lịch cho tác vụ, quản lý nhớ, fault recovery, tương tác với hệ thống lưu trữ…Đặc biệt, Spark Core cung cấp API để định nghĩa RDD (Resilient Distributed DataSet) tập hợp item phân tán node cluster xử lý song song Spark chạy nhiều loại Cluster Managers Hadoop YARN, Apache Mesos cluster manager cung cấp Spark gọi Standalone Scheduler + Spark SQL cho phép truy vấn liệu cấu trúc qua câu lệnh SQL Spark SQL thao tác với nhiều nguồn liệu Hive tables, Parquet, JSON + Spark Streaming cung cấp API để dễ dàng xử lý liệu stream, + MLlib Cung cấp nhiều thuật toán học máy như: classification, regression, clustering, collaborative filtering… + GraphX thư viện để xử lý đồ thị ... Giao tác hệ thống phân tán .3 1.1 Khái niệm 1.2 Các trường hợp xảy giao dịch phân tán 1 .3 Hoạt động giao dịch phân tán 1.4 Các giao dịch phân tán cần thiết... 1.5 Giao dịch phân tán cho liệu truyền trực tuyến Nhân thống hệ thống phân bố 2.1 Giới thiệu 2.1.1 Vì phải lưu? .7 2.1.2 Thống liệu 2.1 .3 Khó khăn... 2.2.1 Mô hình thống liên tục 2.2.2 Mơ hình thống theo thứ tự thao tác 10 Các dịch vụ hệ thống phổ biến 14 3. 1 Kiến trúc Hadoop 14 3. 2 HDFS (Hadoop Distributed