1. Trang chủ
  2. » Luận Văn - Báo Cáo

TÌ M HIỂU NỀN TẢNG PHÁT TRIỂN ỨNG DỤNG PHÂN TÁN VỚI HADOOP VÀ ÁP DỤNG CHO SEARCH ENGINE PHÂN TÁN

210 4 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

Nội dung

TÌ M HI ỂU NỀN TẢNG PHÁT TRIỂN ỨNG DỤNG PHÂN TÁN VỚI HADOOP VÀ ÁP DỤNG CHO SEARCH ENGINE PHÂN TÁN Chương 1: Giới thiệu đề tài 1.1 Giới thiệu Tên đề tài luận văn: “Tìm hiều nền tảng phát triển ứng dụng phân tán với Hadoop và áp dụng cho Search Engine phân tán.” Sơ lược: Trong đề tài này, nhóm sẽ thực hiện tìm hiểu kỹ càng nền tảng phát triển các ứng dụng MapReduce trên framework Hadoop để phát triển các ứng dụng phân tán. Sau đó, nhóm sẽ tiến hành triển khai ứng dụng Nutch, là một ứng dụng Search Engine phân tán hoàn chỉnh, để đánh giá được tác dụng của việc ứng dụng MapReduce vào trong các ứng dụng thực tế. 1.2 Ngữ cảnh và lý do thực hiện đề tài 1.2.1 Sự bùng phát dữ liệu và bài toán truy tìm dữ liệu Trong thời đại chúng ta đang sống, ngành công nghệ máy tính phát triển một cách vũ bão. Số lượng người sử dụng máy tính và các tài nguyên trực tuyến để xử lý công việc, giải trí...ngày càng tăng nhanh. Theo ước tính đến nay, đã có 23% dân số Việt Nam sử dụng Internet (nguồn: http:www.thongtincongnghe.comarticle5932 ), số lượng người gia nhập cộng đồng mạng trên thế giới là 1,46 tỷ người (theo Mark Higginson, Giám đốc của hãng phân tích Nielsen Online). Hệ quả tất yếu sự gia tăng lượng người sử dụng là khối lượng dữ liệu số đang phình to ra với tốc độ chóng mặt. Thật không dễ để đo lường được tổng dung lượng dữ liệu số đã được lưu trữ trên thế giới. Tuy nhiên, IDC đã đưa ra ước lượng rằng tổng dung lượng dữ liệu số được lưu trữ năm 2006 khoảng 0.18 zettabytes, và con số đó năm 2011 sẽ là 1.8 zettabytes. Một zettabytes bằng 1012 bytes, bằng nghìn exabytes, bằng một triệu Petabytes và bằng 1 tỷ Terabytes. Có thể hình dung rằng nếu chia đều khối lượng dữ liệu được lưu trữ trong các thiết bị điện tử ra cho tất cả mọi người trên thế giới, thì mỗi người sẽ được một lượng dữ liệu bằng một ổ cứng khoảng vài trăm Gigabytes. Lượng dữ quá lớn đó phần lớn đến từ việc sử dụng các dịch vụ trên mạng, chúng ta hãy khảo sát thử một số hệ thống sau đây.  Thị trường chứng khoán New York phát sinh ra khoảng 1 Terabyte dữ liệu về các giao dịch mỗi ngày.  Facebook đang host khoảng 10 tỷ tấm ảnh, tức khoảng một petabyte.  Trang web Ancestry.com, một trang web cung cấp dịch vụ lưu giữ gia phả (thông tin về gia đình, cây phả hệ), đang lưu trữ khoảng 2,5 petabyte dữ liệu.  Trang web Internet Archive, đang lưu trữ khoảng 2 petabytes dữ liệu, và gia tăng với tốc độ khoảng 20 terabytetháng. Khi khối lượng dữ liệu của một hệ thống gia tăng tới một mức độ nhất định (khoảng hàng ngàn Terabyte chẳng hạn), thì việc hệ thống sẽ phải đối mặt với thách thức làm sao để lưu trữ và phân tích dữ liệu. Chúng ta không thể lưu một khối dữ liệu rất lớn lên chỉ duy nhất một đĩa cứng vì hai lý do đơn giản. Thứ nhất, đó là sự giới hạn về khả năng lưu trữ của ổ cứng. Thứ hai, cho dù vượt qua được giới hạn về dung lượng, thì việc truy xuất một khối lượng dữ liệu đồ sộ như vậy một cách tuần tự (vì trên một đĩa đơn) sẽ rất mất thời gian vì giới hạn về tốc độ đọc đĩa. Do vậy, bắt buộc chúng ta phải lưu trữ dữ liệu lên trên nhiều đĩa cứng thay vì chỉ một. Điều này giúp cái thiện tốc độ truy xuất dữ liệu vì ta có thể tiến hành đọcghi một cách song song lên các đĩa. Việc lưu trữ dữ liệu phân tán lên nhiều đĩa cứng mang lại lợi thế về khả năng lưu trữ và tốc độ truy xuất dữ liệu. Tuy nhiên, việc duy trì một hệ thống phân tán với nhiều đĩa cứng đã dẫn đến một số vấn đề cần được giải quyết. Đầu tiên, là vấn đề hỏng hóc phần cứng. Do dữ liệu được lưu trên nhiều phần cứng khác nhau, nên khả năng một (hay nhiều) phần cứng xảy ra hỏng hóc cũng tăng lên đáng kể. Một cách giải quyết vấn đề này mà ta có thể thấy ngay, đó là lưu trữ trùng lắp các mẫu dữ liệu lên nhiều đĩa cứng khác nhau. Vấn đề thứ hai là việc phân tích dữ liệu đôi khi cần truy đọc dữ liệu từ nhiều đĩa cứng khác nhau. Tức là dữ liệu được đọc từ một đĩa có thể cần được kết hợp với dữ liệu từ bất kỳ đĩa nào khác trên hệ thống. Các hệ thống phân tán thường cho phép kết hợp dữ liệu từ nhiều nguồn khác nhau, tuy nhiên làm được điều này một cách chính xác là không dễ chút nào. Sự bùng nổ về dữ liệu đã đặt ra cho chúng ta những thách thức, thách thức về việc làm thế nào lưu trữ và xử lý tất cả dữ liệu đó. Tuy nhiên, ở một mặt khác nó lại mang đến các cơ hội, cơ hội chiếm lĩnh một nguồn thông tin khổng lồ nếu chúng ta có đủ khả năng phân tích và xử lý nguồn dữ liệu đó, biến những dữ liệu thô thành những thông tin hữu ích với một mức chi phí hợp lý. 1.2.2 Search engine và các khó khăn Internet chứa hầu như tất cả những thông tin liên quan tới mọi lĩnh vực, mọi ngõ ngách trong cuộc sống. Nhưng nó rất rộng, rộng đến mức gần như không ai có thể kiểm soát được. Diện mạo của Internet lại thay đổi quá nhanh chóng và mạnh mẽ. Hạt nhân của Internet là Word Wide Web, với số lượng lên tới hàng chục tỉ trang, được lưu trữ trong hàng triệu máy chủ đặt khắp nơi trên toàn thế giới. Có thể ví Internet như một biển dữ liệu khổng lồ, với muôn vàn những viên ngọc quí nằm giữa các hạt sạn. Trong đời sống hàng ngày, nhu cầu tìm kiếm thông tin đóng vai trò vô cùng to lớn, và một trong những vấn đề bức thiết nhất của công nghệ hiện nay là làm sao đãi cát tìm vàng, khai thác nguồn tài nguyên này một cách hợp lí, đem lại lợi ích tốt nhất cho con người. Tìm kiếm thông tin trên mạng Internet quả thật là một thách thức lớn lao. Có tới hàng chục tỉ trang Web tràn ngập trên mạng Internet, và vấn đề là làm sao đưa ra những gì ta muốn thu thập sao cho đồng thời thỏa mãn hai tiêu chí: Chính xác và nhanh chóng. Hơn thế nữa, người dùng cũng không đủ kiên nhẫn để ngồi duyệt qua tất cả các trang web chứa thông tin cần tìm. Trên thực tế, người dùng hiếm khi vào quá mười trang web kết quả, và vì thế, một yêu cầu khó khăn nữa cần giải quyết, đó là: những gì phù hợp nhất phải được đặt lên hàng đầu. Đối với mỗi Search Engine (Google, Yahoo, MSN, v.v…), người dùng truy vấn tìm kiếm (hay nói đơn giản hơn là nhập vào một số từ khóa liên quan đến chủ đề cần tìm), và nhận được một danh sách các trang kết quả (thông thường là những trang web chứa các từ khóa cần tìm kiếm), được sắp xếp theo một tiêu chí nào đó. Qui trình làm việc của một Search Engine có thể được tóm gọn qua ba quá trình: crawling, indexing, và searching.  Crawling là quá trình Search Engine thu thập các trang web để lấy dữ liệu. quá trình này sẽ được thực hiện một cách tự động bởi một Web Crawler. Web Crawler sẽ sử dụng một số URL (uniform resource location) như là các URL hạt nhân để khởi động quá trình, Web Crawler sẽ lần theo các link (các tag anchor “”) để thu thập thêm nhiều trang web. Tất cả phần html của các trang web thu thập được sẽ được lưu trữ lại để sử dụng cho quá trình indexing.  Indexing: dữ liệu các trang web thu thập được sẽ được một chương trình tự động phân tách và tạo chỉ mục ngược (reverse index: chỉ mục với khoá là từ khoá và value là danh sách các tài liệu có mặt từ khoá). Kết quả của quá trình này là một khối chỉ mục ngược.  Searching: khi người dùng nhập một câu query (thông thường là một từ khoá), Search Engine sẽ thực hiện tìm kiếm trên khối chỉ mục để tìm ra những tài liệu phù hợp nhất (khớp nhất) với query.

lOMoARcPSD|15547689 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN HỆ THỐNG THÔNG TI N ĐẶNG VŨ ĐÌNH DUY – NGUYỄN TẤN DƯƠNG TÌ M HI ỂU NỀN TẢNG PHÁT TRIỂN ỨNG DỤNG PHÂN TÁN VỚI HADOOP VÀ ÁP DỤNG CHO SEARCH ENGINE PHÂN TÁN KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT TPHCM, 2010 lOMoARcPSD|15547689 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN HỆ THỐNG THÔNG TI N ĐẶNG VŨ ĐÌNH DUY NGUYỄN TẤN DƯƠNG 0612068 0612072 TÌ M HI ỂU NỀN TẢNG PHÁT TRIỂN ỨNG DỤNG PHÂN TÁN VỚI HADOOP VÀ ÁP DỤNG CHO SEARCH ENGI NE PHÂN TÁN KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT GIÁO VIÊN HƯỚNG DẪN TS HỒ BẢO QUỐC KHÓA 2006 - 2010 lOMoARcPSD|15547689 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… TpHCM, ngày … tháng …… năm …… Giáo viên hướng dẫn [Ký tên ghi rõ họ tên] iii lOMoARcPSD|15547689 NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… ……………………………………………………………………………… Khóa luận đáp ứng yêu cầu Khóa luận cử nhân CNTT TpHCM, ngày … tháng …… năm …… Giáo viên phản biện [Ký tên ghi rõ họ tên] lOMoARcPSD|15547689 LỜI CẢM ƠN Chúng em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, trường Đại Học Khoa Học Tự Nhiên, Đại Học Quốc gia Tp Hồ Chí Minh tạo điều kiện thuận lợi cho chúng em thực tốt tài tốt nghiệp Chúng em xin chân thành bày tỏ lòng biết ơn sâu sắc đến thầy Hồ Bảo Quốc Thầy tận tâm hướng dẫn, định hướng có nhận xét đắn, kịp thời cho nhóm chúng em suốt thời gian thực luận văn Chúng em xin cảm ơn sâu sắc thầy Lương Vỹ Minh Thầy tận tình giúp đỡ chúng em q trình triển khai hệ thống Nhóm xin cảm ơn thầy cô khoa Công Nghê Thông Tin tận tình giảng dạy, trang bị cho chúng em kiến thức tảng suốt trình học tập khoa Bên cạnh đó, khơng thể khơng nhắc tới u thương chăm sóc gia đình, động viên bạn bè giúp nhóm vượt qua khó khăn thực đề tài Mặc dù nhóm cố gắng trình thực đề tài chắc khơng tránh khỏi thiếu sót Kính mong q thầy bạn tận tình góp ý, bảo Một lần nữa, nhóm xin cảm ơn mong nhận tình cảm chân thành từ tất người TP HCM, tháng 07 năm 2010 Nhóm thực đề tài Nguyễn Tấn Dương – Đặng Vũ Đình Duy lOMoARcPSD|15547689 Khoa Công Nghệ Thông Tin Bộ môn Hệ Thống Thông Tin ĐỀ CƯƠNG CHI TIẾT KHÓA LUẬN TỐT NGHIỆP TÊN ĐỀ TÀI: Tìm hiểu tảng phát triển ứng dụng phân tán với Hadoop áp dụng cho Search Engine phân tán GIÁO VIÊN HƯỚNG DẪN: TS Hồ Bảo Quốc THỜI GIAN THỰC HIỆN: 01/02/2010 – 01/07/2010 SINH VIÊN THỰC HIỆN:  Nguyễn Tấn Dương 0612072  Đặng Vũ Đình Duy 0612068 LOẠI ĐỀ TÀI: Tìm hiểu cơng nghệ có ứng dụng minh họa NỘI DUNG ĐỀ TÀI:  Tìm hiểu tảng xây dựng ứng dụng phân tán tảng Hadoop o Hệ thống tập tin phân tán HDFS o Framework xây dựng ứng dụng phân tán theo mơ hình MapReduce: lOMoARcPSD|15547689 MapReduce Engine  Tìm hiểu cách phát triển ứng dụng phân tán tảng Hadoop  Tìm hiểu ứng dụng Seacrh Engine phân tán Nutch triển khai thực tế KẾ HOẠCH THỰC HIỆN Thời gian Yêu cầu 01/02–10/02 Tìm hiểu tổng quan Hadoop Phân cơng 0612072-0612068 11/02–20/02 Tìm hiểu mơ hình MapReduce GFS 0612072-0612068 theo cơng bố Google 21/02–18/03 Tìm hiểu hệ thống tập tin phân tán HDFS 0612072-0612068 19/03– 5/04 0612072-0612068 Tìm hiểu MapReduce Engine 16/04–31/04 Tìm hiểu trình xây dựng ứng dụng 0612072-0612068 phân tán theo mơ hình MapReduce với Hadoop 01/05–25/05 Tìm hiểu ứng dụng Seacrh Engine phân 0612072-0612068 tán với Hadoop 26/05– 6/06 Triển khai Nutch lên hệ thống thực tế 0612072-0612068 07/06– 8/06 Thực thực nghiệm hệ thống 0612072-0612068 đánh giá 19/06– 7/07 Hoàn chỉnh báo cáo 0612072-0612068 lOMoARcPSD|15547689 Xác nhận GVHD Ngày 05 tháng 07 năm 2010 SV Thực  viii lOMoARcPSD|15547689 Mục lục Chương 1: Giới thiệu đề tài 1.1 Giới thiệu 1.2 Ngữ cảnh lý thực đề tài 1.2.1 Sự bùng phát liệu toán truy tìm liệu 1.2.2 Search engine khó khăn 1.2.3 Sự đời mơ hình MapReduce 1.2.4 Lý thực 1.3 Nội dung luận văn Chương 2: Nền tảng tính tốn phân tán với Hadoop 2.1 Giới thiệu Framework Hadoop 2.1.1 Hadoop gì? 2.1.2 Lịch sử Hadoop 10 2.1.3 Các thành phần Hadoop 12 2.1.4 Ứng dụng Hadoop số công ty: 13 2.1.5 Tổng quan Hadoop cluster: 14 2.2 Hadoop Distributed File System (HDFS) 17 2.2.1 Giới thiệu 17 2.2.2 Tổng quan thiết kế HDFS 19 lOMoARcPSD|15547689 2.2.3 Các tính NameNode 29 2.2.4 Khả chịu lỗi chẩn đoán lỗi HDFS 34 2.2.5 Các giao diện tương tác 36 2.2.6 Quản trị HDFS 37 2.3 MapReduce 39 2.3.1 Giới thiệu mơ hình tính tốn MapReduce 39 2.3.2 Hadoop MapReduce Engine 42 Chương 3: Nutch - Ứng dụng Search Engine phân tán tảng Hadoop 62 3.1 Ngữ cảnh đời lịch sử phát triển Nutch 62 3.2 Giới thiệu Nutch 63 3.2.1 Nutch gì? 63 3.2.2 Nền tảng phát triển 64 3.2.3 Các tính Nutch 64 3.3 Kiến trúc ứng dụng Nutch 66 3.3.1 Thuật giải Nutch 66 3.3.2 Cấu trúc liệu Nutch 69 3.4 Kiến trúc Nutch 73 3.4.1 Kiến trúc thành phần 73 3.4.2 Plugin-based 77 3.5 Nutch việc áp dụng tính tốn phân tán với mơ hình MapReduce vào Nutch 80 3.5.1 Nguyên nhân cần phải phân tán 80 3.5.2 Áp dụng tính tốn phân tán cho thành phần Crawler 80 x lOMoARcPSD|15547689 Cấu hình lại Search server khởi động chúng Cấu hình lại Search server (slave03, slave04) tập tin core-site.xml để điều chỉnh lại hệ thống tập tin sử dụng local Khởi động Search server slave03, slave04 Các Search server chạy cổng 2010 Cấu hình lại ứng dụng Search – Font End Tạo Nutch tập tin search-servers.txt chưa danh sách Search server port hoạt động chúng: /nutch/search-servers.txt slave03 2010 slave04 2010 Tập tin lưu giữ danh sách Search server cổng hoạt động tương ứng 181 lOMoARcPSD|15547689 Cấu hình lại nutch-site, điểu chỉnh tham số searcher.dir trỏ tới thư mục chứa tập tin search-servers.txt /nutch/tomcat/webapps/ROOT/WEB-INF/classes/nutch-site.xml searcher.dir /nutch/ Chạy hệ thống Khởi động lại Tomcat 182 lOMoARcPSD|15547689 Thử tìm kiếm: Ta thấy với từ khố “bóng đá” số kết trả 15785 hit Ta thử tắt search server (slave04) tìm kiếm lại với từ khố “bóng đá” 183 lOMoARcPSD|15547689 Lúc số lượng kết lại 2970 hit Điều chứng minh ứng dụng Search – Font End thực tìm kiếm nhiều search server (ở 2) 184 lOMoARcPSD|15547689 Phụ lục F: Bảng tham số cấu hình cho Nutch Tương tự hệ thống Hadoop, Nutch sử dụng file cấu hình bên ngồi để từ áp dụng thông tin cho hệ thống Do Nutch chứa dựng gói MapReduce HDFS Hadoop nên có file cấu core-site.xml, hdfssite.xml, mapred-site.xml Thêm vào file cấu hình riêng biệt cho hệ thống Nutch file nucth-site.xml, thông tin cấu hình mặc định nằm file nutch-default.xml File nutch-default.xml cấu hình thơng tin mặc định hệ thống nutch Do nutch-default.xml có q nhiều thơng số để khơng thể nêu hết đây, đưa số thông số để minh hoa Để biết thêm đầy đủ, bạn nên tham khảo file nutch-default.xml bên thư mục /installation/conf/ File nutch-site.xml nutch-site.xml Name file.content.limit Value 65536 Description Chiều dài tối đa nội dung download Nếu giá trị lớn chiều dài nội dung nhiều bị cắt (Đơn vị: Byte) Name http.agent.name Default value Description Header HTTP ‘User-Agent’ request Giá trị không rỗng Name http.robots.agents 185 lOMoARcPSD|15547689 Default value * Description Một chuỗi agent mà user tìm thấy chúng file robots.txt Các agent chuỗi phân cách dấu phẩy Name http.robots.403.allow Default value true Description Nếu file robots.txt khơng tồn server trả trạng thái Forbidden qua HTTP Điều có nghĩa người dụng phép craw trang web Ngược lại “false”, trang web xem Forbidden Name http.agent.description Default value Description Description cho user-agent header Name http.agent.email Default value Description Địa email để giới thiệu cho request header từ HTTP agent request header Name http.agent.version Default value Nutch-1.1 Description Phiên để giới thiệu cho User-Agent header Name http.agent.host Default value 186 lOMoARcPSD|15547689 Description Tên hay địa chi ip host mà Nutch crawler chạy Mặc định giá trị sử dụng 'protocol-httpclient' plugin Name http.timeout Default value 10000 Description Thời gian network timeout (millisecond) Name http.content.limit Default value 65536 Description Chiều dài tối đa nội dung download Nếu giá trị lớn chiều dài nội dung nhiều bị cắt (Đơn vị: Byte) Name http.proxy.host Default value Description Host name proxy, giá trị rỗng không sử dụng proxy Name http.proxy.port Default value Description Port proxy Name searcher.dir Default value crawl Description Thư mục mặc định search 187 lOMoARcPSD|15547689 Phụ lục G: Cách lệnh command line điều khiển Nutch Các command line gọi từ script \installation\bin\nutch script gọi lớp tương ứng với chức riêng, tên lớp dài hệ thống dùng alias thay cho lớp Do để thuận tiện cho việc gọi command Chúng set CLASSPATH đến thư mục Lệnh thực thao tác crawl  Usage: nutch crawl [-dir d] [-threads n] [-depth i] [-topN N] Bảng tham số urlDir Thư mục file chứa danh sách URL muốn crawl -dir d Thư mục lưu trữ liệu thao tác crawl -thread n Số tiểu trình cần để thực crawl Mặc định lấy giá trị thông số fetcher.threads.fetch 10 -depth i Độ sâu thực crawl URL Giá trị mặc định -topN Số lượng link tối đa crawl URL Giá trị mặc định Integer.MAX_VALUE Lệnh đọc kết xuất crawldb  Usage: nutch readdb (-stats | -dump | -url ) Bảng tham số Crawldb Thư mục crawldb -stats Hiện thị thông số thống kê tổng quát đến System.out -dump Xuất liệu crawldb đến file thư mục -url Hiển thị thông tin thống kê URL tới System.out 188 lOMoARcPSD|15547689 Lệnh xuất thông tin linkdb trả thông tin URL linkdb  Usage: nutch readlinkdb {-dump | -url ) Bảng tham số linkdb Thư mục linkdb -stats Hiện thị thông số thống kê tổng quát đến System.out -dump Xuất liệu linkdb đến file thư mục -url Hiển thị thông tin thống kê URL tới System.out Lệnh thực inject URL vào crawldb  Usage: nutch inject Bảng tham số crawldb Thư mục crawldb url_dir Thư mục file chứa danh sách URL Lệnh thực generate segment để fetch từ crawldb  Usage: nutch generate [-topN ] [- numFetchers ] [-adddays ] Bảng tham số Crawldb Thư mục crawldb url_dir Thư mục chứa segment -topN Số lượng URL dành cho segment Giá trị mặc định Long.MAX_VALUE 189 lOMoARcPSD|15547689 numFetchers Số lượng fetch partition Giá trị mặc định giá trị thông số mapred.map.tasks -adddays Thêm số ngày vào thời gian hành để làm thuận tiện cho cho việc crawl URL mà fetch sớm chu kỳ db.default.fetch.interval Lệnh thực fetch page segment  Usage: nutch fetch [-threads n] [-noParsing] Bảng tham số Segment Đường dẫn segment -thread n Số lượng tiểu trình thực fetch -noParsing Disable chế tự động pasre liệu segment Lệnh thực parse content segment  Usage: nutch parse Bảng tham số Segment Đường dẫn segment Lệnh thực đọc liệu segment  Usage: nutch segread Bảng tham số Segment Đường dẫn segment Lệnh thực update crawldb với thông tin chứa từ thao tác fetch 190 lOMoARcPSD|15547689  Usage: nutch updatedb (-dir | ) [noAdditions] Bảng tham số Crawldb Thư mục crawldb -dir Thư mục chứa segment danh sách segment | ) -noAddition Không thêm URL vào crawldb Lệnh thực tạo update linkdb với nhiều segment  Usage: nutch invertlinks (-dir | ) Bảng tham số Linkdb Thư mục linkdb -dir Thư mục chứa segment danh sách segment | ) Lệnh thực tạo liệu index cho segment sử dụng thông tin từ crawldb linkdb để tính score cho page liệu index  Usage: nutch index … Bảng tham số Index Thư mục index 191 lOMoARcPSD|15547689 crawldb Thư mục crawldb Linkdb Thư mục linkdb Segment Thư mục segment Lệnh thực merge liệu index segment  Usage: nutch merge [-workingdir ] outputIndex indexesDir Bảng tham số -workingdir Thư mục thực thao tác merge OutputIndex Đường dẫn thư mục chứa liệu index sau merge IndexesDir Đường dẫn thư mục chứa liệu index để phục vụ cho thao tác merge Lệnh thực merge crawdb lại thành crawldb  Usage: nutch mergedb output_crawldb crawldb1 [crawldb2 crawldb3 ] [filter] Bảng tham số output_crawldb Đường dẫn thư mục crawldb output merge thành crawldb1 Các đường dẫn thư mục crawldb input crawldb2 crawldb3 -filter URLFilters áp dụng đến với URL crawldb input để loại URL không mong muốn 192 lOMoARcPSD|15547689 Lệnh thực merge linkdb lại thành linkdb  Usage: nutch mergelinkdb output_linkdb crawldb1 [linkdb2 linkdb3 ] [-filter] Bảng tham số output_linkdb Đường dẫn thư mục linkdb output merge thành linkdb1 Các đường dẫn thư mục linkdb input linkdb2 linkdb3 -filter URLFilters áp dụng đến với URL link crawldb input để loại URL link không mong muốn Lệnh thực merge segment lại thành segment  Usage: nutch mergelinkdb output_dir (-dir segments | seg1 seg2 ) [-filter] [slice NNNN] Bảng tham số output_dir Đường dẫn thư mục chứa segment output merge thành -dir segments Đường dẫn thư mục chứa segment danh sách | seg1 seg2 đường dẫn segment -filter URLFilters áp dụng đến với URL để loại URL không mong muốn -slice NNNN Số lượng segment output, segment chứa NNNN URL 193 lOMoARcPSD|15547689 Lệnh thực xóa trang trùng liệu indexes segment  Usage: nutch dedup Bảng tham số Indexes Các thư mục chứa liệu indexes Lệnh thực load plugin chạy thao tác bên thơng qua hàm main() lớp bên  Usage: nutch plugin [args ] Bảng tham số PluginId ID plugin thực thi ClassName Class với hàm main thực thi thao tác args … Danh sách tham số truyền vào plugin Lệnh thực khởi động Search server  Usage: nutch server Bảng tham số Port Port Search server crawl dir Đường dẫn thư mục chứa liệu segment indexes Ngoài ra, Nutch hỗ trợ command để thực thao tác search  Usage: nutch org.apache.nutch.searcher.NutchBean Bảng tham số Keyword Từ khóa muốn search 194 lOMoARcPSD|15547689 crawl dir Thư mục chưa liệu crawl dùng để thực search 195

Ngày đăng: 07/08/2023, 13:45