Linux Inside
85
Και αφού κατεβάσουμε το Thrift από την επίσημη ιστοσελί-
δα [4] στο path /usr/tmp/ το εγκαθιστούμε:
"
thrift-0.9.0.tar.gz"
tar -xvfz thrift-0.9.0*
cd thrift-0.9.0
./
bootstrap.sh
./
configure --with-boost=/usr/local
make
make install
Οπότε τώρα έχουμε ολοκληρώσει τη ρύθμιση της
Cassandra στο cluster μας. Κάλλιστα, όπως και κάθε άλλο
NoSQL σύστημα, μπορεί να λειτουργεί σε έναν μόνο κόμβο.
Όμως, τα NoSQL συστήματα έχουν ουσιαστικά σχεδιαστεί για
να λειτουργούν παράλληλα στους διαφορετικούς κόμβους
ενός cluster και όχι μεμονωμένα. Αυτό άλλωστε είναι και ένα
από τα βασικότερα πλεονεκτήματά τους. Ακολουθεί λοιπόν
ένα παράδειγμα με το πώς μπορούμε να ρυθμίσουμε την
Cassandra να τρέχει σε διαφορετικούς κόμβους του cluster.
Βασικά, όλες οι αλλαγές και οι ρυθμίσεις γίνονται στο αρ-
χείο /etc/cassandra/conf/cassandra.yaml, το οποίο μπορείτε
να το επεξεργαστείτε με τον επεξεργαστή κειμένου της επι-
λογής σας και να προσθέσετε περιεχόμενο όπως αυτό που
ακολουθεί, ώστε να ικανοποιεί τις συνθήκες του συστήματός
σας:
node0
cluster_name: 'my_cluster' #υποδεικνύει το όνομα του
cluster σας
initial_token: 0 #ο πρώτος κόμβος έχει πάντα token 0
seed_provider:
-
seeds: "172.168.0.0,172.168.0.3"
listen_address: 172.168.0.0
rpc_address: 0.0.0.0
endpoint_snitch: RackInferringSnitch #προσδιορίζει τον
τύπο και το είδος του δικτύου
node1
cluster_name: 'my_cluster'
initial_token: <token>
seed_provider:
-
seeds: "172.168.0.0,172.168.0.3"
listen_address: 172.168.0.1
rpc_address: 0.0.0.0
endpoint_snitch: RackInferringSnitch
node2
cluster_name: 'my_cluster'
initial_token: <token>
seed_provider:
-
seeds: "172.168.0.0,172.168.0.3"
listen_address: 172.168.0.2
rpc_address: 0.0.0.0
endpoint_snitch: RackInferringSnitch
Στα σχόλια του παραδείγματος παραπάνω, αναφέρθηκε ότι
ο πρώτος κόμβος έχει πάντα token ίσο με 0. Οι υπόλοιποι
κόμβοι όμως δεν έχουν token 0, αλλά διαφορετικό, ανάλογα
με το μέγεθος του cluster που διαθέτετε.
Στο συνοδευτικό DVD, στο φάκελο /MAGAZINE/NoSQL,
υπάρχει ένα python script με το οποίο μπορείτε πανεύκολα
και γρήγορα να υπολογίσετε το token κάθε κόμβου. Συγκεκρι-
μένα, αντιγράψτε το σε έναν φάκελο της επιλογής σας (στον
υπολογιστή σας) και στο τερματικό πληκτρολογήστε:
cd /path/pou/antigrapsate/to/script/
chmod a+x token_calc.py #το κάνετε executable
./
token_calc #το εκτελείτε
Όταν το εκτελέσετε, το μόνο που θα σας ζητηθεί είναι να ει-
σαγάγετε τον αριθμό των κόμβων και αυτόματα θα σας επι-
τρέψει τις τιμές των token για κάθε κόμβο. Αντικαταστήστε τις
τιμές και προκειμένου να ενεργοποιηθούν οι καινούργιες
ρυθμίσεις σας, επανεκκινήστε τον server. Έτοιμοι!
Συνοψίζοντας, καλό είναι να πούμε ότι σύμφωνα με επίση-
μα στατιστικά στοιχεία, 44% των business IT professionals δεν
έχουν καν ακούσει για τα NoSQL συστήματα, ενώ μόλις το
1%
σκοπεύουν στο άμεσο μέλλον να το ενσωματώσουν στο
περιβάλλον εργασίας τους, στα projects τους κ.λπ. Αυτό ση-
μαίνει ότι αυτό το σύστημα δεν έχει ακόμσ την απήχηση που
έχει το RDBMS στον κόσμο μας. Αυτό ενδεχομένως να οφεί-
λεται στο ότι τα συστήματα RDBMS υπάρχουν από τα τέλη
της δεκαετίας του ’70 και έχουν μέχρι τώρα συνδεθεί άρρη-
κτα με την ανάπτυξη των συστημάτων αποθήκευσης δεδομέ-
νων στις επιχειρήσεις. Σίγουρα θα χρειαστεί να γίνει η μετά-
βαση προς αυτό κάποια στιγμή λόγω των υπέρογκων δεδο-
μένων που έχει κάθε σοβαρή (!) επιχείρηση. Όπως αναφέ-
ρουν χαρακτηριστικά και ειδικοί του κλάδου, «NoSQL systems
are the future for any informatics incorporation».
•
Linux Labs - NoSQL
Σύνδεσμοι
[1]
Cassandra:
[2]
Oracle Java:
[3]
Boost:
[4]
Thrift:
Υπολογίζοντας το token κάθε κόμβου στο cluster με το
βοηθητικό script.
4
Τα NoSQL συστήματα έχουν ουσιαστικά
σχεδιαστεί για να λειτουργούν παράλληλα στους
διαφορετικούς κόμβους ενός cluster και όχι
μεμονωμένα.