1. Trang chủ
  2. » Tất cả

Chương 3 dịch vụ hệ thống phân bố

15 2 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 15
Dung lượng 821,83 KB

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 TUẦN 6 CHƯƠNG 3 DỊCH VỤ HỆ THỐNG PHÂN BỐ GVHD TS Nguyễn Thiên Bảo TP Hồ Chí Minh, ngày 31 tháng 3 năm 202[.]

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 TUẦN 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 31 tháng năm 2022 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 hoà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 hoà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 tuân thủ nguyên tắc ACID: • Tính ngun tố (Atomicity): tồ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 phân chia • Tính qn (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ị 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 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 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.) 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 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 ngun 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 tồ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 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 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 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 + Khi tiến trình chạy đồng thời máy khác cho phép đan xen thao tác tất tiến trình phải nhận biết đan xen thao tác + Tất tiến trình nhìn thấy thứ tự thao tác ghi o Mơ hình qn o Khơng mơ hình qn c Thống tuyến tính Là mơ hình yếu mơ hình thống chặt mạnh mơ hình thống Mơ hình thỏa mãn điều kiện sau: + Kết thực thao tác (đọc ghi) tất tiến trình lên liệu thực môt cách thao tác tiến trình xuất chuỗi thao tác phải theo thứ tự chương trình d Thống nhân Đây mơ hình lỏng lẻo mơ hình thống Mơ hình phân biệt kiện có quan hệ nhân kiện khơng có quan hệ nhân Mơ hình thống nhân thỏa mãn điều kiện sau: + Một thao tác đọc có quan hệ nhân với thao tác ghi cung cấp liệu cho + Một thao tác ghi có quan hệ nhân với thao tác đọc xảy trước tiến trình e Thống FIFO Thống FIFO cịn gọi qn PRAM Đây mơ hình yếu mơ hình bỏ qua giới hạn trật tự thao tác đồng thời Mơ hình thỏa mãn điều kiện: + Các thao tác ghi tiến trình đơn phải tất tiến trình khác nhìn thấy theo trật tự mà chúng đề + Nhưng thao tác ghi nhiều tiến trình khác thấy theo trật tự khác tiến trình khác f Thống yếu Mơ hình không tập trung vào thao tác liệu mà chúng quan tâm đến trật tự nhóm lệnh việc sử dụng biến đồng Mô hình có ba đặc tính sau: + Việc truy cập đến biến đồng hóa kết hợp với kho liệu thống + Khơng có thao tác lên biến đồng hóa phép thực tất thao tác ghi trước hồn thành nơi + Khơng có thao tác đọc hay ghi liệu lên mục liệu phép thực tất thao tác trước lên biến đồng hóa thực o Mơ hình qn yếu o Khơng mơ hình qn yếu g Thống (Release consistency) Sử dụng thêm hai lệnh: + Lệnh acquired: để báo muốn vào vùng tới hạn (critial region) + Lệnh release: để báo giải phóng vùng tới hạn Điều kiện thỏa mãn: + Trước thực thao tác đọc hay ghi lên liệu chia sẻ tất thao tác acquire tiến trình thực trước phải hồn tất + Trước thao tác release phép thực tất thao tác đọc ghi tiến trình thực trước phải hồn tất + Truy cập vào biến đồng hóa quán FIFO (Không yêu cầu quán tuần tự) h Thống vào (Entry consistency) Giống mơ hình thống ra, mơ hình thống vào sử dụng hai lệnh acquired release muốn sử dụng vào vùng tới hạn Điều kiện sau: +Một thao tác acquire để truy cập vào biến đồng hóa khơng phép thực tiến trình tất cập nhật lên mục liệu tiến trình thực + Trước truy cập chế độ dành riêng tiến trình tới biến đồng hóa phép thực khơng tiến trình khác cịn giữ biến đồng hóa, chế độ khơng dành riêng khơng cần u cầu + Sau truy cập chế độ dành riêng lên biến đồng hóa thực truy cập tiến trình khác chế độ không dành riêng lên biến khơng thực chủ nhân biến đồng thực xong việc truy cập 3.1 Kiến trúc Hadoop Hadoop có cấu trúc liên kết master-slave Trong cấu trúc này, có node master nhiều node slave Chức node master gán tác vụ cho node slave khác quản lý tài nguyên Các node slave máy tính thực tế khơng mạnh Các node slave lưu trữ liệu thực master có metadata Kiến trúc Hadoop gồm có ba lớp + HDFS (Hadoop Distributed File System) + Map-Reduce + Yarn 3.2 HDFS (Hadoop Distributed File System) Là hệ thống file phân tán, cung cấp khả lưu trữ liệu khổng lồ tính tối ưu hố việc sử dụng băng thơng node HDFS sử dụng để chạy cluster lớn với hàng chục ngàn node Cho phép truy xuất nhiều ổ đĩa ổ đĩa Nói cách khác, sử dụng ổ đĩa mà gần không bị giới hạn dung lượng Muốn tăng dung lượng cần thêm node (máy tính) vào hệ thống Có kiến trúc Master-Slave + NameNode chạy máy chủ Master, có tác vụ quản lý Namespace điều chỉnh truy cập tệp client + DataNode chạy nút Slave có tác vụ lưu trữ business data thực tế + Một tập tin với định dạng HDFS chia thành nhiều block block lưu trữ tập DataNodes + Kích thước block thơng thường 64MB, kích thước thay đổi việc cấu hình 3.3 Map-Reduce Map-Reduce framework dùng để viết ứng dụng xử lý song song lượng lớn liệu có khả chịu lỗi cao xuyên suốt hàng ngàn cluster(cụm) máy tính Map-Reduce thực chức Map Reduce + Map: Sẽ thực đầu tiên, có chức tải, phân tích liệu đầu vào chuyển đổi thành tập liệu theo cặp key/value + Reduce: Sẽ nhận kết đầu từ tác vụ Map, kết hợp liệu lại với thành tập liệu nhỏ Để dễ hiểu hơn, xem ví dụ WordCount sau WordCount toán đếm tần suất xuất từ đoạn văn Và mơ tả q trình xử lý tốn Map-Redue Đối với hàm Map: + Input đoạn văn +Output cặp Hàm Map thực song song để xử lý tập liệu khác Đối Với hàm Reduce: + Input có dạng , list tập hợp giá trị đếm từ +Output: Hàm Reduce chạy song song để xử lý tập từ khố khác Giữa hàm Map Reduce có giai đoạn xử lý trung gian gọi hàm Shuffle Hàm có nhiệm vụ xếp từ tổng hợp liệu đầu vào cho Reduce từ kết đầu hàm Map 3.4 Yarn 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 toán tài nguyên 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 DEMO CÀI HỆ THỐNG HADOOP: Start-all.sh Kiểm tra jps Kiểm tra máy slave hoạt động: ... khơng có khả hỗ trợ giao dịch phân tá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? 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... dùng liệu để hệ thống 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... 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

Ngày đăng: 24/02/2023, 10:58

w