Theodore
5 years ago
1 changed files with 0 additions and 96 deletions
@ -1,96 +0,0 @@ |
|||
[#img-0] |
|||
image::0.png[0,300,200] |
|||
|
|||
= «Υπολογιστική Νέφους και Υπηρεσίες» |
|||
|
|||
== Docker Hadoop |
|||
|
|||
|
|||
|
|||
===== Θεόδωρος Πουρνάρας 141128 |
|||
===== Αίας Παναγιώτης Δρακόπουλος 141020 |
|||
===== Αλέξανδρος Βλαχάκης 131127 |
|||
|
|||
Στην εργασία ασχοληθήκαμε με docker hadoop. |
|||
|
|||
|
|||
Ξεκινήσαμε κάνοντας install το docker στο pc μας. |
|||
Συνεχίσαμε κάνοντας clone το hadoop απο το git με το link που μας δόθηκε |
|||
|
|||
https://github.com/big-data-europe/docker-hadoop |
|||
|
|||
|
|||
Εφόσον εγκαταστάθηκε το hadoop εκτελόντας "docker ps" βλέπουμε τα containers που στήθηκαν. |
|||
Εκτελούμε docker-compose up για να τρέχουμε τα containers. |
|||
[#img-1] |
|||
image::1.png[1,1280,1024] |
|||
|
|||
[#img-2] |
|||
image::2.png[2,1280,1024] |
|||
Για να βρούμε την ip address ενός container τρέχουμε : |
|||
|
|||
"docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id” |
|||
|
|||
έχοντας τις ip και τις πόρτες από τα containers μπορούμε να τα δούμε στο browser. |
|||
[#img-3] |
|||
image::3.png[3,1280,1024] |
|||
Με την εντολή "docker volume ls" μπορούμε να δούμε τα volumes που έχουμε δημιουργήσει. |
|||
Με "docker ps" εμφανίζονται τα docker images που έχουμε φτιάξει,κάνοντας inspect το κάθε |
|||
volume παρατηρούμε ότι είναι mount στο αντίστοιχο image. |
|||
Για να κάνουμε remove ένα volume "docker volume rm volume-name". |
|||
[#img-4] |
|||
image::4.png[4,1280,1024] |
|||
Φτιάξαμε backup images για τα handoop containers. |
|||
362backup είναι το backup image για το container με το id 362… κλπ. |
|||
Αυτό δεν είναι αρκετό για να καλύψει το data-volume. |
|||
Θα χρειαστεί να πάρουμε το backup of data-volume(εάν υπάρχει)ξεχωριστά. |
|||
Για να ξέρουμε το data-directory (data volume location) ενός container, χρησιμοποιούμε την εντολή |
|||
‘docker inspect container-name‘. |
|||
|
|||
[#img-5] |
|||
image::5.png[5,1280,1024] |
|||
|
|||
Με την εντολή "docker network ls" εμφανίζονται τα διαθέσιμα δίκτυα. |
|||
Το δίκτυο που θα χρησιμοποιήσουμε για το swarm μας είναι το hadoop-net. |
|||
Για να μπούμε εντός ενός container docker exec -t -i nodemanager /bin/bash. |
|||
|
|||
Εφόσον εγκαταστήσαμε όλα τα παραπάνω και το handoop είναι λειτουργικό,επόμενο βήμα είναι |
|||
να συνδεθούμε με ssh στα δύο vm's μας στον ωκεανό. |
|||
Το ένα θα το ορίσουμε ως master και το άλλο ως worker. |
|||
|
|||
Κάναμε ssh στο 1ο μηχάνημα στον ωκεανό με τα στοιχεία μας. |
|||
|
|||
1. Κατεβάζουμε το docker. |
|||
|
|||
2. Ξανακάνουμε clone το handoop από το παραπάνω link |
|||
|
|||
3. Ορίζουμε το node ως slave στο swarm μας με την παρακάτω εντολή |
|||
|
|||
$ docker swarm join \ |
|||
--token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \ |
|||
192.168.99.100:2377 |
|||
|
|||
This node joined a swarm as a worker. |
|||
|
|||
Πληροφορίες: https://docs.docker.com/engine/swarm/swarm-tutorial/add-nodes/ |
|||
|
|||
[#img-6] |
|||
image::6.png[6,1280,1024] |
|||
Σύνδεση με μηχάνημα στον ωκεανό. |
|||
|
|||
Εφόσον καταφέρουμε να ορίσουμε το παραπάνω μηχάνημα στον ωκεανό ως worker στο swarm μας |
|||
εκτελώντας "docker node ls" στον Η/Υ μας στον οποίο τρέχει ο manager node θα εμφανιστεί |
|||
πίνακας που θα δείχνει τα ID των δυο node, τα ονόματα τους, το status τους, την διαθεσιμότητα τους αλλά και αν είναι manager node. |
|||
|
|||
π.χ |
|||
|
|||
[#img-8] |
|||
image::8.png[8,1280,1024] |
|||
|
|||
==Προβλήματα που αντιμετωπίσαμε |
|||
[#img-7] |
|||
image::7.png[7,1280,1024] |
|||
|
|||
Δεν μπορέσαμε να κάνουμε Docker compose up λόγω του error "Unsupported config option for services service: 'datanode'" |
|||
|
|||
Οπότε δεν μπορέσαμε να βάλουμε σε λειτουργία τα containers. |
Loading…
Reference in new issue