Tìm hiểu, thử nghiệm về apache mesos

23 266 4
Tìm hiểu, thử nghiệm về apache mesos

Đ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

Tìm hiểu, thử nghiệm về apache mesos

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ BÁO CÁO BÀI TẬP LỚN Đề tài: Tìm hiểu, thử nghiệm Apache Mesos Ngành: Công nghệ thông tin Chun ngành: An tồn thơng tin Người hướng dẫn: Gv Bùi Việt Thắng Học viện Kỹ thuật mật mã Hà Nội, 2018 NHẬN XÉT i MỤC LỤC Danh mục hình vẽ iii Chương Tổng quan điện toán đám mây .1 1.1 Giới thiệu chung 1.2 Các thành phần điện toán đám mây 1.3 Các tầng kiến trúc điện toán đám mây 1.4 Mơ hình dịch vụ điện tốn đám mây .4 1.4.1 Phần mềm hoạt động dịch vụ (SaaS – Software as a Service) 1.4.2 Nền tảng hướng dịch vụ (PaaS – Platform as a Service) 1.4.3 Hạ tầng hướng dịch vụ (Iaas – Infrastructure as a Service) .5 1.4.4 Một số mơ hình dịch vụ khác .6 1.5 Các mơ hình triển khai điện tốn đám mây .7 1.6 Một số nhà cung cấp dịch vụ Chương Tổng quan Apache Mesos .9 2.1 Giới thiệu 2.2 Kiến trúc 11 2.3 Tính Mesos 13 2.4 Dịch vụ chạy dài 13 2.5 Xử lí liệu lớn 14 2.6 Lập lịch biểu hàng loạt 14 2.7 Lưu trữ liệu 15 Chương Demo thực nghiệm 16 Kết luận 17 Tài liệu tham khảo 18 ii DANH MỤC HÌNH VẼ Hình 1.1 Tổng quan điện tốn đám mây Hinh 1.2 Thành phần điện toán đám mây Hình 1.3 Kiến trúc điện tốn đám mây Hình 1.4 Mơ hình dịch vụ điện tốn đám mây Hình 1.5 Mơ hình hoạt động phần mềm dịch vụ .4 Hình 1.6 Nền tảng hướng dịch vụ .5 Hình 1.7 Hạ tầng hướng dịch vụ Hình 1.8 Nhà cung cấp Iaas Hình 1.9 Nhà cung cấp PaaS .8 Hình 1.10 Nhà cung cấp SaaS Hình 2.1 Node trừu tượng Apache Mesos 10 Hình 2.2 Chia sẻ tài nguyên toàn cụm làm tăng thông lượng sử dụng 11 Hình 2.3 Sơ đồ kiến trúc Mesos, hiển thị hai khung công tác chạy (Hadoop MPI) 12 Hình 2.4 Lập lịch khung Mesos 12 iii CHƯƠNG TỔNG QUAN VỀ ĐIỆN TOÁN ĐÁM MÂY 1.1 Giới thiệu chung Điện tốn đám mây (Cloud computing), gọi điện tốn máy chủ ảo, mơ hình tính tốn sử dụng cơng nghệ máy tính phát triển dựa vào mạng Internet Thuật ngữ "cloud computing" đời năm 2007 khơng phải để nói trào lưu mới, mà để khái quát lại hướng phát triển sở hạ tầng CNTT vốn diễn từ năm qua Quan niệm diễn giải cách đơn giản: nguồn tính tốn khổng lồ phần cứng (máy chủ), phần mềm, dịch vụ (chương trình ứng dụng), … nằm máy chủ ảo (đám mây) Internet thay máy tính gia đình văn phòng (trên mặt đất) để người kết nối sử dụng họ cần Nói cách khác, mơ hình tính tốn này, khả liên quan đến công nghệ thông tin cung cấp dạng "dịch vụ", cho phép người sử dụng truy cập dịch vụ công nghệ thông tin từ nhà cung cấp "trong đám mây" mà khơng cần phải biết cơng nghệ đó, không cần quan tâm đến sở hạ tầng phục vụ cơng nghệ Theo tổ chức Xã hội máy tính IEEE, “Điện tốn đám mây hình mẫu thơng tin lưu trữ thường trực máy chủ Internet được lưu trữ tạm thời máy khách, bao gồm máy tính cá nhân, trung tâm giải trí, máy tính doanh nghiệp, phương tiện máy tính cầm tay, …" Hình 1.1 Tổng quan điện tốn đám mây Điện toán đám mây xuất bắt nguồn từ ứng dụng điện toán lưới (grid computing) thập niên 1980, điện toán theo nhu cầu (utility computing) phần mềm dịch vụ (SaaS) 1.2 Các thành phần điện tốn đám mây Điện tốn đám mây chuyển đổi chương trình ứng dụng diện rộng theo kiến trúc phân phối dịch vụ Hinh 1.2 Thành phần điện toán đám mây  Cơ sở hạ tầng (Infrastructure)  Lưu trữ đám mây (Cloud Storage)  Nền tảng đám mây (Cloud Platform)  Ứng dụng (Application)  Dịch vụ (Services)  Khách hàng (Client) 1.3 Các tầng kiến trúc điện toán đám mây Điện toán đám mây cung cấp dịch vụ tất tầng, từ phần cứng tới phần mềm Kiến trúc Sun đề xuất gồm tầng:  Các máy chủ thực (Physical Servers)  Các máy chủ ảo (Virtual Servers)  Hệ điều hành (Operating System)  Phần mềm trung gian (Middleware)  Các chương trình ứng dụng (Applications)  Các dịch vụ (Servers) Kiến trúc tài liệu Microsoft chia thành nhiều tầng sau: Hình 1.3 Kiến trúc điện tốn đám mây Các dịch vụ chia thành lớp chính: Phần mềm dịch vụ (software as a service), dịch vụ (platform as a service), sở hạ tầng dịch vụ (infrastructure as a service) Các lớp tập hợp thành tầng kiến trúc khác nhau, chồng chéo, gối 1.4 Mơ hình dịch vụ điện tốn đám mây Hình 1.4 Mơ hình dịch vụ điện tốn đám mây 1.4.1 Phần mềm hoạt động dịch vụ (SaaS – Software as a Service) Phần mềm hoạt động hướng dịch vụ gọi tắt Phần mềm dịch vụ, mơ hình triển khai phần mềm, nhánh điện tốn đám mây, theo nhà cung cấp phần mềm dịch vụ theo yêu cầu cho khách hàng Theo định nghĩa hãng nghiên cứu toàn cầu IDC là: "phần mềm hoạt động web, quản lý nhà cung cấp cho phép người sử dụng truy cập từ xa" Hình 1.5 Mơ hình hoạt động phần mềm dịch vụ 1.4.2 Nền tảng hướng dịch vụ (PaaS – Platform as a Service) Đây biến thể SaaS mô hình nhánh điê ̣n tốn đám mây (cloud computing), mang đến môi trường phát triển dịch vụ: người sử dụng xây dựng ứng dụng chạy sở hạ tầng nhà cung cấp phân phối tới người sử dụng thông qua máy chủ nhà cung cấp Người sử dụng khơng hồn tồn bị ràng buộc mặt thiết kế cơng nghệ Một số ví dụ điển hình PaaS Force.com Salesforce.com, Google App Engine, Yahoo Pipes … Hình 1.6 Nền tảng hướng dịch vụ 1.4.3 Hạ tầng hướng dịch vụ (Iaas – Infrastructure as a Service) Infrastructure as a service (IaaS) Là tầng thấp ĐTĐM, nơi tập hợp tài sản vật lý phần cứng máy chủ, hệ thống lưu trữ thiết bị mạng, chia cung cấp dạng dịch vụ IaaS cho tổ chức hay doanh nghiệp khác Cũng giống dịch vụ PaaS, ảo hóa cơng nghệ sử dụng rộng rãi để tạo chế chia phân phối nguồn tài nguyên theo yêu cầu Ví dụ dịch vụ IaaS IBM BlueHouse, Vmware, Amazon EC2, Microsoft Azure Platform, Sun Parascale Cloud Storage… Hình 1.7 Hạ tầng hướng dịch vụ 1.4.4 Một số mơ hình dịch vụ khác Network as a service (NaaS) – Mạng lưới dịch vụ Storage as a service (STaaS) – Lưu trữ dịch vụ Cung cấp không gian lưu trữ trực tuyến trả tiền theo nhu cầu, Google Drive, Amazon S3, Fshare, Dropbox, … Security as a service (SECaaS) – Bảo mật dịch vụ Cung cấp giải pháp bảo mật trực tuyến trả tiền theo nhu cầu, McAfee, Trend Micro, … Data as a service (DaaS) – Dữ liệu dịch vụ Cung cấp liệu (chỉ đọc) trả tiền theo nhu cầu thông qua APIs, Google Maps, Bing Maps, Amazon Public Data Sets (dữ liệu khoa học trái đất NASA, gồm thời tiết đồ, liệu biến đổi di truyền người, liệu nhân học – điều tra dân số Hoa Kỳ), Freebase (dữ liệu kiện khẳng định lớn giới) Desktop as a service (DaaS) – Desktop dịch vụ Cung cấp môi trường desktop ảo qua web thin client, VMWare Horizon DaaS Database as a service (DBaaS) – Cơ sở liệu dịch vụ Cung cấp CSDL trả tiền theo nhu cầu, MongoDB, Oracle, … Test environment as a service (TEaaS) – Môi trường kiểm tra dịch vụ Sauce Labs, Perfect Mobile, API as a service (APIaaS) – Giao diện lập trình ứng dụng (Application Programming Interface) dịch vụ Là tảng cho phép tạo host APIs (REST, XML, Web Services), PhantomJs.Cloud, … Backend as a service (BaaS) Back-end (phần dành cho người quản trị) dịch vụ Backendless, Telerik Backend Services, Parse, … Integrated development environment as a service (IDEaaS) – Mơi trường phát triển tích hợp dịch vụ Integration platform as a service (IPaaS), see Cloud-based integration – Nền tảng tích hợp dịch vụ, xem thêm … 1.5 Các mơ hình triển khai điện tốn đám mây Đám mây công cộng (Public cloud): bên thứ (người bán) cung cấp Tồn tường lửu công ty nhà cung cấp quản lý Đám mây cộng đồng (Community cloud): chia số tổ chức hỗ trợ cộng đồng cụ thể có mối quan tâm chung Nó quản lý tổ chức bên thứ ba Đám mây riêng (Private cloud): sở hữu cá nhân tổ chức Những đám mây tồn bên tường lửa công ty chúng doanh nghiệp quản lý Đám mây lai (Hybird cloud): kết hợp Public cloud Private cloud 1.6 Một số nhà cung cấp dịch vụ Nhà cung cấp Iaas Hình 1.8 Nhà cung cấp Iaas Nhà cung cấp PaaS Hình 1.9 Nhà cung cấp PaaS Nhà cung cấp SaaS Hình 1.10 Nhà cung cấp SaaS CHƯƠNG TỔNG QUAN VỀ APACHE MESOS 2.1 Giới thiệu Apache Mesos trình quản lý cụm cung cấp tách biệt chia sẻ tài nguyên hiệu ứng dụng khung phân tán Mesos phần mềm nguồn mở ban đầu phát triển Đại học California Berkeley Nó nằm lớp ứng dụng hệ điều hành, giúp dễ dàng triển khai quản lý ứng dụng môi trường nhóm có quy mơ lớn hiệu Nó chạy nhiều ứng dụng nhóm nút chia sẻ động Người dùng bật Mesos bao gồm Twitter , Airbnb, MediaCrossing, Xogito Categorize Mesos tận dụng tính hạt nhân đại - "cgroups" Linux, "vùng" Solaris - để cung cấp cô lập cho CPU, nhớ, I / O, hệ thống tệp, vị trí giá, v.v Ý tưởng lớn tạo sưu tập lớn nguồn tài nguyên không đồng Mesos giới thiệu chế lập kế hoạch hai cấp phân tán gọi cung cấp tài nguyên Mesos định có tài nguyên để cung cấp khung công tác, khung công tác định tài ngun cần chấp nhận tính tốn để chạy chúng Nó lớp chia sẻ tài nguyên mỏng cho phép chia sẻ hạt mịn nhiều khung cơng tác tính tốn cụm, cách cho khung công tác giao diện chung để truy cập tài nguyên cụm Ý tưởng triển khai nhiều hệ thống phân tán cho nhóm nút chung để tăng sử dụng tài nguyên Rất nhiều khối lượng cơng việc khung cơng tác đại chạy Mesos 10 Hình 2.1 Node trừu tượng Apache Mesos Theo cách tương tự hệ điều hành PC quản lý truy cập vào tài nguyên máy tính để bàn, Mesos đảm bảo ứng dụng có quyền truy cập vào tài nguyên mà chúng cần cụm Thay thiết lập nhiều cụm máy chủ cho phần khác ứng dụng, Mesos cho phép bạn chia sẻ nhóm máy chủ chạy phần khác ứng dụng mà không can thiệp vào với khả phân bổ động tài nguyên cụm cần thiết Điều có nghĩa là, dễ dàng chuyển đổi tài nguyên khỏi framework (ví dụ: thực phân tích liệu lớn) phân bổ chúng cho framework (ví dụ: máy chủ web), có lưu lượng mạng lớn 11 Hình 2.2 Chia sẻ tài ngun tồn cụm làm tăng thơng lượng sử dụng Mesos trung tâm liệu hạt nhân - có nghĩa phần mềm thực cô lập khối lượng công việc chạy từ khác Nó cần thêm cơng cụ kỹ sư có khối lượng cơng việc họ chạy hệ thống quản lý cơng việc thực chạy Nếu khơng, số khối lượng cơng việc tiêu thụ tất nguồn lực, khối lượng công việc quan trọng bị đụng khối lượng cơng việc quan trọng điều xảy để đòi hỏi nhiều resources Hence Mesos cần nhiều kernel-scheduler Chronos, thay cho cron tự động khởi động dừng dịch vụ (và xử lý lỗi) chạy đỉnh Mesos Phần lại Mesos Marathon cung cấp API để bắt đầu, dừng mở rộng dịch vụ (và Chronos dịch vụ đó) 2.2 Kiến trúc Mesos bao gồm quy trình tổng thể quản lý daemon nô lệ chạy nút cụm khung công tác chạy nhiệm vụ nô lệ Thạc sĩ thực chia sẻ chi tiết khung công tác cách sử dụng phiếu mua hàng tài nguyên Mỗi nguồn cung cấp tài nguyên danh sách tài nguyên miễn phí nhiều nô lệ Thạc sĩ định số lượng tài nguyên cung cấp cho khung theo sách tổ chức, chẳng hạn chia sẻ công ưu tiên Để hỗ trợ loạt sách phân bổ liên ngành, Mesos cho phép tổ chức xác định sách riêng họ thơng qua mơ-đun phân bổ cắm 12 Hình 2.3 Sơ đồ kiến trúc Mesos, hiển thị hai khung công tác chạy (Hadoop MPI) Mỗi khung chạy Mesos bao gồm hai thành phần: lập lịch đăng ký với chủ để cung cấp tài nguyên, trình thực khởi chạy nút nô lệ để chạy nhiệm vụ khung cơng tác Trong tổng thể xác định có tài nguyên để cung cấp cho khung cơng tác, lập lịch khung cơng tác chọn tài nguyên cung cấp để sử dụng Khi khung công tác chấp nhận tài nguyên cung cấp, truyền cho Mesos mơ tả nhiệm vụ mà muốn khởi chạy chúng Hình 2.4 Lập lịch khung Mesos 13 Hình cho thấy ví dụ cách khung lên lịch để chạy tác vụ Trong bước một, slave báo cáo cho chủ có CPU GB nhớ miễn phí Sau đó, thầy gọi mô-đun phân bổ, cho biết khung nên cung cấp tất tài nguyên có sẵn Trong bước hai, master gửi nguồn cung cấp tài nguyên mô tả tài nguyên cho khung cơng tác Trong bước ba, trình lên lịch khung công tác trả lời chủ với thông tin hai nhiệm vụ chạy nô lệ, sử dụng CPU; RAM GB cho nhiệm vụ CPU; RAM GB cho nhiệm vụ thứ hai Cuối cùng, bước bốn, master gửi nhiệm vụ tới slave, phân bổ tài nguyên thích hợp cho trình thực khung cơng tác, mà khởi chạy hai nhiệm vụ (được mô tả với đường viền chấm chấm) Bởi CPU GB RAM miễn phí Trong giao diện mỏng cung cấp Mesos cho phép mở rộng quy mô cho phép khuôn khổ phát triển độc lập Một khuôn khổ từ chối đề nghị không đáp ứng ràng buộc chấp nhận đề xuất Đặc biệt, chúng tơi phát sách đơn giản gọi lập lịch trễ, khung chờ đợi thời gian giới hạn để thu nút lưu trữ liệu đầu vào, mang lại gần vị trí liệu tối ưu 2.3 Tính Mesos  Chủ nhân nhân có khả chịu lỗi cách sử dụng ZooKeeper  Khả mở rộng cho hàng ngàn nút  Cách ly tác vụ với vùng chứa Linux  Lập lịch đa tài nguyên (bộ nhớ nhận biết CPU)  Các API Java, Python C ++ để phát triển ứng dụng song song  Giao diện người dùng web để xem trạng thái cụm  Có số dự án phần mềm xây dựng Apache Mesos 2.4 Dịch vụ chạy dài Aurora lập lịch dịch vụ chạy đỉnh Mesos, cho phép bạn chạy dịch vụ chạy dài tận dụng khả mở rộng Mesos, khả chịu lỗi cách ly tài nguyên Marathon PaaS riêng xây dựng Mesos Nó tự động xử lý lỗi phần cứng phần mềm đảm bảo ứng dụng "luôn bật" 14 Singularity lập lịch (HTTP API giao diện web) để chạy tác vụ Mesos: quy trình chạy dài, nhiệm vụ lần cơng việc theo lịch trình SSSP ứng dụng web đơn giản cung cấp nhãn "Megaupload" màu trắng để lưu trữ chia sẻ tệp S3 2.5 Xử lí liệu lớn Cray Chapel ngơn ngữ lập trình song song hiệu Trình lên lịch cho chương trình Chapel Mesos cho phép bạn chạy chương trình Chapel Mesos Dpark Python Spark, khung công tác giống MapReduce viết Python, chạy Mesos Exelixi khung phân phối để chạy thuật tốn di truyền quy mơ lớn Hadoop: Việc chạy Hadoop Mesos phân phối công việc MapReduce hiệu toàn cụm Hama khung cơng tác tính tốn phân tán dựa kỹ thuật tính tốn song song đồng hàng loạt cho phép tính khoa học khổng lồ Ví dụ: ma trận, đồ thị thuật toán mạng MPI hệ thống truyền thông điệp thiết kế để hoạt động nhiều máy tính song song Spark hệ thống tính tốn cụm nhanh có mục đích chung, giúp việc viết song song trở nên dễ dàng Storm hệ thống tính tốn thời gian thực phân phối Storm giúp việc xử lý luồng liệu không bị ràng buộc cách đáng tin cậy, làm cho xử lý thời gian thực Hadoop thực để xử lý theo lô 2.6 Lập lịch biểu hàng loạt Chronos công cụ lên lịch phân tán hỗ trợ cấu trúc liên kết cơng việc phức tạp Nó sử dụng thay chịu lỗi cho cron Jenkins máy chủ tích hợp liên tục Plugin mesos-jenkins cho phép khởi động động cơng nhân cụm Mesos tùy thuộc vào khối lượng công việc JobServer công cụ lên lịch xử lý công việc phân tán cho phép nhà phát triển xây dựng Tasklets xử lý hàng loạt tùy chỉnh cách sử dụng điểm nhấp vào giao diện người dùng web 15 Mơ-men xoắn trình quản lý tài nguyên phân tán cung cấp quyền kiểm sốt cơng việc theo lơ nút tính toán phân tán 2.7 Lưu trữ liệu Cassandra sở liệu phân tán cao Khả mở rộng tuyến tính khả chịu lỗi chứng minh sở hạ tầng phần cứng đám mây làm cho tảng hoàn hảo cho liệu quan trọng sứ mệnh ElasticSearch cơng cụ tìm kiếm phân tán Mesos giúp dễ dàng chạy mở rộng quy mô Hypertable hệ thống lưu trữ xử lý phân tán hiệu suất cao, có khả mở rộng cho liệu có cấu trúc khơng có cấu trúc 16 CHƯƠNG DEMO THỰC NGHIỆM 17 KẾT LUẬN Mesos, lớp quản lý mỏng cho phép khn khổ máy tính cụm đa dạng chia sẻ tài nguyên cách hiệu Mesos xây dựng xung quanh hai yếu tố: mơ hình chia sẻ chi tiết nhiệm vụ cấp độ chế lập lịch phân phối gọi cung cấp nguồn cấp liệu cho phép đại biểu lên kế hoạch cho khung hình Cùng với nhau, yếu tố cho phép Mesos đạt mức sử dụng cao, phản ứng nhanh chóng với thay đổi khối lượng cơng việc phục vụ cho khuôn khổ đa dạng trì khả mở rộng Mesos cho phép phát triển khung chuyên ngành hỗ trợ lợi ích hiệu suất lớn, chẳng hạn Spark thiết kế đơn giản Mesos cho phép hệ thống bị lỗi chiếm đến 50.000 nút 18 TÀI LIỆU THAM KHẢO [1] Apache Hadoop.http: //hadoop.apache.org [2] Apache ZooKeeper.hadoop.apache.org/zookeeper [3] Linux 2.6.33 release notes.http://kernelnewbies.org/Linux_2_6_33 19 ... cung cấp SaaS CHƯƠNG TỔNG QUAN VỀ APACHE MESOS 2.1 Giới thiệu Apache Mesos trình quản lý cụm cung cấp tách biệt chia sẻ tài nguyên hiệu ứng dụng khung phân tán Mesos phần mềm nguồn mở ban đầu... Spark thiết kế đơn giản Mesos cho phép hệ thống bị lỗi chiếm đến 50.000 nút 18 TÀI LIỆU THAM KHẢO [1] Apache Hadoop.http: //hadoop .apache. org [2] Apache ZooKeeper.hadoop .apache. org/zookeeper [3]... Có số dự án phần mềm xây dựng Apache Mesos 2.4 Dịch vụ chạy dài Aurora lập lịch dịch vụ chạy đỉnh Mesos, cho phép bạn chạy dịch vụ chạy dài tận dụng khả mở rộng Mesos, khả chịu lỗi cách ly tài

Ngày đăng: 06/06/2019, 10:15

Từ khóa liên quan

Mục lục

  • Nhận xét

  • Mục lục

  • Danh mục hình vẽ

  • Chương 1. Tổng quan về điện toán đám mây

    • 1.1. Giới thiệu chung

    • 1.2. Các thành phần của điện toán đám mây

    • 1.3. Các tầng kiến trúc của điện toán đám mây

    • 1.4. Mô hình dịch vụ trong điện toán đám mây

      • 1.4.1. Phần mềm hoạt động như dịch vụ (SaaS – Software as a Service)

      • 1.4.2. Nền tảng hướng một dịch vụ (PaaS – Platform as a Service)

      • 1.4.3. Hạ tầng hướng dịch vụ (Iaas – Infrastructure as a Service)

      • 1.4.4. Một số mô hình dịch vụ khác

      • 1.5. Các mô hình triển khai điện toán đám mây

      • 1.6. Một số nhà cung cấp dịch vụ

      • Chương 2. Tổng quan về Apache Mesos

        • 2.1. Giới thiệu

        • 2.2. Kiến trúc

        • 2.3. Tính năng Mesos

        • 2.4. Dịch vụ chạy dài

        • 2.5. Xử lí dữ liệu lớn

        • 2.6. Lập lịch biểu hàng loạt

        • 2.7. Lưu trữ dữ liệu

        • Chương 3. Demo thực nghiệm

Tài liệu cùng người dùng

Tài liệu liên quan