Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Make sense of your (BIG) data on Azure!

Make sense of your (BIG) data on Azure!

Presented by David Pilato at Microsoft Tech Days Paris. These slides are en francais.

Sous licence Apache2, elasticsearch est un moteur de recherche puissant, distribué et scalable. Il fournit également des agrégations en temps réel en fonction de vos besoins. Couplé à Kibana, dashboard générique et hautement personnalisable, il vous permet de donner immédiatement du sens à vos données. En forte progression au niveau de son adhésion par les entreprises et les sites publics, découvrez ce que sont elasticsearch et Kibana et à quel point il est simple de les déployer facilement sur la plate-forme Windows Azure. Thomas et David illustreront à l'aide de cas clients les bénéfices obtenus à travers ces solutions.

Elasticsearch Inc

February 13, 2014
Tweet

More Decks by Elasticsearch Inc

Other Decks in Technology

Transcript

  1. StartUp Elasticsearch sur Azure
 Make sense of your (BIG) data

    ! David Pilato / Thomas Conté! Développeurs - Evangélistes Elasticsearch / Microsoft @dadoonet / @tomconte
  2. #mstechdays #elasticsearch StartUp Depuis votre smartphone sur : http://notes.mstechdays.fr !

    De nombreux lots à gagner toute les heures !!! Claviers, souris et jeux Microsoft… ! Merci de nous aider à améliorer les Techdays ! Donnez votre avis !
  3. #mstechdays #elasticsearch StartUp Back-ends Android, iOS & Node.js via Azure

    Mobile Services Windows Azure Plateforme Ouverte Languages Apps Data Operating Systems Devices SDKs pour Java, Python, PHP, Ruby, Node.js WebSites pour PHP, Node.js, Python & App Gallery MySQL via ClearDB, MongoDB via MongoLab, Hadoop via HDInsight Linux VMs via Image Gallery & VMDepot
  4. #mstechdays #elasticsearch StartUp Web Sites Identity Cloud Services Blob Storage

    3rd Party
 Services Virtual Machines Service Bus Caching Integration Big Data CDN Media Services Table Storage SQL 
 Azure Mobile Services Analytics “Plateforme Ouverte” Windows Azure : rappels
  5. #mstechdays #elasticsearch StartUp search = like % ? SELECT doc.*,

    pays.* FROM doc, pays WHERE doc.pays_code = pays.code AND doc.date_doc > to_date('2011-12', 'yyyy-mm') AND doc.date_doc < to_date('2012-01', 'yyyy-mm') AND lower(pays.libelle) = 'france' AND lower(doc.commentaire) LIKE ‘%produit%' AND lower(doc.commentaire) LIKE ‘%david%';
  6. #mstechdays #elasticsearch StartUp Start… $ wget https://download.elasticsearch.org/elasticsearch/ elasticsearch/elasticsearch-1.0.0.tar.gz! $ tar

    -xf elasticsearch-1.0.0.tar.gz! $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node ][Ghost Maker] {1.0.0}[5645]: initializing
  7. #mstechdays #elasticsearch StartUp … and play! $ curl -XPUT localhost:9200/sessions/session/1

    -d '{! "title" : "Elasticsearch sur Azure",! "subtitle" : "Make sense of your (BIG) data !",! "date" : "2014-02-13T16:30:00",! "tags" : [ "elasticsearch", "azure", "cloud" ],! "speaker" : [ {! "first_name" : "Thomas", ! "last_name" : "Conté" ! }, {! "first_name" : "David", ! "last_name" : "Pilato" ! }]! }'
  8. #mstechdays #elasticsearch StartUp Search! $ curl -XPOST http://localhost:9200/sessions/session/_search -d' {

    "query": { "multi_match": { "query": "elasticsearch azure thomas", "fields": [ "title^2", "speaker.first_name" ] } }, "post_filter": { "range": { "date": { "from": "2014-02-13", "to": "2014-02-14" } } } }'
  9. #mstechdays #elasticsearch StartUp $ curl -XPOST http://localhost:9200/sessions/session/_search -d' { "query":

    { ... }, "aggs": { "by_date": { "date_histogram": { "field": "date", "interval": "day", "format" : "dd/MM/yyyy" } } } }' Compute!
  10. #mstechdays #elasticsearch StartUp $ curl -XPOST http://localhost:9200/sessions/session/_search -d' { "query":

    { ... }, "aggs": { "by_date": { "date_histogram": { "field": "date", "interval": "day", "format" : "dd/MM/yyyy" } } } }' "by_date": [ { "key_as_string": "11/02/2014", "doc_count": 1 }, { "key_as_string": "12/02/2014", "doc_count": 2 }, { "key_as_string": "13/02/2014", "doc_count": 3 } ] Compute!
  11. #mstechdays #elasticsearch StartUp $ curl -XPOST http://localhost:9200/sessions/session/_search -d' { "query":

    { ... }, "aggs": { "by_date": { "date_histogram": { "field": "date", "interval": "day", "format" : "dd/MM/yyyy" } } } }' "by_date": [ { "key_as_string": "11/02/2014", "doc_count": 1 }, { "key_as_string": "12/02/2014", "doc_count": 2 }, { "key_as_string": "13/02/2014", "doc_count": 3 } ] Compute!
  12. #mstechdays #elasticsearch StartUp Distributed indices node 1 $ curl -XPUT

    localhost:9200/orders -d '{! "settings.index.number_of_shards" : 4,! "settings.index.number_of_replicas" : 1! }'
  13. #mstechdays #elasticsearch StartUp Distributed indices node 1 orders $ curl

    -XPUT localhost:9200/orders -d '{! "settings.index.number_of_shards" : 4,! "settings.index.number_of_replicas" : 1! }'
  14. #mstechdays #elasticsearch StartUp Distributed indices node 1 orders 1 2

    3 4 $ curl -XPUT localhost:9200/orders -d '{! "settings.index.number_of_shards" : 4,! "settings.index.number_of_replicas" : 1! }'
  15. #mstechdays #elasticsearch StartUp Distributed indices node 1 orders 1 2

    3 4 $ curl -XPUT localhost:9200/orders -d '{! "settings.index.number_of_shards" : 4,! "settings.index.number_of_replicas" : 1! }' $ curl -XPUT localhost:9200/products -d '{! "settings.index.number_of_shards" : 2,! "settings.index.number_of_replicas" : 0! }'
  16. #mstechdays #elasticsearch StartUp Distributed indices node 1 orders products 1

    2 3 4 1 2 $ curl -XPUT localhost:9200/orders -d '{! "settings.index.number_of_shards" : 4,! "settings.index.number_of_replicas" : 1! }' $ curl -XPUT localhost:9200/products -d '{! "settings.index.number_of_shards" : 2,! "settings.index.number_of_replicas" : 0! }'
  17. #mstechdays #elasticsearch StartUp Start new nodes $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node

    ][Armageddon] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Armageddon] detected_master [Ghost Maker]
  18. #mstechdays #elasticsearch StartUp Start new nodes $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node

    ][Armageddon] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Armageddon] detected_master [Ghost Maker] $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node ][Cyclops] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Cyclops] detected_master [Ghost Maker]
  19. #mstechdays #elasticsearch StartUp Start new nodes $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node

    ][Armageddon] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Armageddon] detected_master [Ghost Maker] $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node ][Cyclops] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Cyclops] detected_master [Ghost Maker] $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node ][Karnak] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Karnak] detected_master [Ghost Maker]
  20. #mstechdays #elasticsearch StartUp Distributed indices node 1 orders products 1

    2 3 4 1 2 $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node ][Armageddon] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Armageddon] detected_master [Ghost Maker]
  21. #mstechdays #elasticsearch StartUp Distributed indices node 1 orders products 1

    2 3 4 1 2 node 2 $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node ][Armageddon] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Armageddon] detected_master [Ghost Maker]
  22. #mstechdays #elasticsearch StartUp Distributed indices node 1 orders products 1

    4 1 node 2 orders products 2 3 2 2 3 1 4 $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node ][Karnak] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Karnak] detected_master [Ghost Maker]
  23. #mstechdays #elasticsearch StartUp node 3 Distributed indices node 1 orders

    products 1 4 1 node 2 orders products 2 3 2 2 3 1 4 $ ./elasticsearch-1.0.0/bin/elasticsearch! [INFO ][node ][Karnak] {1.0.0}[5645]: initializing
 [INFO ][cluster.service][Karnak] detected_master [Ghost Maker]
  24. #mstechdays #elasticsearch StartUp node 3 products orders Distributed indices node

    1 orders products 1 4 1 node 2 orders products 2 3 3 2 2 3 1 4
  25. #mstechdays #elasticsearch StartUp node 3 products orders Distributed indices node

    1 orders products 1 4 1 node 2 orders products 2 3 2 2 3 1 4
  26. #mstechdays #elasticsearch StartUp Deploying on Azure (unicast) VM node 1

    private IP1 VM node 2 private IP2 discovery.zen.ping.multicast.enabled: false! discovery.zen.ping.unicast.hosts: ["ip1", "ip2"] Cloud service: your-es.cloudapp.net
  27. #mstechdays #elasticsearch StartUp VM node 3 private IP3 Deploying on

    Azure (unicast) VM node 1 private IP1 VM node 2 private IP2 Cloud service: your-es.cloudapp.net discovery.zen.ping.multicast.enabled: false! discovery.zen.ping.unicast.hosts: ["ip1", "ip2", "ip3"]
  28. #mstechdays #elasticsearch StartUp Deploying on Azure (cloud plugin) Azure REST

    API VM node 3 private IP3 VM node 1 private IP1 VM node 2 private IP2 Cloud service: your-es.cloudapp.net
  29. #mstechdays #elasticsearch StartUp Deploying on Azure (cloud plugin) Azure REST

    API VM node 3 private IP3 VM node 1 private IP1 VM node 2 private IP2 Cloud service: your-es.cloudapp.net cloud:! azure:! keystore: /path/to/keystore! password: your_password_for_keystore! subscription_id: your_azure_subscription_id! service_name: your-es! discovery:! type: azure
  30. © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows

    Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation . Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Digital is business @dadoonet / @tomconte QUESTIONS ?
  31. © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows

    Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation . Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Digital is business @dadoonet / @tomconte QUESTIONS ?