Theodore
5 years ago
1 changed files with 96 additions and 0 deletions
@ -0,0 +1,96 @@ |
|||||
|
[#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