Lab 11 Hadoop MapReduce (2)

Similar documents
Khối: Cao Đẳng nghề và Trung Cấp Năm 2009

Bộ môn MMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG CẬP NHẬT CHỨNG THƯ SỐ HOTLINE:

HƯỚNG DẪN CÀI ĐẶT PHẦN MỀM DIỆT VIRUS AVIRA

HƯỚNG DẪN SỬ DỤNG PLESK PANEL

Hướng dẫn cài đặt FPT

HƯỚNG DẪN CÁCH SỬ DỤNG WINDOWS MOVIE MAKER

BÀI 1: VBA LÀ GÌ? TẠO MACRO, ỨNG DỤNG CÁC HÀM TỰ TẠO (UDF), CÀI ĐẶT ADD-INS VBA là gì?

Bộ môn HTMT&TT, Khoa Công Nghệ Thông Tin và TT, ĐH Cần Thơ

Lab01: M V C Lưu ý: Để thực hành, các bạn phải cài Visual Studio 2013 trở lên mới hỗ trợ MVC5.

Tình huống 1: PPPoE với Username và Password

Chương 7. Application Layer. Tài liệu : Forouzan, Data Communication and Networking

SIEMENS INDUSTRIAL NETWORKS

Cụ thể những công việc mà AndroidManifest.xml thực hiện: - Đặt tên cho Java package của ứng dụng.

TÀI LIỆU THỰC HÀNH MÔN CƠ SỞ DỮ LIỆU NÂNG CAO

Bài Thực hành Asp.Net - Buổi 1 - Trang: 1

Internet Protocol. Bởi: Phạm Nguyễn Bảo Nguyên

I. Hướng Dẫn Đăng Nhập:

GIẢI THUẬT ĐỊNH TUYẾN (ROUTING ALGORITHM)

Tạo Project với MPLAB

LẬP TRÌNH WINDOWS FORM VỚI CÁC CONTROL NÂNG CAO (Các control trình bày dữ liệu dưới dạng danh sách)

TÀI LIỆU HƯỚNG DẪN SỬ DỤNG HOSTING PLESK PANEL

LÂ P TRI NH WEB ASP.NET

Entity Framework (EF)

BÀI TẬP THỰC HÀNH LẬP TRÌNH WINDOWS C#

BÀI 6 LÀM VIỆC VỚI THÀNH PHẦN MỞ RỘNG CỦA CSS3

Nội dung chính của chương. Các công nghệ đĩa cứng Cấu tạo vật lý của đĩa cứng Cấu tạo logic của đĩa cứng Cài đặt đĩa cứng như thế nào?

Giáo trình này được biên dịch theo sách hướng dẫn của Sun Light. Vì là hướng dẫn kỹ thuật, trong này những thuật ngữ kỹ thuật bằng tiếng Anh tôi chỉ

Qu n ả tr h ố g t p ậ tin

Online Appointment System will work better with below conditions/ Hệ thống đặt hẹn online sẽ hoạt động tốt hơn với điều kiện sau đây:

STACK và QUEUE. Lấy STACK

BẢO MẬT TRONG SQL SERVER

Nhấn nút New để tạo 1 biến mới Trang 17

Chương 5. Network Layer 19/09/2016 1

LAB IP SLA Bài 1. Bùi Quốc Kỳ ***

BELGIUM ONLINE APPOINTMENT

Chương 5. Network Layer. Phần 1 - Địa chỉ IPv4. Tài liệu : Forouzan, Data Communication and Networking

HƯỚNG DẪN SỬ DỤNG ĐẦU GHI H.264 DVR VISION VS (4CH - 8CH - 16CH)

SIMULATE AND CONTROL ROBOT

Cập nhật ResultSet trong JDBC

Mô hình dữ liệu quan hệ (Relational data model)

GV: Phạm Đình Sắc or

PHÁT TRIỂN ỨNG DỤNG WEB

Dọn "rác" Windows 7 vào dịp cuối năm

MỤC LỤC. Giáo trình Thiết kế web Trang 1

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ CDN

Cài đặt và cấu hình StarWind iscsi trên Windows. iscsi SAN là gì?

Ôn tập Thiết bị mạng và truyền thông DH07TT - Lưu hành nội bộ (không sao chép dưới mọi hình thức)

HƯỚNG DẪN SỬ DỤNG NHANH MINDJET MIND MANAGER

ĐỌC, GHI XML VỚI C# TRONG ADO.NET --- SỬ DỤNG VISUAL STUDIO

BÀI LAB ĐỔI TÊN DOMAIN

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ CDN

Mạng máy tính - Computer Network: Hệ. Giao thức - Protocol:

Đa ngôn ngữ (Internationalization) trong Servlet

TỔNG QUAN VỀ.NET VÀ C#

Chương 6. Transport Layer. Tài liệu : Forouzan, Data Communication and Networking

Khoa KH & KTMT Bộ môn Kỹ Thuật Máy Tính

1 Bước 1: Test thử kit LaunchPad.

Bài tập lớn số 1. Giả lập bộ định thời

HƢỚNG DẪN TRIỂN KHAI KASPERSKY - MOBILE DEVICE MANAGEMENT

Tài liệu hướng dẫn: Stored Procedure

Tìm hiểu Group Policy Object và các ví dụ

BÀI THỰC HÀNH SỐ 1. Quản trị tập tin: 1/ Tạo các thư mục sau: Bài tập thực hành linux Linuxlab. bt1 bt11 bt111. bt121. bt12. bh1 bh11 bh111.

CẤU TRÚC DỮ LIỆU NÂNG CAO

HTML DOM - Forms. MSc. nguyenhominhduc

dụng một chính sách, điều này giúp dễ dàng quản lý và cung cấp tính năng Load Balancing (cân bằng tải) phục vụ tốt hơn các yêu cầu của tổ chức.

Các kiểu định địa chỉ họ MSC-51

Khối: Cao Đẳng nghề và Trung Cấp Năm 2009

Quản trị Linux nâng cao. Tháng 9/2013

CHƯƠNG 2: CÁC ĐẶC ĐIỂM VỀ MÔI TRƯỜNG PHÁT TRIỂN (IDE)

NHẬP MÔN LẬP TRÌNH KHOA HỌC DỮ LIỆU. Bài 10: Thư viện Pandas (2)

Kích hoạt phương thức xa (RMI- Remote Method Invocation )

Bài 10. Cấu trúc liên nối. khác nhau được gọi là cấu trúc liên nối. nhu cầu trao đổi giữa các module.

Hướng Dẫn Thực Hành Tập tin & Thư mục

Kỹ thuật thu nhỏ đối tượng trong Design (Layout)

B5: Time to coding. Tới thư mục src/example.java và thay đổi nội dung file như sau: Mã: package at.exam;

KIẾN TRÚC MÁY TÍNH. Giảng viên: ThS. Phan Thanh Toàn. v

Exceptions. Outline 7/31/2012. Exceptions. Exception handling is an important aspect of objectoriented. Chapter 10 focuses on:

Parallels Cloud Server 6.0

Cấu hình Router FTTH ---X---

Phần 2. SỬ DỤNG POWERPOINT ĐỂ CHUẨN BỊ NỘI DUNG TRÌNH BÀY

Bài 13: C++11. EE3490: Kỹ thuật lập trình HK1 2017/2018 TS. Đào Trung Kiên ĐH Bách khoa Hà Nội

LINQ TO SQL & ASP.NET

Tạo repository mới. The working tree. The staging index. Lệnh git init tạo một repository loại git. tại thư mục hiện tại: $ git init

BÀI GIẢNG CHƯƠNG 3 GIAO TIẾP KẾT NỐI SỐ LIỆU

HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG KASPERSKY SECURITY CENTER. Version

Bài thực hành số 2 QUYỀN và ROLE

Lập trình chuyên nâng cao. Lập trình phân tán (Distributed computing

CHAPTER 6: DANH SÁCH LIÊN KẾT (LINKED LISTS)

NHÚNG. Vi ñiều khiển BM Kỹ Thuật ðiện Tử - ðh Bách Khoa TP.HCM 2

CHƯƠNG VII CASCADING STYLE SHEET-CSS

Kiến trúc 8051 và giới thiệu về ngôn ngữ lập trình Assembly

Tröôøng Ñaïi Hoïc Baùch Khoa Tp.HCM LẬP TRÌNH MINICHAT. Bài giảng 3. Trang1. Khoa Khoa Học Và Kỹ Thuật Máy Tính

HỢP ĐỒNG MUA BÁN HÀNG HÓA QUỐC TẾ GV: NGUYỄN THỊ BÍCH PHƯỢNG

LẬP TRÌNH 8051 SỐ HỌC VÀ LÔ GIC

B3: Bên khung Package Explore bên trái đi tới thư mục res, bạn sẽ thấy có 3 thư mục con:

Time Picker trong Android

Virtual LAB Summary (CCNA Routing & Switching)

MA NG MA Y TI NH (Computer Networks)

PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG NÂNG CAO

Transcription:

Lab 11 Hadoop MapReduce (2) 1 Giới thiệu Để thiết lập một Hadoop cluster, SV chọn ít nhất là 4 máy tính. Mỗi máy có vai trò như sau: - 1 máy làm NameNode: dùng để quản lý không gian tên (namespace) và đi ều khiển truy cập cho hệ thống. Chỉ có một máy NameNode duy nhất trong cluster. - 1máy làm JobTracker: theo dõi hoạt động của các node con (slave node). Chỉ một máy làm JobTracker - DataNode: lưu giữ các file dữ liệu và quản lý vùng lưu tr ữ cục bộ của nó. Có thể có nhiều DataNode. - TaskTracker: là các node con (slaves) thực thi các tác vụ map và reduce. Có thể có nhiều TaskTracker. Mỗi node trong cluster có thể là master hay slave. NameNode và JobTracker có thể là cùng một máy nhưng để tăng hiệu suất cho hệ thống thì chúng nên là hai máy riêng biệt và chúng là các máy đóng vai trò master. Các máy còn lại là slave và đảm nhận vai trò DataNode lẫn TaskTracker. Yêu cầu sinh viên thực thi ứng dụng WordCount trên hai mô hình: Pseudo-Distributed Operation và Fully-Distributed Operation để hiểu rõ hoạt động của mô hình Map/Reduce và kiến trúc HDFS (Hadoop Distributed FileSystem). 2 Nội dung 2.1 Cài đặt và sử dụng MapReduce như một Cluster SV chọn ít nhất 4 máy và thực hiện thiết lập các bước như sau: - Download : hadoop distribution từ một trong các liên kết sau o http:// hadoop.apache.org o http://www.cse.hcmut.edu.vn/~nathu/xlss - Cấu hình 3 tập tin chính trong thư mục hadoop-version/conf: conf/core-site.xml: Thiết lập namenode

<configuration> <name>fs.default.name</name> <value>hdfs://172.28.12.20:9000</value> </configuration> SV thay đổi địa chỉ IP tương ứng với máy đã chọn! conf/hdfs-site.xml: <configuration> <name>dfs.replication</name> <value>2</value> </configuration> conf/mapred-site.xml: Thiết lập JobJacker <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <name>mapred.job.tracker </name> <value>172.28.12.45:9001</value> // SV thay doi dia chi IP tuong ung <name>mapred.local.dir</name> <value>/home/phuong/local</value> // SV thay doi thu muc tuong ung

<name>mapred.map.tasks</name> <value>20</value> // SV thay so luong map task <name>mapred.reduce.tasks</name> <value>4</value> // SV thay doi so luong reduce task <name>mapred.task.tracker.http.address</name> <value>172.28.12.45:50060</value> // SV thay doi dia chi IP tuong ung </configuration> - Khởi động môi trường hadoop mapreduce bằng các lệnh sau: Trên NameNode thực hiện lệnh o $bin/hadoop namenode format o $bin/start-dfs.sh Trên JobTracker thực hiện lệnh: o $bin/start-mapred.sh o Thực hiện duyệt các trang web sau để kiểm tra xem hadoop mapreduce đã hoạt động hay chưa : Namenode: http://dia chi IP NameNode:50070 JobTracker: http://dia chi IP JobTracker:50030 - Thực thi ứng dụng mẫu được cung cấp bởi hadoop:

o $bin/hadoop fs -put conf input o $bin/hadoop jar hadoop-example-*.jar grep input output dfs[a-z.]+ o $bin/hadoop fs get output output o $cat output/* - Kết thúc môi trường hadoop mapreduce Trên NameNode thực hiện lệnh o $bin/hadoop namenode format o $bin/stop-dfs.sh Trên JobTracker thực hiện lệnh: o $bin/stop-mapred.sh 2.2 Thực thi ứng dụng WordCount SV có thể sử dụng mã nguồn WordCount.java của Google như bên dưới hoặc tự viết. package org.myorg; import java.io.ioexception; import java.util.*; import org.apache.hadoop.fs.path; import org.apache.hadoop.conf.*; import org.apache.hadoop.io.*; import org.apache.hadoop.mapred.*; import org.apache.hadoop.util.*; public class WordCount { public static class Map extends MapReduceBase implements Mapper<LongWritable, Text, Text, IntWritable> { private final static IntWritable one = new IntWritable(1); private Text word = new Text(); public void map(longwritable key, Text value, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException { String line = value.tostring(); StringTokenizer tokenizer = new StringTokenizer(line); while (tokenizer.hasmoretokens()) { word.set(tokenizer.nexttoken());

output.collect(word, one); public static class Reduce extends MapReduceBase implements Reducer<Text, IntWritable, Text, IntWritable> { public void reduce(text key, Iterator<IntWritable> values, OutputCollector<Text, IntWritable> output, Reporter reporter) throws IOException { int sum = 0; while (values.hasnext()) { sum += values.next().get(); output.collect(key, new IntWritable(sum)); public static void main(string[] args) throws Exception { JobConf conf = new JobConf(WordCount.class); conf.setjobname("wordcount"); conf.setoutputkeyclass(text.class); conf.setoutputvalueclass(intwritable.class); conf.setmapperclass(map.class); conf.setcombinerclass(reduce.class); conf.setreducerclass(reduce.class); conf.setinputformat(textinputformat.class); conf.setoutputformat(textoutputformat.class); FileInputFormat.setInputPaths(conf, new Path(args[0])); FileOutputFormat.setOutputPath(conf, new Path(args[1])); JobClient.runJob(conf); Để thực thi ứng dụng, sv cần thực hiện:

2.2. 1 Chuyển chương trình WordCount.java thành file.jar: vd WordCount.jar $ mkdir wordcount_class $ javac -classpath {HADOOP_HOME/hadoop-${HADOOP_VERSION-core.jar -d wordcount_classes WordCount.java $ jar cvf wordcount.jar C wordcount_classes/. 2.2.2 Thực thi chương trình SV tạo hai tập tin file1, file2 có nội dung tùy ý, chuyển chúng vào thư mục input và thực thi lệnh bên dưới: $ bin/hadoop jar WordCount.jar org.myorg.wordcount input output Chú ý: Một số lệnh thao tác trên HDFS $ bin/hadoop dfs put <source> <dest> : cung cấp input cho chương trình $ bin/hadoop dfs get <dest> <source> : lấy về output của chương trình. $ bin/hadoop dfs rmr <dir> : xóa thư mục. $ bin/hadoop dfs rm <file> : xóa tập tin 3 Bài tập 1 SV thực thi chương trình WordCount ver2 của Google. 2 SV viết chương trình tính PI theo mô hình Map/Reduce.