Browse Source

Update 'README.md'

master
Maria-Nefeli 3 years ago
parent
commit
71228ec028
  1. 28
      README.md

28
README.md

@ -1,10 +1,8 @@
# Data Collector Service
## Η εργασία υλοποιήθηκε στα πλαίσια του εργαστηρίου «Υπολογιστική Νέφους & Υπηρεσίες» από τους φοιτητές:
#### Μαρία-Νεφέλη Μαρκοπουλιώτου (**151141**) & Ιωάννη Κωνσταντινίδη (**161076**)
###### Η εργασία υλοποιήθηκε στα πλαίσια του εργαστηρίου «Υπολογιστική Νέφους & Υπηρεσίες» από τους φοιτητές:
##### Μαρία-Νεφέλη Μαρκοπουλιώτου (**151141**) & Ιωάννη Κωνσταντινίδη (**161076**)
-----
Στα πλαίσια του project υλοποιήθηκαν οι εξής λειτουργίες:
* Δημιουργία Δικτύου
* Αυτόματη Εγκατάσταση προγράμματος για τη συλλογή δεδομένων
@ -12,6 +10,28 @@
* Δημιουργία ΒΔ (Database Replication)
* onEvent αποθήκευση δεδομένων στη βάση αυτή
1. Για τις ανάγκες του project χρησιμοποιήσαμε το εργαστηριακό hybrid-linux του Swarmlab-Hybrid. Αρχικά, δημιουργήθηκε ένα σμήνος (swarm) μέσω της εφαρμογής. Το κάθε σμήνος (Ν nodes) αποτελείται από ένα master και Ν-1 workers. Εφόσον συνδεθούμε στον master, μπορούμε να ελέγξουμε και το υπόλοιπο σμήνος.
*Σημείωση #1:* Μπορούμε να δούμε το σμήνος, αλλά και τα περιεχόμενα όσων δικτύων χρησιμοποιούμε στο πεδίο Instances > Containers
*Σημείωση #2:* Στην περίπτωση που έχουμε δημιουργήσει ήδη κάποιο σμήνος, μπορούμε να το χρησιμοποιήσουμε. Εάν θελήσουμε να φτιάξουμε νέο, θα διαγραφεί το παλιό και ύστερα θα δημιουργηθούν τα νέα Instances.
Για να συνδεθούμε στον master, αλλά και στους workers, θα χρησιμοποιήσουμε την εφαρμογή. Πατώντας Action στην εκάστοτε μηχανή εμφανίζεται μεταξύ άλλων η επιλογή connect. Εφόσον πατηθεί, εμφανίζεται ένα pop-up μήνυμα το οποίο περιέχει τις εξής πληροφορίες:
* Την εντολή που τρέχουμε για να συνδεθούμε στο node
* Το path στο οποίο αποθηκεύεται το project μας τοπικά
* Πού αποθηκεύεται η πληροφορία του node στην εφαρμογή
Μέσω του σμήνους μας θα μπορέσουμε να συλλέξουμε δεδομένα από τον φάκελο /log-in και να τα αποθηκεύσουμε είτε προσωρινά στο φάκελο /mylogs, είτε σε μία βάση δεδομένων.
Στο terminal στο οποίο έχουμε συνδεθεί στον master, στο path /project/courses/fluentd$ τρέχουμε τις εξής εντολές:
* **./fluentd.yml.sh** (onEvent – local/προσωρινή αποθήκευση δεδομένων)
* **./fluentd-config-update.yml.sh** (onEvent αποθήκευση δεδομένων στη βάση αυτή)
Και τα δύο προαναφερθέντα script, αφορούν την αυτοματοποίηση των εντολών που εκτελούμε για να γίνει η συλλογή των δεδομένων και η καταγραφή στα logs.
*Σημείωση #1:* Θα μας ζητηθεί 3 φορές κωδικός για κάθε script. (docker – docker --[ENTER])
*Σημείωση #2:* Εάν εμφανιστεί κάποιο σφάλμα ακολουθούμε τα εξής βήματα – πάντοτε στο path **/project/courses/fluentd$**
* Εκτελούμε **ps aux** για να δούμε τα τρέχοντα processes
* Δύο εξ’ αυτών θα έχουν path usr/bin/ruby…
* Εκτελούμε **kill -9 PID1 PID2**, όπου PID1 και 2 αυτά των προηγούμενων processes
* Ξανατρέχουμε το script που μας ενδιαφέρει και παρατηρούμε ότι αυτή τη φορά, μπορούμε να δούμε το debug, άρα να βρούμε και το λάθος.
### Πηγές
[Docker Compose Implementation](https://docs.docker.com/compose/compose-file/#compose-and-docker-compatibility-matrix)
Loading…
Cancel
Save