ElasticSearch'e Giriş
ElasticSearch nedir:
- ElasticSearch, Apache Lucene üzerine inşa edilmiş açık kaynaklı bir arama motorudur
- Java ile yazılmış olan bu agaç, basit ve kullanımı kolay bir RESTFul API'si sunar
- Petabayt seviyesinde yapılandırılmış veya yapılandırılmamış veri işlemeyi desteklemek için kolay ölçeklendirme
Uygulama Senaryoları:
- Devasa veri analiz motoru
- Yerinde arama motoru
- Bir veri deposu olarak
Belge adresi:Bağlantı girişi görünür.
Dağıtım Ortamı:
CentOS 7 x64-bit, Elasticsearch sürüm 6.5.2, JDK 1.8.0.191
1: JDK 1.8.0'ı kur
ElasticSearch, JRE'nin versiyonuna duyarlıdır ve yanlış sürüm ElasticSearch'in çalışmamasına neden olur.
2: ElasticSearch 6.5.2'yi indirip çalıştır
Adres sayfasını indirin:Bağlantı girişi görünür.
[root@VM_0_9_centos elasticsearch-6.5.2]# ./bin/elasticsearch OpenJDK 64-Bit Server VM uyarısı: İşlemci sayısının birden artması bekleniyorsa, paralel GC iş parçacığı sayısını -XX ile uygun şekilde yapılandırmanız gerekir: ParallelGCThreads=N [2018-12-11T15:24:27,847] [UYARI] [o.e.b.ElasticsearchUncaughtExceptionHandler] [bilinmiyor] konuda yakalanmamış istisna [ana konu]
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] adresinde org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) adresinde ~[elasticsearch-cli-6.5.2.jar:6.5.2] org.elasticsearch.cli.Command.main adresinde(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] adresinde org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde Nedeni: java.lang.RuntimeException: elasticsearch root olarak çalıştırılamıyor org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde org.elasticsearch.bootstrap.Bootstrap.setup adresinde (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] adresinde org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.5.2.jar:6.5.2] adresinde ... 6 tane daha
Elasticsearch, süperuser root ile çalışamamanızı gerektiriyor, böylece bir hesap oluşturabiliyoruz ve kullanıcıyı es olarak kullanmam gerekiyor
Hata yoksa, başarıyla çalışır
Yeni bir terminal aç ve curl ile eriş
Sunucu portunun (9200) açık olduğundan emin olursa, elasticsearch başlatılır (ps -ef | grep elasticsearch) tarayıcıdan erişilebilir
[root@VM_0_9_centos yerel]# kıvırma 'http://localhost:9200/?pretty'
{ "isim" : "iUSRV4T", "cluster_name" : "elasticsearch", "cluster_uuid" : "WCbka65VTd2TnM8gQvztqg", "versiyon" : { "sayı" : "6.5.2", "build_flavor" : "varsayılan", "build_type" : "katran", "build_hash" : "9434bed", "build_date" : "2018-11-29T23:58:20.891072Z", "build_snapshot" : yanlış, "lucene_version" : "7.5.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "slogan" : "Biliyorsunuz, arama için"
}
3: Elasticsearch'e İnternet üzerinden Erişim
elasticsearch yapılandırma dosyasını düzenle
network.host: a line bul, # işaretini kaldır ve şu şekilde değiştir:
(network.host: [_local_, 172.30.6.1] 172.30.6.1, belirtilen IP adresidir ve birden fazla IP adresi olabilir. Test edilmedi)
Elasticsearch'i yeniden başlatın, ardından http://ip:9200 arayüzüne internette erişebilirsiniz.
Olası hatalar:
Birinci hata
Maksimum sanal bellek alanı vm.max_map_count [65530] çok düşük, en az [262144]'a çıkar. max_map_count değeri, bir sürece sunulan maksimum bellek harita alanını ifade eder; bu alan, malloc çağrılırken kullanılır ve mmap/mprotect tarafından üretilir.
Çözüm: vm.max_map_count'un boyutunu artırın:
İkinci hata
Elasticsearch süreci için maksimum dosya tanımlayıcıları [4096] çok düşük, en az [65536]'ya yükseltin Çözüm
Modifikasyondan sonra ES kullanıcısına tekrar giriş yapın ve modifikasyonun başarılı olup olmadığını kontrol etmek için aşağıdaki komutu kullanın
Hata 3
Java HotSpot(TM) 64-Bit Server VM uyarısı: BILGI: os::commit_memory(0x0000000085330000, 2060255232, 0) başarısız oldu; error='Bellek ayıramıyor' (errno=12) Çözüm
dadedi AliOlası sorunlar
sistem çağrı filtreleri kurulamadı; Kayıtları kontrol edin, yapılandırmanızı düzeltin veya sistem çağrı filtrelerini kendi riskinize kapatın Çözüm: Elasticsearch yapılandırmasına aşağıdaki komutu ekleyin
|