Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
utile:hadoop_hbase [2015/09/26 05:15] Andrei Roșu-Cojocaru |
utile:hadoop_hbase [2015/09/28 02:09] (current) Andrei Roșu-Cojocaru [Plugin Hadoop pentru Eclipse] |
||
|---|---|---|---|
| Line 357: | Line 357: | ||
| Framework-ul Hadoop pune la dispoziția utilizatorilor interfețe web ce permit monitorizarea cluster-ului: | Framework-ul Hadoop pune la dispoziția utilizatorilor interfețe web ce permit monitorizarea cluster-ului: | ||
| - | * procesul NameNode ([[http://localhost:50070|]]) oferă informații cu privire la sistemul de fișiere distribuit HDFS, putând fi consultată inclusiv structura acestuia și descărcate resurse din cadrul său;\\ {{ :utile:hadoop_namenode.png?nolink&700 }} | + | * procesul NameNode ([[http://localhost:50070|]]) oferă informații cu privire la sistemul de fișiere distribuit HDFS, putând fi consultată inclusiv structura acestuia și descărcate resurse din cadrul său;\\ {{ :utile:hadoop_hbase:hadoop_namenode.png?nolink }} |
| - | * procesul ResourceManager ([[http://localhost:8088|]]) conține date referitoare la sarcinile care au fost rulate, starea acestora, putând fi consultate și statistici cu privire la aplicațiile executate.\\ {{ :utile:hadoop_resourcemanager.png?nolink&700 }} | + | * procesul ResourceManager ([[http://localhost:8088|]]) conține date referitoare la sarcinile care au fost rulate, starea acestora, putând fi consultate și statistici cu privire la aplicațiile executate.\\ {{ :utile:hadoop_hbase:hadoop_resourcemanager.png?nolink&800 }} |
| ====== Instalare HBase 1.1.2 ====== | ====== Instalare HBase 1.1.2 ====== | ||
| Line 482: | Line 482: | ||
| Sistemul de baze de date distribuit HBase permite gestiunea informațiilor stocate: | Sistemul de baze de date distribuit HBase permite gestiunea informațiilor stocate: | ||
| * în mod text, prin intermediul unei console (shell); | * în mod text, prin intermediul unei console (shell); | ||
| - | * vizual, prin intermediul unei interfețe web. | + | * vizual, prin intermediul unei interfețe web (neimplementată pentru versiunea 1.1.2). |
| ==== Consola (Shell) ==== | ==== Consola (Shell) ==== | ||
| Line 505: | Line 505: | ||
| Prin intermediul interfeței web, disponibilă la [[http://localhost:60010|]], utilizatorul are la dispoziție doar operații de consultare a stării bazei de date sau a vizualizării tabelelor. | Prin intermediul interfeței web, disponibilă la [[http://localhost:60010|]], utilizatorul are la dispoziție doar operații de consultare a stării bazei de date sau a vizualizării tabelelor. | ||
| - | |||
| - | {{ :utile:hadoop_hbase.png?nolink&700 }} | ||
| ====== Plugin Hadoop pentru Eclipse ===== | ====== Plugin Hadoop pentru Eclipse ===== | ||
| - | Dezvoltarea aplicațiilor Hadoop / HDFS în Eclipse poate fi facilitată de folosirea unui plugin: | + | Dezvoltarea aplicațiilor Hadoop / HDFS în Eclipse poate fi facilitată de folosirea [[http://aipi2015.andreirosucojocaru.ro/hadoop-eclipse-plugin-2.6.1.jar|unui plugin]]. |
| - | + | ||
| - | * [[http://aipi2014.andreirosucojocaru.ro/hadoop-eclipse-kepler-plugin-2.2.0.jar|Hadoop 2.2.0]] | + | |
| - | * [[http://aipi2014.andreirosucojocaru.ro/hadoop-eclipse-kepler-plugin-2.6.0.jar|Hadoop 2.6.0]] | + | |
| Arhiva ''.jar'' corespunzătoare acestuia trebuie copiată în subdirectorul ''plugins'' al mediului de dezvoltare Eclipse pentru a putea fi folosit corespunzător. | Arhiva ''.jar'' corespunzătoare acestuia trebuie copiată în subdirectorul ''plugins'' al mediului de dezvoltare Eclipse pentru a putea fi folosit corespunzător. | ||
| Line 526: | Line 521: | ||
| Specificarea unor valori incorecte pentru aceste proprietăți va conduce la eșuarea procesului de obținere a unui plugin pe baza versiunilor curente de Eclipse și Hadoop instalate pe mașina locală. | Specificarea unor valori incorecte pentru aceste proprietăți va conduce la eșuarea procesului de obținere a unui plugin pe baza versiunilor curente de Eclipse și Hadoop instalate pe mașina locală. | ||
| - | |||
| - | Unele biblioteci pot avea o denumire diferită în versiunea curentă de Hadoop față de cea definită în procesul de realizarea a plugin-ului, motiv pentru care, la locațiile indicate, trebuie realizate copii ale respectivelor biblioteci, cu denumirea corectă. | ||
| **2.** Se precizează căile către versiunile de Hadoop / Eclipse existente pe mașina pe care se dorește folosirea acestuia. | **2.** Se precizează căile către versiunile de Hadoop / Eclipse existente pe mașina pe care se dorește folosirea acestuia. | ||
| Line 540: | Line 533: | ||
| Se selectează //Window// → //Perspective// → //Open Perspective// → //Other...// și din cadrul listei de perspective disponibile se selectează opțiunea //Map/Reduce//. | Se selectează //Window// → //Perspective// → //Open Perspective// → //Other...// și din cadrul listei de perspective disponibile se selectează opțiunea //Map/Reduce//. | ||
| - | {{ :utile:hadoop_plugin01.jpg?nolink }} | + | {{ :utile:hadoop_hbase:hadoop_plugin01.png?nolink }} |
| În bara de perspective va apărea secțiunea //Map/Reduce Locations// în care vor trebui configurați anumiți parametrii legați de localizarea framework-ului Hadoop, prin: | În bara de perspective va apărea secțiunea //Map/Reduce Locations// în care vor trebui configurați anumiți parametrii legați de localizarea framework-ului Hadoop, prin: | ||
| - click dreapta în zona de lucru a perspectivei; sau | - click dreapta în zona de lucru a perspectivei; sau | ||
| - | - accesarea pictogramei reprezentând un elefant și semnul + ({{:utile:hadoop_plugin_pictograma.jpg?nolink}}). | + | - accesarea pictogramei reprezentând un elefant și semnul + ({{:utile:hadoop_hbase:hadoop_icon.png?nolink}}). |
| - | {{ :utile:hadoop_plugin03a.jpg?nolink&750 }} | + | {{ :utile:hadoop_hbase:hadoop_plugin02.png?nolink&750 }} |
| - | {{ :utile:hadoop_plugin03b.jpg?nolink&750 }} | + | |
| Definirea unei locații Hadoop presupune: | Definirea unei locații Hadoop presupune: | ||
| Line 555: | Line 547: | ||
| * indicarea utilizatorului care va dezvolta aplicații de tip Map/Reduce. | * indicarea utilizatorului care va dezvolta aplicații de tip Map/Reduce. | ||
| - | {{ :utile:hadoop_plugin02.jpg?nolink }} | + | {{ :utile:hadoop_hbase:hadoop_plugin03.png?nolink }} |
| + | |||
| + | În urma realizării acestor configurații, locația respectivă va fi disponibilă pentru a fi accesată în secțiunea //Map/Reduce Locations//: | ||
| + | |||
| + | {{ :utile:hadoop_hbase:hadoop_plugin04.png?nolink&750 }} | ||
| + | |||
| + | De asemenea, în secțiunea //Project Explorer// va fi disponibil un navigator pentru sistemul de fișiere HDFS (DFS Locations) care oferă posibilitatea interacțiunii cu sistemul de fișiere local prin operații de tip încărcare / descărcare de diferite resurse. | ||
| - | Astfel, în secțiunea Project Explorer va fi disponibil un navigator pentru sistemul de fișiere HDFS (DFS Locations) care oferă posibilitatea interacțiunii cu sistemul de fișiere local prin operații de tip încărcare / descărcare de diferite resurse. | + | {{ :utile:hadoop_hbase:hadoop_plugin05.png?nolink }} |
| - | {{ :utile:hadoop_plugin04.jpg?nolink }} | + | Configurarea unui proiect Map/Reduce se face prin //New// → //Project// → //Map/Reduce// → //Map/Reduce Project//, specificându-se și locația unde a fost instalat framework-ul Hadoop pe discul local (//Use Default Hadoop// → //Configure Hadoop install directory...//) |
| - | Configurarea unui proiect Map/Reduce se face prin ''New'' → ''Project'' → ''Map/Reduce'' → ''Map/Reduce Project'', specificându-se și locația unde a fost instalat framework-ul Hadoop pe discul local (''Use Default Hadoop'' → ''Configure Hadoop install directory...'') | + | {{ :utile:hadoop_hbase:hadoop_plugin06.png?nolink&600 }} |
| - | {{ :utile:hadoop_plugin05.jpg?nolink&600 }} | + | {{ :utile:hadoop_hbase:hadoop_plugin07.png?nolink&600 }} |
| - | {{ :utile:hadoop_plugin06.jpg?nolink&600 }} | + | {{ :utile:hadoop_hbase:hadoop_plugin08.png?nolink&600 }} |
| - | {{ :utile:hadoop_plugin07.jpg?nolink&600 }} | + | Ulterior, clasele specifice acestui tip de aplicaţii (clasa principală, respectiv clasele Mapper şi Reducer) se vor genera automat (//New// → //Other// → //Map/Reduce// de unde se selectează tipurile de clasă respective: //MapReduce Driver//, //Mapper// şi //Reducer//), utilizatorul completând numai conţinutul metodelor responsabile cu sarcinile executate pe fiecare cluster în parte şi cu prelucrarea rezultatelor finale pe baza informaţiilor provenite de la proces care a rulat o anumită parte a sarcinii. |
| - | Ulterior, clasele specifice acestui tip de aplicaţii (clasa principală, respectiv clasele Mapper şi Reducer) se vor genera automat (''New'' → ''Other'' → ''Map/Reduce'' de unde se selectează tipurile de clasă respective: ''MapReduce Driver'', ''Mapper'' şi ''Reducer''), utilizatorul completând numai conţinutul metodelor responsabile cu sarcinile executate pe fiecare cluster în parte şi cu prelucrarea rezultatelor finale pe baza informaţiilor provenite de la proces care a rulat o anumită parte a sarcinii. | + | {{ :utile:hadoop_hbase:hadoop_plugin09.png?nolink&600 }} |
| - | {{ :utile:hadoop_plugin08.jpg?nolink&600 }} | + | {{ :utile:hadoop_hbase:hadoop_plugin10.png?nolink&600 }} |
| - | {{ :utile:hadoop_plugin09.jpg?nolink&600 }} | + | {{ :utile:hadoop_hbase:hadoop_plugin11.png?nolink&600 }} |
| De asemenea, pentru clasele de tip ''Mapper'' / ''Reducer'', vor trebui specificate tipul de intrare şi tipul de ieşire prin indicarea clasei de bază parametrizate pe care o vor moșteni. | De asemenea, pentru clasele de tip ''Mapper'' / ''Reducer'', vor trebui specificate tipul de intrare şi tipul de ieşire prin indicarea clasei de bază parametrizate pe care o vor moșteni. | ||
| - | {{ :utile:hadoop_plugin10.jpg?nolink&600 }} | + | {{ :utile:hadoop_hbase:hadoop_plugin12.png?nolink&600 }} |
| - | {{ :utile:hadoop_plugin11.jpg?nolink&600 }} | + | {{ :utile:hadoop_hbase:hadoop_plugin13.png?nolink&600 }} |
| - | {{ :utile:hadoop_plugin12.jpg?nolink&600 }} | + | {{ :utile:hadoop_hbase:hadoop_plugin14.png?nolink&600 }} |
| - | {{ :utile:hadoop_plugin13.jpg?nolink&600 }} | + | {{ :utile:hadoop_hbase:hadoop_plugin15.png?nolink&600 }} |
| Întrucât se doreşte ca rezultatele procesărilor distribuite să fie afişate în cadrul consolei Eclipse, se va crea un fişier ''log4j.properties'' care va fi plasat în subdirectorul ''bin'' al proiectului respectiv: | Întrucât se doreşte ca rezultatele procesărilor distribuite să fie afişate în cadrul consolei Eclipse, se va crea un fişier ''log4j.properties'' care va fi plasat în subdirectorul ''bin'' al proiectului respectiv: | ||
| Line 595: | Line 593: | ||
| </file> | </file> | ||
| - | Rularea proiectului va trebui realizată în contexul Hadoop, astfel încât să fie invocate procesele care sunt responsabile cu distribuirea sarcinii, respectiv cu preluarea rezultatelor obţinute în urma prelucrărilor pe diferite sarcini. Astfel, din meniul contextual al proiectului va trebui să se specifice ''Run As'' → ''Run On Hadoop''. | + | Rularea proiectului va trebui realizată în contexul Hadoop, astfel încât să fie invocate procesele care sunt responsabile cu distribuirea sarcinii, respectiv cu preluarea rezultatelor obţinute în urma prelucrărilor pe diferite sarcini. Astfel, din meniul contextual al proiectului va trebui să se specifice //Run As// → //Run On Hadoop//. |
| - | {{ :utile:hadoop_plugin14.jpg?nolink&500 }} | + | {{ :utile:hadoop_hbase:hadoop_plugin16.png?nolink }} |
| Pe măsură ce este rulată aplicaţia, în consolă vor fi afişate actualizările privind sarcinile de tip map şi sarcinile de tip reduce, exprimate procentual. | Pe măsură ce este rulată aplicaţia, în consolă vor fi afişate actualizările privind sarcinile de tip map şi sarcinile de tip reduce, exprimate procentual. | ||
