1 / 14

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

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)

dick
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. POUŽITIEMAPREDUCE ARCHITEKTÚRY NASPRACOVANIE VEĽKÝCHINFORMAČNÝCHZDROJOV Martin Šeleng, Michal Laclavík, Ladislav Hluchý Ústav Informatiky Slovenská akadémia vied

  2. Obsah • Ú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 Smolenice, 6-7.11.2008

  3. Ú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 Smolenice, 6-7.11.2008

  4. Architektú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í Smolenice, 6-7.11.2008

  5. Distribuovaný súborový systém (GFS a HDFS) • Master/Slave architektúra GFS (Google File System) Smolenice, 6-7.11.2008

  6. Distribuovaný súborový systém (GFS a HDFS) • Master/Slave architektúra HDFS (Hadoop Distributed File System) • Replikácia blokov dát Smolenice, 6-7.11.2008

  7. MapReduce framework (Google a Hadoop) • Spustenie a vykonanie procesu v prostredí MapReduce (Google) Smolenice, 6-7.11.2008

  8. 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. Smolenice, 6-7.11.2008

  9. 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 Smolenice, 6-7.11.2008

  10. Ukáž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)); } Smolenice, 6-7.11.2008

  11. Prí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 Smolenice, 6-7.11.2008

  12. Príkazy v prostredí Hadoop a HBase • bin/hbase • Shellrun 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 Smolenice, 6-7.11.2008

  13. Prí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]] Smolenice, 6-7.11.2008

  14. Prí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 Smolenice, 6-7.11.2008

More Related