Browse Source

v1.1-Report

master
Evangelos Oulis 4 years ago
parent
commit
07c5ebf2ce
  1. BIN
      fig1.png
  2. 61
      report.adoc
  3. 83
      report.html

BIN
fig1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

61
report.adoc

@ -141,9 +141,70 @@ Containers. Τα Containers είναι απομονομένα το ένα από
git clone git@github.com:big-data-europe/docker-hadoop.git
----
==== Παραγωγή των Docker Image
Για την παραγωγή όλων των Docker Images θα χρησιμοποιήσουμε το αρχείο *Makefile* που διαθέτει το project.
Με την εντολή (*make*) γίνεται η παραγωγή των απαραίτητων Docker Images. Έπειτα τα dockers που δημιουργήθηκαν
μπορούμε να τα ερευνήσουμε εκτελώντας την εντολή *docker images* . Ένα στιγμιότυπο της μηχανής leader παρουσιάζεται
παρακάτω.
[source, txt]
----
REPOSITORY TAG IMAGE ID CREATED SIZE
bde2020/hadoop-resourcemanager 1.1.0-hadoop2.7.1-java8 c1e9b215cb9b 9 hours ago 1.37GB
bde2020/hadoop-historyserver 1.1.0-hadoop2.7.1-java8 495fd0b43074 9 hours ago 1.37GB
bde2020/hadoop-nodemanager 1.1.0-hadoop2.7.1-java8 d61cf73e6c0c 9 hours ago 1.37GB
bde2020/hadoop-datanode 1.1.0-hadoop2.7.1-java8 51340609864b 9 hours ago 1.37GB
bde2020/hadoop-namenode 1.1.0-hadoop2.7.1-java8 69b2a3c5f4dd 9 hours ago 1.37GB
bde2020/hadoop-submit master e9f7299c31a5 9 hours ago 1.37GB
----
==== Docker Compose Services (Αναφορά)
Έπειτα μέσω ενός YAML αρχείου θα κάνουμε expose τις απαραίτητες υπηρεσίες σε κάθε κόμβο της τοπολογίας
του ενός leader και των τεσσάρων slaves. Η τοπολογία που χρησιμοποιήσαμε στο cluster που διαθέτουμε είναι
η εξής:
* expose τεσσάρων κόμβων ως κόμβους οι οποίοι θα προσφέρουν του υπολογιστικούς πόρους τους για
την επεξεργασία δεδομένων.
* expose ενός κόμβου ως manager, HDFS και YARN.
.General Graph of Topology
image::fig1.png[]
Παρακάτω θα απαριθμήσουμε την κάθε υπηρεσία όπου το *docker compose* κάνει expose.
* **nodename** : Υπηρεσία η οποία γίνεται expose σε έναν κόμβο της τοπολογίας, στον leader κόμβο του
cluster μας. Το NodeName αποτελεί κομβική υπηρεσία του HDFS. Πρακτικά είναι υπεύθυνος να κρατάει το
*direcotry tree* όλων των αρχείων του System File, και καταγράφει την θέση κάθε δεδομένου (data) κατά
μήκος του Cluster.
* **datanode** : Υπηρεσία η οποία γίνεται expose σε όλους τους κόμβους της τοπολογίας ως κόμβοι
οι οποίοι θα μπορούν να εκτελέσουν υπολογισμούς. Τα DataNode στιγμιότυπα έχουν την ικανότητα
να επικοινωνούν μεταξύ τους, το οποίο γίνεται όταν οι DataNodes αναπαράγουν τα data.
* **resource manager**: Υπηρεσία η οποία γίνεται expose μόνο στον leader κόμβο της τοπολογίας μας.
Ουσιαστικά αυτή η υπηρεσία αφορά τον YARN ο οποίος είναι υπεύθυνος για την διαχείριση των υπολογιστικών
πόρων και των πόρων του δικτύου που διέπει τις μηχανές, την χρονοδρομολόγηση των Tasks και τον προγραμματισμό
της εφαρμογής (e.g. MapReduce jobs).
* **node manager**: Υπηρεσία που γίνεται expose σε όλους τους κόμβους της τοπολογίας. Αποτελεί μία ειδική
περίπτωση *TaskTracker* ο οποίος είναι πιο ευέλικτος από τον TaskTracker. Είνα υπεύθυνος για τον δυναμική
δέσμαυση των πόρων κάθε μηχανής. Ακόμα, για τον Node Manager ισχύει ότι αποτελεί ένα deamon του YARN.
* **history server**: Υπηρεσία που τρέχει μόνο στον leader του cluster μας. Εκτελεί ένα REST-API το οποίο
επιτρέπει στον τελικό χρήστη να αποκτήσει την κατάσταση κάθε εφαρμογής MapReduce η οποία έχει τερματίσει.
==== Docker Compose Υπηρεσιών
Έπειτα, θα πρέπει
== References
* [1] link:++https://en.wikipedia.org/wiki/Apache_Hadoop++[Hadoop General Description]
* [2] link:++https://clubhouse.io/developer-how-to/how-to-set-up-a-hadoop-cluster-in-docker/++[Setting Up Hadoop on a Cluster]
(C)

83
report.html

@ -655,6 +655,84 @@ Containers. Τα Containers είναι απομονομένα το ένα από
<pre class="highlight"><code class="language-bash" data-lang="bash">git clone git@github.com:big-data-europe/docker-hadoop.git</code></pre>
</div>
</div>
<div class="sect3">
<h4 id="_παραγωγή_των_docker_image">Παραγωγή των Docker Image</h4>
<div class="paragraph">
<p>Για την παραγωγή όλων των Docker Images θα χρησιμοποιήσουμε το αρχείο <strong>Makefile</strong> που διαθέτει το project.
Με την εντολή (<strong>make</strong>) γίνεται η παραγωγή των απαραίτητων Docker Images. Έπειτα τα dockers που δημιουργήθηκαν
μπορούμε να τα ερευνήσουμε εκτελώντας την εντολή <strong>docker images</strong> . Ένα στιγμιότυπο της μηχανής leader παρουσιάζεται
παρακάτω.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code class="language-txt" data-lang="txt">REPOSITORY TAG IMAGE ID CREATED SIZE
bde2020/hadoop-resourcemanager 1.1.0-hadoop2.7.1-java8 c1e9b215cb9b 9 hours ago 1.37GB
bde2020/hadoop-historyserver 1.1.0-hadoop2.7.1-java8 495fd0b43074 9 hours ago 1.37GB
bde2020/hadoop-nodemanager 1.1.0-hadoop2.7.1-java8 d61cf73e6c0c 9 hours ago 1.37GB
bde2020/hadoop-datanode 1.1.0-hadoop2.7.1-java8 51340609864b 9 hours ago 1.37GB
bde2020/hadoop-namenode 1.1.0-hadoop2.7.1-java8 69b2a3c5f4dd 9 hours ago 1.37GB
bde2020/hadoop-submit master e9f7299c31a5 9 hours ago 1.37GB</code></pre>
</div>
</div>
</div>
<div class="sect3">
<h4 id="_docker_compose_services">Docker Compose Services</h4>
<div class="paragraph">
<p>Έπειτα μέσω ενός YAML αρχείου θα κάνουμε expose τις απαραίτητες υπηρεσίες σε κάθε κόμβο της τοπολογίας
του ενός leader και των τεσσάρων slaves. Η τοπολογία που χρησιμοποιήσαμε στο cluster που διαθέτουμε είναι
η εξής:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>expose τεσσάρων κόμβων ως κόμβους οι οποίοι θα προσφέρουν του υπολογιστικούς πόρους τους για
την επεξεργασία δεδομένων.</p>
</li>
<li>
<p>expose ενός κόμβου ως manager, HDFS και YARN.</p>
</li>
</ul>
</div>
<div class="imageblock">
<div class="content">
<img src="fig1.png" alt="fig1">
</div>
<div class="title">Figure 1. General Graph of Topology</div>
</div>
<div class="paragraph">
<p>Παρακάτω θα απαριθμήσουμε την κάθε υπηρεσία όπου το <strong>docker compose</strong> κάνει expose.</p>
</div>
<div class="ulist">
<ul>
<li>
<p><strong>nodename</strong> : Υπηρεσία η οποία γίνεται expose σε έναν κόμβο της τοπολογίας, στον leader κόμβο του
cluster μας. Το NodeName αποτελεί κομβική υπηρεσία του HDFS. Πρακτικά είναι υπεύθυνος να κρατάει το
<strong>direcotry tree</strong> όλων των αρχείων του System File, και καταγράφει την θέση κάθε δεδομένου (data) κατά
μήκος του Cluster.</p>
</li>
<li>
<p><strong>datanode</strong> : Υπηρεσία η οποία γίνεται expose σε όλους τους κόμβους της τοπολογίας ως κόμβοι
οι οποίοι θα μπορούν να εκτελέσουν υπολογισμούς. Τα DataNode στιγμιότυπα έχουν την ικανότητα
να επικοινωνούν μεταξύ τους, το οποίο γίνεται όταν οι DataNodes αναπαράγουν τα data.</p>
</li>
<li>
<p><strong>resource manager</strong>: Υπηρεσία η οποία γίνεται expose μόνο στον leader κόμβο της τοπολογίας μας.
Ουσιαστικά αυτή η υπηρεσία αφορά τον YARN ο οποίος είναι υπεύθυνος για την διαχείριση των υπολογιστικών
πόρων και των πόρων του δικτύου που διέπει τις μηχανές, την χρονοδρομολόγηση των Tasks και τον προγραμματισμό
της εφαρμογής (e.g. MapReduce jobs).</p>
</li>
<li>
<p><strong>node manager</strong>: Υπηρεσία που γίνεται expose σε όλους τους κόμβους της τοπολογίας. Αποτελεί μία ειδική
περίπτωση <strong>TaskTracker</strong> ο οποίος είναι πιο ευέλικτος από τον TaskTracker. Είνα υπεύθυνος για τον δυναμική
δέσμαυση των πόρων κάθε μηχανής. Ακόμα, για τον Node Manager ισχύει ότι αποτελεί ένα deamon του YARN.</p>
</li>
<li>
<p><strong>history server</strong>: Υπηρεσία που τρέχει μόνο στον leader του cluster μας. Εκτελεί ένα REST-API το οποίο
επιτρέπει στον τελικό χρήστη να αποκτήσει την κατάσταση κάθε εφαρμογής MapReduce η οποία έχει τερματίσει.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
@ -671,12 +749,15 @@ Containers. Τα Containers είναι απομονομένα το ένα από
</li>
</ul>
</div>
<div class="paragraph">
<p>&#169;</p>
</div>
</div>
</div>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2020-06-13 00:09:47 +0300
Last updated 2020-06-13 12:12:36 +0300
</div>
</div>
</body>

Loading…
Cancel
Save