SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Einführung in ElasticSearch
Grundlagen und Betrieb aus IT Engineering & Operation-Sicht
Nicolas Berens
München, 16.05.2014
2
Agenda
● Was ist ElasticSearch?
● Architektur
● Plugins
● Indizes, Shards & Nodes
● Performance
● HA Setup
● Backup & Restore
● Update
● Demo
● Troubleshooting
Was ist ElasticSearch?
4
Was ist ElasticSearch?
➔ Serverapplikation zur Suche
(Lieferung von Ergebnisse während des
Tippens auf Webseiten z.B.)
➔ ElasticSearch = Java Applikation
➔ Eigenständige Anwendung
➔ Setzt auf Suchbibliothek Apache Lucene
auf
5
Zusammenhang mit Lucene
Indexing von Daten,
Facetting, Highlighting,
ranked searching
Kernfunktionen der
Suche
REST- Interface,
Clustering, Backup
Funktionen etc
Admin- und Orga-
Funktion
6
Installation von ElasticSearch
• Voraussetzung für aktuelle Version (1.3.1):
Java ab Version 1.7
• Verfügbar als zip, tar.gz deb und rpm
• Init Scripte für upstart, systemd, systemV init sind
verfügbar
http://www.elasticsearch.org/overview/elkdownloads/
7
Installiert – und nun?
$ curl http://localhost:9200/
{
  "status" : 200,
  "name" : "Hydro­Man",
  "version" : {
    "number" : "1.0.0",
    "build_hash" : "a46900e9c72c0a623d71b54016357d5f94c8ea32",
    "build_timestamp" : "2014­02­12T16:18:34Z",
    "build_snapshot" : false,
    "lucene_version" : "4.6"
  },
  "tagline" : "You Know, for Search"
}
Architektur
9
REST-API
● ElasticSearch ist REST-like
d.h. ElasticSearch wird mittels HTTP-GET
angesprochen wärend jede URL für eine
Serverseitige Aktion steht z.B.
curl http://localhost:9200/_cluster/health
Plugins
11
Plugins
● Es gibt Plugins für Webinterfaces, Import filter,
Snapshot targets etc.
● Webinterface Demo kommt später
Indizes, Shards & Nodes
13
Indizes, Shards & Nodes
➔ Daten werden im Index abgelegt (Welcher aus
$n Shards besteht), ein Index wird innerhalb
eines Clusters auf $i Nodes verteilt
➔ z.b. Index besteht aus 2 Shards wobei jeder
Shard auf 2 Nodes verfügbar ist. (Dadurch
Ausfallsicherheit)
14
Indizes, Shards & Nodes
➔ Ein Node kann mehrere Indizes enthalten
➔ Die Menge an Shards und der Verteilungsfaktor
können Pro Index eingestellt werden.
Performance
16
Caches und Heap
➔ Genügend Java HEAP Speicher
➔ Kein Swap!
➔ Viel Filesystem Cache
➔ Hohes File Descriptor limit
➔ Schnelle Platten
HA Setup
18
HA Setup – Cluster
● Automatische Discovery möglich (zen discovery, andere Möglichkeiten für ec2, azure
& gce)
● Discovery über multicast, unicast
● Automatische Wahl eines (mehreren) Master
● Automatisches Routing von Anfragen im Cluster
● Wichtig: Die Nodes müssen untereinander kommunizieren können
Backup & Restore
20
Backup & Restore
➔ Snapshot API
Lokales Filesystem, Amazon S3, HDFS, Azure
auch als Read only
➔ Mit Kompression und deduplikation
➔ z.b. werden bei täglichem Backup nur die
Änderungen zu gestern gespeichert
Update
22
Updating Elasticsearch
➔ Grundsätzlich gilt: Releasenotes checken!
➔ Innerhalb einer Version?
➔ Node herunterfahren, updaten, hochfahren
und warten bis sich der Cluster synchronisiert hat.
➔ Elasticsearch version 0.9.x auf 1.x ?
➔ Alle nodes im Cluster beenden, jeden node
aktualiseren und danach hochfahren
Demo
Troubleshooting
25
Was könnte noch sein
Wichtig:
● Identische Java und ES Version auf allen Nodes
● Genügend Arbeitspeicher: Heap Size sollte 60% vom Ram sein (rest Lesecache)
● Es Gibt keine Rechteverwaltung, jeder der Zugriff hat, hat zugriff (Sowohl, Read als
auch RW)
● ABER: mit Proxy kann man Filtern (PUT für ro, http auth, nach Unterverzeichnissen
sortiert)
26
Vielen Dank für Ihre Aufmerksamkeit
Kontakt
Nicolas Berens
IT Engineering & Operations
inovex GmbH
Office München
Valentin-Linhof-Straße 2
81829 München
Mobil 0173 / 3181 109
Mail nicolas.berens@inovex.de

Contenu connexe

Tendances

mongoDB im Einsatz - Grundlagen
mongoDB im Einsatz - GrundlagenmongoDB im Einsatz - Grundlagen
mongoDB im Einsatz - Grundlageninovex GmbH
 
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNETWAYS
 
Von Test nach Live mit Rex
Von Test nach Live mit RexVon Test nach Live mit Rex
Von Test nach Live mit RexJan Gehring
 
Ceph Introduction @GPN15
Ceph Introduction @GPN15Ceph Introduction @GPN15
Ceph Introduction @GPN15m1no
 
Production-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 WochenProduction-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 WochenAndré Goliath
 
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...OPITZ CONSULTING Deutschland
 
Skalieren einer Web Anwendung
Skalieren einer Web Anwendung Skalieren einer Web Anwendung
Skalieren einer Web Anwendung Jonathan Weiss
 
Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Florian Holzhauer
 
Der oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterDer oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterGunther Pippèrr
 
MySQL Absicherung und Datensicherung
MySQL Absicherung und DatensicherungMySQL Absicherung und Datensicherung
MySQL Absicherung und DatensicherungLenz Grimmer
 
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataIntroduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataGunther Pippèrr
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanB1 Systems GmbH
 
MySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und ClusterMySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und ClusterFromDual GmbH
 
SysDig Metriken zentralisieren
SysDig Metriken zentralisierenSysDig Metriken zentralisieren
SysDig Metriken zentralisiereninovex GmbH
 
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Jonathan Weiss
 
MySQL - New Features 5.6
MySQL - New Features 5.6MySQL - New Features 5.6
MySQL - New Features 5.6FromDual GmbH
 

Tendances (20)

mongoDB im Einsatz - Grundlagen
mongoDB im Einsatz - GrundlagenmongoDB im Einsatz - Grundlagen
mongoDB im Einsatz - Grundlagen
 
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
 
Von Test nach Live mit Rex
Von Test nach Live mit RexVon Test nach Live mit Rex
Von Test nach Live mit Rex
 
Ceph Introduction @GPN15
Ceph Introduction @GPN15Ceph Introduction @GPN15
Ceph Introduction @GPN15
 
Production-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 WochenProduction-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 Wochen
 
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...
Schlaglichter Oracle DB 11gR2 - DOAG Regio-Treffen 2010 - OPITZ CONSULTING - ...
 
check_sap_health
check_sap_healthcheck_sap_health
check_sap_health
 
Skalieren einer Web Anwendung
Skalieren einer Web Anwendung Skalieren einer Web Anwendung
Skalieren einer Web Anwendung
 
Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012Varnish PHP Unconference Hamburg 2012
Varnish PHP Unconference Hamburg 2012
 
Der oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterDer oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerter
 
MySQL Absicherung und Datensicherung
MySQL Absicherung und DatensicherungMySQL Absicherung und Datensicherung
MySQL Absicherung und Datensicherung
 
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataIntroduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und Foreman
 
MySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und ClusterMySQL-Server im Teamwork - Replikation und Cluster
MySQL-Server im Teamwork - Replikation und Cluster
 
Debugging und Profiling
Debugging und ProfilingDebugging und Profiling
Debugging und Profiling
 
Ldap sqlnet
Ldap sqlnetLdap sqlnet
Ldap sqlnet
 
SysDig Metriken zentralisieren
SysDig Metriken zentralisierenSysDig Metriken zentralisieren
SysDig Metriken zentralisieren
 
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2Skalieren von Rails Anwendungen mit Amazon S3 und EC2
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
 
MySQL - New Features 5.6
MySQL - New Features 5.6MySQL - New Features 5.6
MySQL - New Features 5.6
 
Arquillian
ArquillianArquillian
Arquillian
 

En vedette

Warum 'ne Datenbank, wenn wir Elasticsearch haben?
Warum 'ne Datenbank, wenn wir Elasticsearch haben?Warum 'ne Datenbank, wenn wir Elasticsearch haben?
Warum 'ne Datenbank, wenn wir Elasticsearch haben?Jodok Batlogg
 
NoSQL im E-Commerce Präsentation Shopware Community Day 2013
NoSQL im E-Commerce Präsentation Shopware Community Day 2013NoSQL im E-Commerce Präsentation Shopware Community Day 2013
NoSQL im E-Commerce Präsentation Shopware Community Day 2013marmalade GmbH
 
2014 spark with elastic search
2014   spark with elastic search2014   spark with elastic search
2014 spark with elastic searchHenry Saputra
 
Real Time Fuzzy Matching with Spark and Elastic Search-(Sonal Goyal, Nube)
Real Time Fuzzy Matching with Spark and Elastic Search-(Sonal Goyal, Nube)Real Time Fuzzy Matching with Spark and Elastic Search-(Sonal Goyal, Nube)
Real Time Fuzzy Matching with Spark and Elastic Search-(Sonal Goyal, Nube)Spark Summit
 
Real Time search using Spark and Elasticsearch
Real Time search using Spark and ElasticsearchReal Time search using Spark and Elasticsearch
Real Time search using Spark and ElasticsearchSigmoid
 
ElasticSearch in Production: lessons learned
ElasticSearch in Production: lessons learnedElasticSearch in Production: lessons learned
ElasticSearch in Production: lessons learnedBeyondTrees
 
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...SHI Search | Analytics | Big Data
 
Logstash, Kibana, Elasticsearch: Im Dreiklang Performance sichtbar machen
Logstash, Kibana, Elasticsearch: Im Dreiklang Performance sichtbar machenLogstash, Kibana, Elasticsearch: Im Dreiklang Performance sichtbar machen
Logstash, Kibana, Elasticsearch: Im Dreiklang Performance sichtbar machenKai Wilken
 
OOP 2013 NoSQL Suche
OOP 2013 NoSQL SucheOOP 2013 NoSQL Suche
OOP 2013 NoSQL Sucheadesso AG
 

En vedette (10)

Warum 'ne Datenbank, wenn wir Elasticsearch haben?
Warum 'ne Datenbank, wenn wir Elasticsearch haben?Warum 'ne Datenbank, wenn wir Elasticsearch haben?
Warum 'ne Datenbank, wenn wir Elasticsearch haben?
 
NoSQL im E-Commerce Präsentation Shopware Community Day 2013
NoSQL im E-Commerce Präsentation Shopware Community Day 2013NoSQL im E-Commerce Präsentation Shopware Community Day 2013
NoSQL im E-Commerce Präsentation Shopware Community Day 2013
 
2014 spark with elastic search
2014   spark with elastic search2014   spark with elastic search
2014 spark with elastic search
 
Real Time Fuzzy Matching with Spark and Elastic Search-(Sonal Goyal, Nube)
Real Time Fuzzy Matching with Spark and Elastic Search-(Sonal Goyal, Nube)Real Time Fuzzy Matching with Spark and Elastic Search-(Sonal Goyal, Nube)
Real Time Fuzzy Matching with Spark and Elastic Search-(Sonal Goyal, Nube)
 
Real Time search using Spark and Elasticsearch
Real Time search using Spark and ElasticsearchReal Time search using Spark and Elasticsearch
Real Time search using Spark and Elasticsearch
 
ElasticSearch in Production: lessons learned
ElasticSearch in Production: lessons learnedElasticSearch in Production: lessons learned
ElasticSearch in Production: lessons learned
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
 
Logstash, Kibana, Elasticsearch: Im Dreiklang Performance sichtbar machen
Logstash, Kibana, Elasticsearch: Im Dreiklang Performance sichtbar machenLogstash, Kibana, Elasticsearch: Im Dreiklang Performance sichtbar machen
Logstash, Kibana, Elasticsearch: Im Dreiklang Performance sichtbar machen
 
OOP 2013 NoSQL Suche
OOP 2013 NoSQL SucheOOP 2013 NoSQL Suche
OOP 2013 NoSQL Suche
 

Similaire à Einführung in Elasticsearch - August 2014

Caching in PHP - Status Quo
Caching in PHP - Status QuoCaching in PHP - Status Quo
Caching in PHP - Status QuoChristian Münch
 
Private Cloud mit Open Source
Private Cloud mit Open SourcePrivate Cloud mit Open Source
Private Cloud mit Open SourceDaniel Schneller
 
node.js - Eine kurze Einführung
node.js - Eine kurze Einführungnode.js - Eine kurze Einführung
node.js - Eine kurze Einführungnodeio
 
Caching - Hintergründe, Patterns und Best Practices
Caching - Hintergründe, Patterns und Best PracticesCaching - Hintergründe, Patterns und Best Practices
Caching - Hintergründe, Patterns und Best PracticesMichael Plöd
 
Sesam (APEX) Öffne Dich
Sesam (APEX) Öffne DichSesam (APEX) Öffne Dich
Sesam (APEX) Öffne DichOliver Lemm
 
MT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG
 
Service Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache MesosService Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache MesosRalf Ernst
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondUlrich Krause
 
Ausgewählte Performance Technologien
Ausgewählte Performance TechnologienAusgewählte Performance Technologien
Ausgewählte Performance Technologienoraclebudb
 
Webanwendungen mit Apache HBase entwickeln
Webanwendungen mit Apache HBase entwickelnWebanwendungen mit Apache HBase entwickeln
Webanwendungen mit Apache HBase entwickelnRoman Roelofsen
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdAOE
 
Auszug Seminarunterlagen "Tomcat 6.x"
Auszug Seminarunterlagen "Tomcat 6.x"Auszug Seminarunterlagen "Tomcat 6.x"
Auszug Seminarunterlagen "Tomcat 6.x"schellsoft
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatengeKarin Patenge
 
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!adesso AG
 
SLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werdenSLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werdenSchlomo Schapiro
 
Schweine latein-vortrag
Schweine latein-vortragSchweine latein-vortrag
Schweine latein-vortragRamon Wartala
 
Vorlesung - Cloud Infrastrukturen - Clusterbau | anynines
Vorlesung - Cloud Infrastrukturen - Clusterbau  | anyninesVorlesung - Cloud Infrastrukturen - Clusterbau  | anynines
Vorlesung - Cloud Infrastrukturen - Clusterbau | anyninesanynines GmbH
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrants0enke
 

Similaire à Einführung in Elasticsearch - August 2014 (20)

Node.js
Node.jsNode.js
Node.js
 
Caching in PHP - Status Quo
Caching in PHP - Status QuoCaching in PHP - Status Quo
Caching in PHP - Status Quo
 
Private Cloud mit Open Source
Private Cloud mit Open SourcePrivate Cloud mit Open Source
Private Cloud mit Open Source
 
node.js - Eine kurze Einführung
node.js - Eine kurze Einführungnode.js - Eine kurze Einführung
node.js - Eine kurze Einführung
 
Caching - Hintergründe, Patterns und Best Practices
Caching - Hintergründe, Patterns und Best PracticesCaching - Hintergründe, Patterns und Best Practices
Caching - Hintergründe, Patterns und Best Practices
 
Sesam (APEX) Öffne Dich
Sesam (APEX) Öffne DichSesam (APEX) Öffne Dich
Sesam (APEX) Öffne Dich
 
MT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG: Sesam oeffne Dich
MT AG: Sesam oeffne Dich
 
Service Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache MesosService Orchestrierung mit Apache Mesos
Service Orchestrierung mit Apache Mesos
 
Docker Workbench
Docker WorkbenchDocker Workbench
Docker Workbench
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyond
 
Ausgewählte Performance Technologien
Ausgewählte Performance TechnologienAusgewählte Performance Technologien
Ausgewählte Performance Technologien
 
Webanwendungen mit Apache HBase entwickeln
Webanwendungen mit Apache HBase entwickelnWebanwendungen mit Apache HBase entwickeln
Webanwendungen mit Apache HBase entwickeln
 
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
 
Auszug Seminarunterlagen "Tomcat 6.x"
Auszug Seminarunterlagen "Tomcat 6.x"Auszug Seminarunterlagen "Tomcat 6.x"
Auszug Seminarunterlagen "Tomcat 6.x"
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
 
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
 
SLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werdenSLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werden
 
Schweine latein-vortrag
Schweine latein-vortragSchweine latein-vortrag
Schweine latein-vortrag
 
Vorlesung - Cloud Infrastrukturen - Clusterbau | anynines
Vorlesung - Cloud Infrastrukturen - Clusterbau  | anyninesVorlesung - Cloud Infrastrukturen - Clusterbau  | anynines
Vorlesung - Cloud Infrastrukturen - Clusterbau | anynines
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 

Plus de inovex GmbH

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegeninovex GmbH
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIinovex GmbH
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolutioninovex GmbH
 
Network Policies
Network PoliciesNetwork Policies
Network Policiesinovex GmbH
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learninginovex GmbH
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungeninovex GmbH
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeteninovex GmbH
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetesinovex GmbH
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systemsinovex GmbH
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreiheninovex GmbH
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenteninovex GmbH
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?inovex GmbH
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Projectinovex GmbH
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretabilityinovex GmbH
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use caseinovex GmbH
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessinovex GmbH
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumiinovex GmbH
 

Plus de inovex GmbH (20)

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegen
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AI
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolution
 
WWDC 2019 Recap
WWDC 2019 RecapWWDC 2019 Recap
WWDC 2019 Recap
 
Network Policies
Network PoliciesNetwork Policies
Network Policies
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungen
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeten
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetes
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenten
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretability
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madness
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
 

Einführung in Elasticsearch - August 2014

  • 1. Einführung in ElasticSearch Grundlagen und Betrieb aus IT Engineering & Operation-Sicht Nicolas Berens München, 16.05.2014
  • 2. 2 Agenda ● Was ist ElasticSearch? ● Architektur ● Plugins ● Indizes, Shards & Nodes ● Performance ● HA Setup ● Backup & Restore ● Update ● Demo ● Troubleshooting
  • 4. 4 Was ist ElasticSearch? ➔ Serverapplikation zur Suche (Lieferung von Ergebnisse während des Tippens auf Webseiten z.B.) ➔ ElasticSearch = Java Applikation ➔ Eigenständige Anwendung ➔ Setzt auf Suchbibliothek Apache Lucene auf
  • 5. 5 Zusammenhang mit Lucene Indexing von Daten, Facetting, Highlighting, ranked searching Kernfunktionen der Suche REST- Interface, Clustering, Backup Funktionen etc Admin- und Orga- Funktion
  • 6. 6 Installation von ElasticSearch • Voraussetzung für aktuelle Version (1.3.1): Java ab Version 1.7 • Verfügbar als zip, tar.gz deb und rpm • Init Scripte für upstart, systemd, systemV init sind verfügbar http://www.elasticsearch.org/overview/elkdownloads/
  • 7. 7 Installiert – und nun? $ curl http://localhost:9200/ {   "status" : 200,   "name" : "Hydro­Man",   "version" : {     "number" : "1.0.0",     "build_hash" : "a46900e9c72c0a623d71b54016357d5f94c8ea32",     "build_timestamp" : "2014­02­12T16:18:34Z",     "build_snapshot" : false,     "lucene_version" : "4.6"   },   "tagline" : "You Know, for Search" }
  • 9. 9 REST-API ● ElasticSearch ist REST-like d.h. ElasticSearch wird mittels HTTP-GET angesprochen wärend jede URL für eine Serverseitige Aktion steht z.B. curl http://localhost:9200/_cluster/health
  • 11. 11 Plugins ● Es gibt Plugins für Webinterfaces, Import filter, Snapshot targets etc. ● Webinterface Demo kommt später
  • 13. 13 Indizes, Shards & Nodes ➔ Daten werden im Index abgelegt (Welcher aus $n Shards besteht), ein Index wird innerhalb eines Clusters auf $i Nodes verteilt ➔ z.b. Index besteht aus 2 Shards wobei jeder Shard auf 2 Nodes verfügbar ist. (Dadurch Ausfallsicherheit)
  • 14. 14 Indizes, Shards & Nodes ➔ Ein Node kann mehrere Indizes enthalten ➔ Die Menge an Shards und der Verteilungsfaktor können Pro Index eingestellt werden.
  • 16. 16 Caches und Heap ➔ Genügend Java HEAP Speicher ➔ Kein Swap! ➔ Viel Filesystem Cache ➔ Hohes File Descriptor limit ➔ Schnelle Platten
  • 18. 18 HA Setup – Cluster ● Automatische Discovery möglich (zen discovery, andere Möglichkeiten für ec2, azure & gce) ● Discovery über multicast, unicast ● Automatische Wahl eines (mehreren) Master ● Automatisches Routing von Anfragen im Cluster ● Wichtig: Die Nodes müssen untereinander kommunizieren können
  • 20. 20 Backup & Restore ➔ Snapshot API Lokales Filesystem, Amazon S3, HDFS, Azure auch als Read only ➔ Mit Kompression und deduplikation ➔ z.b. werden bei täglichem Backup nur die Änderungen zu gestern gespeichert
  • 22. 22 Updating Elasticsearch ➔ Grundsätzlich gilt: Releasenotes checken! ➔ Innerhalb einer Version? ➔ Node herunterfahren, updaten, hochfahren und warten bis sich der Cluster synchronisiert hat. ➔ Elasticsearch version 0.9.x auf 1.x ? ➔ Alle nodes im Cluster beenden, jeden node aktualiseren und danach hochfahren
  • 23. Demo
  • 25. 25 Was könnte noch sein Wichtig: ● Identische Java und ES Version auf allen Nodes ● Genügend Arbeitspeicher: Heap Size sollte 60% vom Ram sein (rest Lesecache) ● Es Gibt keine Rechteverwaltung, jeder der Zugriff hat, hat zugriff (Sowohl, Read als auch RW) ● ABER: mit Proxy kann man Filtern (PUT für ro, http auth, nach Unterverzeichnissen sortiert)
  • 26. 26 Vielen Dank für Ihre Aufmerksamkeit Kontakt Nicolas Berens IT Engineering & Operations inovex GmbH Office München Valentin-Linhof-Straße 2 81829 München Mobil 0173 / 3181 109 Mail nicolas.berens@inovex.de