diff --git a/fig1.png b/fig1.png new file mode 100644 index 0000000..f67c496 Binary files /dev/null and b/fig1.png differ diff --git a/report.adoc b/report.adoc index 13d2138..42c1bd9 100644 --- a/report.adoc +++ b/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) diff --git a/report.html b/report.html index 59875f5..da1735b 100644 --- a/report.html +++ b/report.html @@ -655,6 +655,84 @@ 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 παρουσιάζεται +παρακάτω.

+
+
+
+
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 που διαθέτουμε είναι +η εξής:

+
+
+ +
+
+
+fig1 +
+
Figure 1. General Graph of Topology
+
+
+

Παρακάτω θα απαριθμήσουμε την κάθε υπηρεσία όπου το docker compose κάνει expose.

+
+
+ +
+
@@ -671,12 +749,15 @@ Containers. Τα Containers είναι απομονομένα το ένα από +
+

©

+