P OUŽITIE MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH INFORMAČNÝCH ZDROJOV

14
P P OUŽITIE OUŽITIE MAPREDUCE ARCHITEKTÚRY NA MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH SPRACOVANIE VEĽKÝCH INFORMAČNÝCH INFORMAČNÝCH ZDROJOV ZDROJOV Martin Šeleng, Michal Laclavík, Ladislav Hluchý Ústav Informatiky Slovenská akadémia vied

description

P OUŽITIE MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH INFORMAČNÝCH ZDROJOV. Martin Šeleng, Michal Laclavík, Ladislav Hluchý Ústav Informatiky Slovenská akadémia vied. Obsah. Úvod Architektúra Distribuovan ý súborový systém (GFS a HDFS) MapReduce framework (Google a Hadoop) - PowerPoint PPT Presentation

Transcript of P OUŽITIE MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH INFORMAČNÝCH ZDROJOV

Page 1: P OUŽITIE MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH INFORMAČNÝCH ZDROJOV

PPOUŽITIEOUŽITIE MAPREDUCE ARCHITEKTÚRY NAMAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCHSPRACOVANIE VEĽKÝCH INFORMAČNÝCHINFORMAČNÝCH ZDROJOVZDROJOV

Martin Šeleng, Michal Laclavík, Ladislav HluchýÚstav Informatiky

Slovenská akadémia vied

Page 2: P OUŽITIE MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH INFORMAČNÝCH ZDROJOV

WIKT 2008 Smolenice, 6-7.11.2008 2

ObsahObsah

• Úvod

• Architektúra

• Distribuovaný súborový systém (GFS a HDFS)

• MapReduce framework (Google a Hadoop)

• Distribuovaná databáza (BigTable a HBase)

• Ukážka programu spracovávaného v MapReduce klusteri

• Záver

Page 3: P OUŽITIE MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH INFORMAČNÝCH ZDROJOV

WIKT 2008 Smolenice, 6-7.11.2008 3

ÚvodÚvod

• Architektúra– spôsob distribuovania dát, – množstvo a spôsob replikácie dát, – spôsob (framework) paralelného spracovania,– množstvo a typ uzlov, na ktorých bude spracovanie prebiehať,– jednoducho škálovateľný systém, ktorý by bol efektívny a spoľahlivý.

• Existujúce systémy na spracovanie veľkého množstva informácií– Parallel Virtual Machine (PVM)– Message Passing Interface (MPI)– Condor - High Throughput Computing (HTC)– Gridové riešenia

Page 4: P OUŽITIE MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH INFORMAČNÝCH ZDROJOV

WIKT 2008 Smolenice, 6-7.11.2008 4

ArchitektúraArchitektúra

• Google idea– dvojjadrové x86 procesory, beží na nich operačný systém Linux

a majú 2-4GB pamäte– sieťové pripojenie s rýchlosťou 100Mb/s– Kluster pozostáva zo stoviek až tisícok pracovných staníc– disky s IDE rozhraním– Používateľ posiela do systému procesy, ktoré plánovač rozdelí na

voľné pracovné stanice a spustí

Page 5: P OUŽITIE MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH INFORMAČNÝCH ZDROJOV

WIKT 2008 Smolenice, 6-7.11.2008 5

DistribuovanDistribuovaný súborový systém (GFS a HDFS)ý súborový systém (GFS a HDFS)

• Master/Slave architektúra GFS (Google File System)

Page 6: P OUŽITIE MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH INFORMAČNÝCH ZDROJOV

WIKT 2008 Smolenice, 6-7.11.2008 6

DistribuovanDistribuovaný súborový systém (GFS a HDFS)ý súborový systém (GFS a HDFS)

• Master/Slave architektúra HDFS (Hadoop Distributed File System)• Replikácia blokov dát

Page 7: P OUŽITIE MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH INFORMAČNÝCH ZDROJOV

WIKT 2008 Smolenice, 6-7.11.2008 7

MapReduce framework (Google a Hadoop)MapReduce framework (Google a Hadoop)

• Spustenie a vykonanie procesu v prostredí MapReduce (Google)

Page 8: P OUŽITIE MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH INFORMAČNÝCH ZDROJOV

WIKT 2008 Smolenice, 6-7.11.2008 8

MapReduce framework (Google a Hadoop)MapReduce framework (Google a Hadoop)

• Spustenie a vykonanie procesu v prostredí MapReduce (Hadoop)– Na uzle JobTracker sa spustí požadovaný proces, ktorý má

naimplementované funkcie Map a Reduce.– JobTracker preskúma voľné uzly a podľa potreby (v závislosti od

veľkosti vstupných dát) pridelí potrebné množstvo výpočtových uzlov (TaskTracker v závislosti od počtu jadier zvládne počítať 2 až 4 úlohy naraz). Súčasne je spustená aj úloha Reduce (v závislosti od množstva dát a uzlov sa môže spustiť aj viac úloh Reduce).

– Po dokončení niektorej z  Map úloh sa jej výsledky prekopírujú na niektorý z uzlov, kde beží úloha Reduce. Výsledky sa utriedia a čaká sa na ukončenie všetkých úloh Map.

– Po dokončení všetkých úloh Map sa spustia úlohy Reduce a po ich ukončení dostaneme utriedený zoznam párov kľúč/hodnota.

Page 9: P OUŽITIE MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH INFORMAČNÝCH ZDROJOV

WIKT 2008 Smolenice, 6-7.11.2008 9

Distribuovaná databáza (BigTable a HBase)Distribuovaná databáza (BigTable a HBase)

• Ukážka tabuľky uloženej v systéme HBase (podobne BigTable) – konceptuálny pohľad

• Ukážka tabuľky uloženej v systéme HBase – fyzické uloženie v HDFS

Page 10: P OUŽITIE MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH INFORMAČNÝCH ZDROJOV

WIKT 2008 Smolenice, 6-7.11.2008 10

Ukážka programu spracovávaného v MapReduce klusteriUkážka programu spracovávaného v MapReduce klusteri

• Funkcia Map:public void map(LongWritable key, Text value, OutputCollector<Text, IntWritable>

output, Reporter reporter) throws IOException { Text word = new Text(); String line = value.toString().toLowerCase(); StringTokenizer tokenizer = new StringTokenizer(line); while (tokenizer.hasMoreTokens()) { word.set(tokenizer.nextToken()); output.collect(word, one); }}

• Funkcia Reduce: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));}

Page 11: P OUŽITIE MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH INFORMAČNÝCH ZDROJOV

WIKT 2008 Smolenice, 6-7.11.2008 11

Príkazy v prostredí Hadoop a HBasePríkazy v prostredí Hadoop a HBase

• bin/hadoop– namenode -format format the DFS filesystem– secondarynamenode run the DFS secondary namenode– namenode run the DFS namenode– datanode run a DFS datanode– dfsadmin run a DFS admin client– fsck run a DFS filesystem checking utility– fs run a generic filesystem user client– balancer run a cluster balancing utility– jobtracker run the MapReduce job Tracker node– pipes run a Pipes job– tasktracker run a MapReduce task Tracker node– job manipulate MapReduce jobs– version print the version– jar <jar> run a jar file– distcp <srcurl> <desturl> copy file or directories recursively– daemonlog get/set the log level for each daemon

Page 12: P OUŽITIE MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH INFORMAČNÝCH ZDROJOV

WIKT 2008 Smolenice, 6-7.11.2008 12

Príkazy v prostredí Hadoop a HBasePríkazy v prostredí Hadoop a HBase

• bin/hbase– Shell run the Hbase shell– master run an Hbase HMaster node– regionserver run an Hbase HRegionServer node– rest run an Hbase REST server– thrift run an Hbase Thrift server– migrate upgrade an hbase.rootdir

Page 13: P OUŽITIE MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH INFORMAČNÝCH ZDROJOV

WIKT 2008 Smolenice, 6-7.11.2008 13

Príkazy v prostredí Hadoop a HBasePríkazy v prostredí Hadoop a HBase

• Operácie HDFS - /bin/hadoop fs– [-ls <path>]– [-lsr <path>]– [-du <path>]– [-dus <path>]– [-mv <src> <dst>]– [-cp <src> <dst>]– [-rm <path>]– [-rmr <path>]– [-expunge]– [-put <localsrc> <dst>]– [-copyFromLocal <localsrc> <dst>]– [-moveFromLocal <localsrc> <dst>]– [-get [-crc] <src> <localdst>]– [-getmerge <src> <localdst> [addnl]]– [-cat <src>]– [-text <src>]– [-copyToLocal [-crc] <src> <localdst>]– [-moveToLocal [-crc] <src> <localdst>]– [-mkdir <path>]– [-setrep [-R] [-w] <rep> <path/file>]– [-touchz <path>]– [-test -[ezd] <path>]– [-stat [format] <path>]– [-tail [-f] <file>]– [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]– [-chown [-R] [OWNER][:[GROUP]] PATH...]– [-chgrp [-R] GROUP PATH...]– [-help [cmd]]

Page 14: P OUŽITIE MAPREDUCE ARCHITEKTÚRY NA SPRACOVANIE VEĽKÝCH INFORMAČNÝCH ZDROJOV

WIKT 2008 Smolenice, 6-7.11.2008 14

Príkazy v prostredí Hadoop a HBasePríkazy v prostredí Hadoop a HBase

• HBase Shell– SHOW tables;– DROP table;– SELECT data: FROM emails_data WHERE row='1_IR_2';– …

• Spustenie MapReduce úlohy v Hadoop klusteri– bin/hadoop jar name,jar [parameters] input output– bin/hadoop jar hadoop-0.16.4-examples.jar wordcount /home/enron

/home/out