Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Thuyết trình Hadoop và ứng dụng

Đồ án tốt nghiệp chuyên ngành Mạng máy tính & Truyền thông
by

Yori Yatana

on 10 March 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Thuyết trình Hadoop và ứng dụng

Hadoop
và ứng dụng

Là một hệ thống xử lý dữ liệu song song và phân tán

Đc phát triển bởi Google năm 2002

Cho phép các ứng dụng làm việc với hàng ngàn máy tính độc lập và petabyte dữ liệu
Gồm 2 thành phần
HDFS(Hadoop File Distribute
File System)
Hệ thống File phân tán
HDFS
Kiến trúc HDFS
Cơ chế hoạt động
Giới thiệu về Hadoop
Mục tiêu HDFS
Lưu trữ file rất lớn(terabyte)
Truy cập dữ liệu theo dòng
Mô hình liên kết dữ liệu đơn giản: ghi 1 lần,đọc nhiều lần
Di chuyển quá trình xử lý thay vì dữ liệu
Sử dụng phần cứng phổ thông đa dạng
Tự động phát hiện lỗi,phục hồi dữ liệu rất nhanh
Điểm yếu của HDFS
Ứng dụng cần quá trình truy cập với độ trễ cao
HDFS tối ưu quá trình truy cập file rất lớn
Ko thể lưu quá nhiều file trên cùng 1 cluster
NameNode cần lưu trên bộ nhớ
=> Cần nhiều bộ nhớ
Ko hỗ trợ nhiều bộ ghi,sửa dữ liệu bất kỳ
Kiến trúc HDFS
Block: Đơn vị lưu trữ dữ liệu nhỏ nhất
Mặc định 64MB/block
Một file chia làm nhiều block
Các block chứa ở bất kì node nào trong cluster
NameNode:
Quản lý thông tin các file trong cluster
DataNode:
Quản lý các block dữ liệu
NameNode
Thành phần trọng yếu của HDFS
Quản lý và thực thi các thao tác liên quan đến file (đóng,mở,đổi tên)
Quản lý vị trí các block
DataNode
Quản lý các block
Thực hiện các thao tác trên dữ liệu
Thêm,xóa,nhận biết các block
Thực hiện các yêu cầu xử lý dữ liệu
Cơ chế hoạt động
Chương trình yêu cầu đọc dữ liệu từ NameNode
NameNode trả về vị trí các block dữ liệu
Chương trình trực tiếp yêu cầu dữ liệu từ các node
Đọc dữ liệu:
Cơ chế hoạt động
Ghi dữ liệu:
Ghi theo dạng đường ống(pipeline)
Chương trình yêu cầu thao tác ghi ở NameNode
NameNode kiểm tra quyền ghi và đảm bảo file ko tồn tại
Các bản sao của block tạo thành đường ống để dữ liệu tuần tự đi vào
MapReduce
Tại sao phải cần MapReduce
Xử lý dữ liệu với quy mô lớn
Muốn sử dụng 1000 CPU
=> Mong muốn có một mô hình quản lý đơn giản
Kiến trúc MapReduce
Quản lý tiến trình song song và phân tán
Quản lý sắp xếp lịch trình truy xuất I/O
Theo dõi trạng thái dữ liệu
Quản lý số lượng lớn dữ liệu có phụ thuộc nhau
Xử lý lỗi
Trừu tượng với các lập trình viên
Khái niệm MapReduce
Hệ thống tính toán phân tán
Tăng tốc độ thực thi và xử lý dữ liệu
Đc xây dựng từ mô hình lập trình hàm và lập trình song song
Giải quyết đc nhiều bài toán
Ẩn các chi tiết cài đặt và quản lý
Khái niệm MapReduce
Cách tiếp cận: Chia để trị
Chia các vấn đề lớn thành vấn đề nhỏ
Xử lý song song các việc nhỏ
Tổng hợp kết quả
Đọc dữ liệu lớn
Rút trích thông tin cần thiết từ các phần tử (Map)
Trộn và sắp xếp các kết quả trung gian
Tổng hợp các kết quả trung gian (Reduce)
Phát sinh kết quả cuối cùng
Mô hình MapReduce
Hàm Map:
Mỗi phần tử truyền từ input sẽ đc truyền cho hàm Map dưới dạng cặp <key,value>
Hàm Map xuất ra một hoặc nhiều cặp <key,value>
Hàm Reduce
Xử lý,biến đổi,kết hợp các cặp value
Đầu ra là một cặp <key,value> đã đc xử lý
Demo WordCount
Hadoop-MapReduce
Là một framework
Sử dụng HFDS
Kiến trúc master/slave
Hadoop - MapReduce
Client gửi MapReduce Jobs
JobTracker điều phối việc thực thi Job
TaskTracker thực thi các Task đã đc đưa ra
Tại sao phải cần MapReduce
Khái niệm MapReduce
Mô hình MapReduce
Hadoop MapReduce
Nguyễn Trúc Tùng 09520344
Lâm Xuân Vinh 09520356

Nhu cầu thực tế
Nhu cầu lưu trữ và xử lý dữ liệu hàng exabyte
Cần nhiều node lưu trữ với chi phí rất thấp
Cần có một hạ tầng hiệu quả và tin cậy
Khả năng chịu lỗi
Master phát hiện lỗi
Lỗi tác vụ (Task Failure)
Cập nhật trạng thái
Cập nhật trạng thái trong quá trình thực thi



Task process gửi báo cáo 3s một lần cho TaskTracker
TaskTracker gửi báo cáo 5s một lần cho JobTracker
JobTracker tổng hợp các báo cáo, gửi lại cho JobClient mỗi giây một lần
Tác vụ xử lý được bao nhiêu dữ liệu đầu vào ?
Tác vụ hoàn thành thành công ?
Tác vụ lỗi ?
Khả năng chịu lỗi
Lỗi TaskTracker
Khả năng chịu lỗi
Lỗi JobTracker
Tối ưu hóa
Reduce chỉ bắt đầu khi toàn bộ Map kết thúc
Đĩa trên một node truy xuất chậm có thể ảnh hưởng tới toàn bộ quá trình
Băng thông của mạng
Tối ưu hóa
Đưa ra hàm combiner
Ứng dụng
Sắp xếp dữ liệu phân tán
Phân tích thống kê
Web Ranking
Dịch máy
Indexing
Văng lỗi ngoại lệ,bị giết bởi JVM,treo
JobTracker giao cho TaskTracker khác xử lý trong một giới hạn nhất định
Hạn chế giao tác vụ mới cho TaskTracker đã xử lý tác vụ bị lỗi
Crashing, Chạy chậm, không gửi báo cáo đúng hạn cho JobTracker
JobTracker loại bỏ TaskTracker ra khỏi bảng lịch biểu tác vụ ( schedule tasks ) và thêm vào blacklist
JobTracker lập lịch lại để chạy các tác vụ đã trao cho TaskTracer bị lỗi
Nghiêm trọng
Chưa có hướng giải quyết
Có thể chạy trên cùng máy với các mapper
Chạy độc lập với các mapper khác
Mini Reducer, làm giảm đầu ra của các giai đoạn Map. Tiết kiệm băng thông
Tổng kết
Là mô hình đơn giản để xử lý lượng dữ liệu lớn trên mô hình phân tán
Tập trung vào vấn đề chính cần xử lý
Full transcript