Tìm hiểu về hadoop hdfs (nguyên lý hệ điều hành)

14 12 0
Tìm hiểu về hadoop hdfs (nguyên lý hệ điều hành)

Đ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

1 Giới thiệu 3 2 KiếntrúcHDFS 4 2.1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Giảđịnhvàmụctiêu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3 NameNodevàDataNode . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.4 Khônggiantênhệthốngtệp. . . . . . . . . . . . . . . . . . . . . . . . 6 2.5 Saochépdữliệu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.6 Tổchứcdữliệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3 DemoHDFS 11 3.1 Môtảbài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2 demobài toánsửdụnghadoop . . . . . . . . . . . . . . . . . . . . . . 11

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ - ĐHQGHN KHOA CÔNG NGHỆ THƠNG TIN Hadoop - HDFS Tên mơn học: Ngun lý hệ điều hành Mã học phần: INT2214 Sinh viên thực hiện: Lê Bá Trường - 21020416 Đỗ Minh Sáng - 21020717 Giảng viên: Nguyễn Thị Hậu Tháng 11 Năm 2023 Mục lục Giới thiệu Kiến trúc HDFS 2.1 Giới thiệu 2.2 Giả định mục tiêu 2.3 NameNode DataNode 2.4 Không gian tên hệ thống 2.5 Sao chép liệu 2.6 Tổ chức liệu 4 Demo HDFS 3.1 Mô tả toán 3.2 demo toán sử dụng hadoop 11 11 11 tệp Chương Giới thiệu Hadoop framework nguồn mở cho phát triển ứng dụng phân tán với liệu lớn Hadoop gồm có HDFS, Map-Reduce Yarn HDFS hệ thống file phân tán với kiến trúc master-slave, NameNode làm nhiệm vụ quản lý không gian file DataNode lưu trữ liệu HDFS sử dụng cấu trúc data block có khả chép liệu để đảm bảo tính tin cậy Chương Kiến trúc HDFS 2.1 Giới thiệu Hệ thống tệp phân tán Hadoop ( HDFS ) hệ thống tệp phân tán thiết kế để chạy phần cứng thơng thường Nó có nhiều điểm tương đồng với hệ thống tập tin phân tán có Tuy nhiên, khác biệt so với hệ thống tệp phân tán khác đáng kể HDFS có khả chịu lỗi cao thiết kế để triển khai phần cứng giá rẻ HDFS cung cấp quyền truy cập thông lượng cao vào liệu ứng dụng phù hợp với ứng dụng có tập liệu lớn HDFS nới lỏng số yêu cầu POSIX phép truy cập trực tuyến vào liệu hệ thống tệp HDFS ban đầu xây dựng làm sở hạ tầng cho dự án cơng cụ tìm kiếm web Apache Nutch HDFS dự án Apache Hadoop URL dự án https://hadoop.apache.org/hdfs/ 2.2 Giả định mục tiêu Lỗi phần cứng Lỗi phần cứng chuyện bình thường khơng phải ngoại lệ Một phiên HDFS bao gồm hàng trăm hàng nghìn máy chủ, máy lưu trữ phần liệu hệ thống tệp Thực tế có số lượng lớn thành phần thành phần có xác suất lỗi khơng nhỏ có nghĩa số thành phần HDFS ln khơng hoạt động Do đó, việc phát lỗi phục hồi nhanh chóng, tự động từ chúng mục tiêu kiến trúc cốt lõi HDFS Truy cập liệu trực tuyến Các ứng dụng chạy HDFS cần có quyền truy cập trực tuyến vào tập liệu chúng Chúng ứng dụng có mục đích chung thường chạy hệ thống tệp có mục đích chung HDFS thiết kế nhiều để xử lý hàng loạt sử dụng tương tác người dùng Trọng tâm thơng lượng truy cập liệu cao thay độ trễ truy cập liệu thấp POSIX áp đặt nhiều yêu cầu cứng không cần thiết ứng dụng nhắm mục tiêu cho HDFS Ngữ nghĩa POSIX số lĩnh vực giao dịch để tăng tốc độ thông lượng liệu Tập liệu lớn Các ứng dụng chạy HDFS có tập liệu lớn Một tệp điển hình HDFS có kích thước từ gigabyte đến terabyte Do đó, HDFS điều chỉnh để hỗ trợ tệp lớn Nó cung cấp băng thơng liệu tổng hợp cao có quy mơ tới hàng trăm nút cụm Nó hỗ trợ hàng chục triệu tệp phiên Mơ hình mạch lạc đơn giản Các ứng dụng HDFS cần mơ hình truy cập ghi lần đọc nhiều lần cho tệp Một tập tin sau tạo, ghi đóng khơng cần phải thay đổi Giả định đơn giản hóa vấn đề tính quán liệu cho phép truy cập liệu thông lượng cao Ứng dụng MapReduce ứng dụng thu thập liệu web hoàn tồn phù hợp với mơ hình Có kế hoạch hỗ trợ thêm tính ghi vào tệp tương lai “Di chuyển tính tốn rẻ di chuyển liệu” Tính tốn mà ứng dụng u cầu hiệu nhiều thực thi gần liệu mà vận hành Điều đặc biệt kích thước tập liệu lớn Điều giảm thiểu tắc nghẽn mạng tăng thông lượng tổng thể hệ thống Giả định việc di chuyển tính tốn đến gần nơi chứa liệu thường tốt thay di chuyển liệu đến nơi ứng dụng chạy HDFS cung cấp giao diện để ứng dụng tự di chuyển đến gần nơi chứa liệu Tính di động tảng phần cứng phần mềm không đồng HDFS thiết kế để dễ dàng di chuyển từ tảng sang tảng khác Điều tạo điều kiện cho việc áp dụng rộng rãi HDFS tảng lựa chọn cho lượng lớn ứng dụng 2.3 NameNode DataNode HDFS có kiến trúc chủ/nô lệ 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ố DataNode, thường DataNode cho nút cụm, quản lý nhớ gắn liền với nút mà chúng chạy HDFS hiển thị 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 DataNodes 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 việc ánh xạ khối tới DataNodes DataNodes chịu trách nhiệm phục vụ yêu cầu đọc ghi từ máy khách hệ thống tệp DataNode thực việc tạo, xóa chép khối theo hướng dẫn từ NameNode Hình 2.1: Kiến trúc HDFS NameNode DataNode phần mềm thiết kế để chạy máy thông dụng Những máy thường chạy hệ điều hành GNU/Linux ( OS ) HDFS xây dựng ngôn ngữ Java; máy hỗ trợ Java chạy phần mềm NameNode DataNode Việc sử dụng ngơn ngữ Java có tính di động cao có nghĩa HDFS triển khai nhiều loại máy Một triển khai thơng thường có máy chuyên dụng chạy phần mềm NameNode Mỗi máy khác cụm chạy phiên phần mềm DataNode Kiến trúc không loại trừ việc chạy nhiều DataNode máy triển khai thực tế xảy trường hợp Sự tồn NameNode cụm giúp đơn giản hóa nhiều kiến trúc hệ thống NameNode trọng tài kho lưu trữ cho tất siêu liệu HDFS Hệ thống thiết kế theo cách mà liệu người dùng không chảy qua NameNode 2.4 Không gian tên hệ thống tệp HDFS hỗ trợ tổ chức tệp phân cấp truyền thống Người dùng ứng dụng tạo thư mục lưu trữ tệp bên thư mục Hệ thống phân cấp không gian tên hệ thống tệp tương tự hầu hết hệ thống tệp có khác; người ta tạo xóa tệp, di chuyển tệp từ thư mục sang thư mục khác đổi tên tệp HDFS chưa triển khai hạn ngạch người dùng HDFS không hỗ trợ liên kết cứng liên kết mềm Tuy nhiên, kiến trúc HDFS khơng loại trừ việc triển khai tính NameNode trì khơng gian tên hệ thống tệp Mọi thay đổi không gian tên hệ thống tệp thuộc tính NameNode ghi lại Một ứng dụng định số lượng tệp cần HDFS trì Số lượng tập tin gọi hệ số chép tập tin Thông tin lưu trữ NameNode 2.5 Sao chép liệu HDFS thiết kế để lưu trữ tệp lớn cách đáng tin cậy máy cụm lớn Nó lưu trữ tệp dạng chuỗi khối; tất khối tệp ngoại trừ khối cuối có kích thước Các khối tệp chép để có khả chịu lỗi Kích thước khối hệ số chép cấu hình tệp Một ứng dụng định số lượng tập tin Hệ số chép định thời điểm tạo tệp thay đổi sau Các tệp HDFS ghi lần có người ghi vào lúc NameNode đưa định liên quan đến việc chép khối Nó định kỳ nhận Heartbeat Blockreport từ DataNodes cụm Việc nhận Nhịp tim ngụ ý DataNode hoạt động bình thường Blockreport chứa danh sách tất khối DataNode Hình 2.2: Nút liệu HDFS Vị trí sao: The First Baby Steps Việc đặt quan trọng độ tin cậy hiệu suất HDFS Tối ưu hóa vị trí giúp phân biệt HDFS với hầu hết hệ thống tệp phân tán khác Đây tính cần nhiều tinh chỉnh trải nghiệm Mục đích sách đặt nhận biết giá để cải thiện độ tin cậy, tính khả dụng sử dụng băng thơng mạng liệu Việc triển khai sách vị trí nỗ lực theo hướng Mục tiêu ngắn hạn việc triển khai sách xác thực hệ thống sản xuất, tìm hiểu thêm hành vi xây dựng tảng để thử nghiệm nghiên cứu sách phức tạp Các phiên HDFS lớn chạy cụm máy tính thường trải rộng nhiều giá đỡ Giao tiếp hai nút giá đỡ khác phải thông qua thiết bị chuyển mạch Trong hầu hết trường hợp, băng thông mạng máy rack lớn băng thông mạng máy rack khác NameNode xác định id DataNode thuộc thơng qua quy trình nêu Nhận thức giá Hadoop Một sách đơn giản khơng tối ưu đặt giá đỡ riêng biệt Điều ngăn chặn việc liệu toàn giá đỡ bị lỗi cho phép sử dụng băng thông từ nhiều giá đỡ đọc liệu Chính sách phân bổ đồng cụm, giúp dễ dàng cân tải thành phần bị lỗi Tuy nhiên, sách làm tăng chi phí ghi việc ghi cần chuyển khối sang nhiều giá đỡ Đối với trường hợp thông thường, hệ số chép 3, sách vị trí HDFS đặt nút giá cục bộ, khác nút giá khác (từ xa) cuối nút khác giá giá đỡ từ xa Chính sách cắt giảm lưu lượng ghi giá để cải thiện hiệu suất ghi nói chung Khả xảy lỗi giá đỡ nhiều so với lỗi nút; sách khơng ảnh hưởng đến việc đảm bảo độ tin cậy tính sẵn có liệu Tuy nhiên, làm giảm băng thông mạng tổng hợp sử dụng đọc liệu khối đặt hai giá đỡ ba Với sách này, tệp khơng phân bố giá Một phần ba số nằm nút, hai phần ba số nằm giá phần ba lại phân bổ giá cịn lại Chính sách cải thiện hiệu suất ghi mà không ảnh hưởng đến độ tin cậy liệu hiệu suất đọc Chính sách đặt mặc định mô tả tiến hành Lựa chọn Để giảm thiểu mức tiêu thụ băng thơng tồn cầu độ trễ đọc, HDFS cố gắng đáp ứng yêu cầu đọc từ gần đầu đọc Nếu tồn giá với nút đầu đọc ưu tiên đáp ứng yêu cầu đọc Nếu cụm angg/HDFS trải rộng nhiều trung tâm liệu nằm trung tâm liệu cục 2.6 Tổ chức liệu Khối liệu HDFS thiết kế để hỗ trợ tệp lớn Các ứng dụng tương thích với HDFS ứng dụng xử lý tập liệu lớn Các ứng dụng ghi liệu lần chúng đọc nhiều lần yêu cầu lần đọc phải đáp ứng tốc độ truyền phát HDFS hỗ trợ ngữ nghĩa ghi lần đọc nhiều tệp Kích thước khối thơng thường HDFS sử dụng 64 MB Do đó, tệp HDFS chia thành khối 64 MB có thể, khối nằm DataNode khác Dàn dựng Yêu cầu tạo tệp khách hàng không đến NameNode Trên thực tế, ban đầu máy khách HDFS lưu trữ liệu tệp vào tệp cục tạm thời Việc ghi ứng dụng chuyển hướng rõ ràng đến tệp cục tạm thời Khi tệp cục tích lũy liệu có giá trị kích thước khối HDFS, máy khách liên hệ với NameNode NameNode chèn tên tệp vào hệ thống phân cấp tệp phân bổ khối liệu cho NameNode đáp ứng yêu cầu khách hàng danh tính DataNode khối liệu đích Sau đó, máy khách chuyển khối liệu từ tệp tạm thời cục sang DataNode định Khi tệp bị đóng, liệu chưa xóa cịn lại tệp cục tạm thời chuyển sang DataNode Sau đó, máy khách thơng báo cho NameNode tệp bị đóng Tại thời điểm này, NameNode cam kết thao tác tạo tệp vào kho lưu trữ liên tục Nếu NameNode chết trước đóng tệp tệp bị Cách tiếp cận áp dụng sau xem xét cẩn thận ứng dụng mục tiêu chạy HDFS Các ứng dụng cần ghi trực tuyến vào tập tin Nếu máy khách ghi trực tiếp vào tệp từ xa mà khơng có đệm phía máy khách tốc độ mạng tình trạng tắc nghẽn mạng ảnh hưởng đáng kể đến thông lượng Cách tiếp cận khơng có tiền lệ Các hệ thống tệp phân tán trước đó, ví dụ AFS , sử dụng nhớ đệm phía máy khách để cải thiện hiệu suất Yêu cầu POSIX nới lỏng để đạt hiệu suất tải lên liệu cao Đường ống nhân rộng Khi máy khách ghi liệu vào tệp HDFS, liệu trước tiên ghi vào tệp cục giải thích phần trước Giả sử tệp HDFS có hệ số chép ba Khi tệp cục tích lũy toàn khối liệu người dùng, máy khách truy xuất danh sách DataNode từ NameNode Danh sách chứa DataNodes lưu trữ khối Sau đó, máy khách chuyển khối liệu sang DataNode DataNode bắt đầu nhận liệu theo phần nhỏ (4 KB), ghi phần vào kho lưu trữ cục chuyển phần sang DataNode thứ hai danh sách DataNode thứ hai bắt đầu nhận phần khối liệu, ghi phần vào kho lưu trữ sau chuyển phần sang DataNode thứ ba Cuối cùng, DataNode thứ ba ghi liệu vào kho lưu trữ cục Do đó, DataNode nhận liệu từ liệu trước đường ống đồng thời chuyển tiếp liệu sang liệu đường ống Do đó, liệu chuyển từ DataNode sang DataNode 10 Chương Demo HDFS 3.1 Mơ tả tốn Wordcount: Bài tốn đếm số từ văn • Mục đích: Phân tích đánh giá nội dung văn • Sử dụng xử lý ngơn ngữ tự nhiên, phân tích liệu • Các bước: – Mapping: Work node đếm số lượng từ phần liệu tạo cặp key-value, key từ value số lượng xuất từ – Shuffling: Sắp xếp cặp key-value gom thành nhóm – Reducing: Đếm số lượng từ xuất key đưa kết 3.2 demo tốn sử dụng hadoop Cài đặt hadoop gói jdk: Trong sử dụng phiên hadoop 3.3.0 jdk 1.8.0 201 11 Truy cập vào file hadoop cài đặt, vào /sbin chạy lệnh start-all.cmd để khởi chạy namenode, datanode yarn Sau chạy xong, vào giao diện hadoop để xem chương trình chạy file hdfs 12 Có thể thấy chưa có chương trình chạy, tạo thư mục input để chứa liệu đầu vào cách chạy lệnh hadoop fs -mkdir /input, sau chạy xong, danh sách thư mục xuất file input 13 Tương tự, ta tạo file data.txt chứa liệu đẩy vào thư mục Sau xong, tiến hành chạy chương trình wordcount, chương trình cài đặt sẵn gói hadoop, nằm file hadoop-mapreduce-examples-3.3.0.jar Ta kiểm tra kết cách vào browse directory hadoop 14

Ngày đăng: 11/12/2023, 00:27

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

Tài liệu liên quan