Εισαγωγή στο ElasticSearch
Τι είναι το ElasticSearch:
- Το ElasticSearch είναι μια μηχανή αναζήτησης ανοιχτού κώδικα που βασίζεται στο Apache Lucene
- Γραμμένο σε Java, παρέχει ένα απλό και εύχρηστο RESTFul API
- Εύκολη κλιμάκωση για υποστήριξη δομημένης ή μη δομημένης επεξεργασίας δεδομένων σε επίπεδο petabyte
Σενάρια εφαρμογής:
- Μηχανή ανάλυσης μαζικών δεδομένων
- Επιτόπια μηχανή αναζήτησης
- Ως αποθήκη δεδομένων
Διεύθυνση εγγράφου:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Περιβάλλον ανάπτυξης:
CentOS 7 x64-bit, Elasticsearch έκδοση 6.5.2, JDK 1.8.0.191
1: Εγκαταστήστε το JDK 1.8.0
Το ElasticSearch είναι ευαίσθητο στην έκδοση του JRE και η λάθος έκδοση θα προκαλέσει τη μη λειτουργία του ElasticSearch.
2: Κατεβάστε και εκτελέστε το ElasticSearch 6.5.2
Κατεβάστε τη σελίδα διεύθυνσης:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
[root@VM_0_9_centos elasticsearch-6.5.2]# ./bin/elasticsearch Προειδοποίηση VM διακομιστή OpenJDK 64-bit: Εάν ο αριθμός των επεξεργαστών αναμένεται να αυξηθεί από έναν, τότε θα πρέπει να διαμορφώσετε κατάλληλα τον αριθμό των παράλληλων νημάτων GC χρησιμοποιώντας -XX: ΠαράλληλοGCThreads=N [2018-12-11T15:24:27,847] [ΠΡΟΕΙΔΟΠΟΙΩ ] [o.e.b.ElasticsearchUncaughtExceptionHandler] [άγνωστο] μη πιασμένη εξαίρεση στο νήμα [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root στο org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.5.2.jar:6.5.2] στο org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.5.2.jar:6.5.2] στο org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] Προκαλείται από: java.lang.RuntimeException: δεν είναι δυνατή η εκτέλεση του elasticsearch ως root στο org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.5.2.jar:6.5.2] στο org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.2.jar:6.5.2] ... 6 ακόμα
Το Elasticsearch απαιτεί να μην μπορείτε να τρέξετε με τη ρίζα υπερχρήστη, ώστε να μπορούμε να δημιουργήσουμε έναν λογαριασμό περιστασιακά και πρέπει να χρησιμοποιήσω τον χρήστη ως es
Εάν δεν υπάρχει σφάλμα, εκτελείται με επιτυχία
Ανοίξτε ένα νέο τερματικό και αποκτήστε πρόσβαση σε αυτό με μπούκλα
Στην περίπτωση που βεβαιωθείτε ότι η θύρα διακομιστή (9200) είναι ενεργοποιημένη, ξεκινά το elasticsearch (ps -ef | grep elasticsearch) είναι προσβάσιμο στο πρόγραμμα περιήγησης
[root@VM_0_9_centos τοπικό]# μπούκλα 'http://localhost:9200/?pretty'
{ "name" : "iUSRV4T", "cluster_name" : "elasticsearch", "cluster_uuid" : "WCbka65VTd2TnM8gQvztqg", "έκδοση" : { "αριθμός" : "6.5.2", "build_flavor" : "προεπιλογή", "build_type" : "πίσσα", "build_hash" : "9434bed", "build_date" : "2018-11-29T23:58:20.891072Z", "build_snapshot" : ψευδής, "lucene_version" : "7.5.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "Ξέρεις, για αναζήτηση"
}
3: Πρόσβαση στο Elasticsearch μέσω Διαδικτύου
Επεξεργαστείτε το αρχείο διαμόρφωσης elasticsearch
Βρείτε το network.host: μια γραμμή, αφαιρέστε το σύμβολο # και αλλάξτε το σε:
(network.host: [_local_, 172.30.6.1] 172.30.6.1 είναι η καθορισμένη διεύθυνση IP, η οποία μπορεί να είναι πολλές διευθύνσεις IP. Δεν έχει δοκιμαστεί)
Επανεκκινήστε το Elasticsearch και, στη συνέχεια, μπορείτε να αποκτήσετε πρόσβαση στη διεπαφή http://ip:9200 στο Διαδίκτυο.
Πιθανά σφάλματα:
Λάθος πρώτο
Ο μέγιστος αριθμός περιοχών εικονικής μνήμης vm.max_map_count [65530] είναι πολύ χαμηλός, αυξήστε σε τουλάχιστον [262144] Η τιμή του max_map_count αναφέρεται στις μέγιστες περιοχές χάρτη μνήμης που είναι διαθέσιμες σε μια διεργασία, η οποία χρησιμοποιείται κατά την κλήση του malloc και δημιουργείται από το mmap/mprotect.
Λύση: Αυξήστε το μέγεθος του vm.max_map_count:
Λάθος δεύτερο
Ο μέγιστος αριθμός περιγραφέων αρχείων [4096] για τη διαδικασία ElasticSearch είναι πολύ χαμηλός, αυξάνεται σε τουλάχιστον [65536] Λύση
Μετά την τροποποίηση, συνδεθείτε ξανά στον χρήστη ES και χρησιμοποιήστε την ακόλουθη εντολή για να ελέγξετε εάν η τροποποίηση είναι επιτυχής
Λάθος 3
Java HotSpot(TM) 64-Bit Server VM προειδοποίηση: ΠΛΗΡΟΦΟΡΙΕΣ: os::commit_memory(0x0000000085330000, 2060255232, 0) απέτυχε; error='Δεν είναι δυνατή η εκχώρηση μνήμης' (errno=12) Λύση
σεείπε ο ΑλίΠιθανά προβλήματα στο
Τα φίλτρα κλήσεων συστήματος απέτυχαν να εγκατασταθούν. Ελέγξτε τα αρχεία καταγραφής και διορθώστε τη διαμόρφωσή σας ή απενεργοποιήστε τα φίλτρα κλήσεων συστήματος με δική σας ευθύνη Λύση: Προσθέστε την ακόλουθη εντολή στη ρύθμιση παραμέτρων elasticsearch
|