SlideShare a Scribd company logo
Solr Compute Cloud - An Elastic SolrCloud Infrastructure
Solr Compute Cloud – An Elastic 
Solr Infrastructure 
Nitin Sharma 
- Member of technical staff, BloomReach 
- nitin.sharma@bloomreach.com
Abstract 
Scaling search platforms is an extremely hard problem 
• Serving hundreds of millions of documents 
• Low latency 
• High throughput workloads 
• Optimized cost. 
At BloomReach, we have implemented SC2, an elastic Solr infrastructure for big data applications 
that: 
• Supports heterogeneous workloads while hosted in the cloud. 
• Dynamically grows/shrinks search servers 
• Application and Pipeline level isolation, NRT search and indexing. 
• Offers latency guarantees and application-specific performance tuning. 
• Provides high-availability features like cluster replacement, cross-data center support, disaster 
recovery etc.
About Us 
BloomReach 
BloomReach has developed a personalized discovery platform that features applications that analyze 
big data to makes our customers’ digital content more discoverable, relevant and profitable. 
Myself 
I work on search platform scaling for BloomReach’s big data. My relevant experience and background 
includes scaling real-time services for latency sensitive applications and building performance and search-quality 
metrics infrastructure for personalization platforms.
The 
BloomReach 
Personalized 
Discovery 
Platform
BloomReach’s Applications 
Organic 
Search 
Content understanding 
What it does 
Content optimization, 
management and measurement 
Benefit 
Enhanced discoverability and 
customer acquisition in organic search 
What it does 
Personalized onsite search and 
navigation across devices 
Benefit 
Relevant and consistent onsite 
experiences for new and known users 
What it does 
Merchandising tool that understa 
nds products and identifies oppo 
rtunities 
Benefit 
Prioritize and optimize 
online merchandising 
SNAP 
Compass
Agenda 
• BloomReach search use cases and architecture 
• Old architecture and issues 
• Scaling challenges 
• Elastic SolrCloud architecture and benefits 
• Lessons learned
BloomReach Search Use Cases 
1. Front-end (serving) queries – Uptime and Latency sensitive 
2. Batch search pipelines – Throughput sensitive 
3. Time bound indexing requirements – Customer Specific 
4. Time bound Solr config updates
BloomReach Search Architecture 
Zookeeper Ensemble Map Reduce 
Solr 
Cluster 
Pipelines (Reads) 
Indexing Pipelines 
Pipeline 1 
Pipeline 2 
Pipeline n 
Indexing 1 
Indexing 2 
Indexing n 
Heavy Load 
Moderate Load 
Light Load 
Legend 
Public API 
Search Traffic 
Search Traffic
Throughput Issues… 
Zookeeper Ensemble 
Solr 
Cluster 
Pipeline 1 
Pipeline 2 
Pipeline n 
Indexing 1 
Indexing 2 
Indexing n 
Public API 
Search Traffic 
● Heterogeneous read 
workload 
● Same collection - different 
pipelines, different query 
patterns, different schedule 
● Cache tuning is virtually 
impossible 
● Larger pipeline starving the 
small ones 
● Machine utilization 
determines throughput and 
stability of a pipeline at any 
point 
● No isolation among jobs
Stability and Uptime Issues… 
Zookeeper Ensemble 
Solr 
Cluster 
Pipeline 1 
Pipeline 2 
Pipeline n 
Indexing 1 
Indexing 2 
Indexing n 
Public API 
Search Traffic 
● Bad clients – bring down 
the cluster/degrade 
performance 
● Bad queries (with heavy 
load) – render nodes 
unresponsive 
● Garbage collection issues 
● ZK stability issues (as we 
scale collections) 
● CPU /Load Issues 
● Higher number of 
concurrent pipelines, 
higher number of issues
Indexing Issues… 
Zookeeper Ensemble 
Solr 
Cluster 
Pipeline 1 
Pipeline 2 
Pipeline n 
Indexing 1 
Indexing 2 
Indexing n 
Public API 
Search Traffic 
● Commit frequencies vary 
with indexer types 
● Indexer run during another 
pipeline – performance 
● Indexer client leaks 
● Too many stored fields 
● Non-batch updates
Rethinking… 
• Shared cluster for pipelines does not scale. 
• Guaranteeing an uptime of 99.99+ - non trivial 
• Every job runs great in isolation. When you put them together, they fail. 
• Running index-heavy load and read-heavy load - cluster performance issues. 
• Any direct access to production cluster – cluster stability (client leaks, bad queries etc.). 
What if every pipeline had its own cluster?
Solr Compute Cloud (SC2) 
• Elastic Infrastructure – Provision Solr Clusters on demand, on-the-fly. 
• Create, Use, Terminate Model - Create a temporary cluster with necessary data, use it and throw it away. 
• Technologies behind SC2 (built in House) 
Cluster Management API - Dynamic cluster provisioning and resource allocation. 
Solr HAFT – High availability and data management library for SolrCloud. 
• Isolation - Pipelines get their own cluster. One cannot disrupt another. 
• Dynamic Scaling – Every pipeline can state its own replication requirements. 
• Production Safeguard - No direct access. Safeguards from bad clients/access patterns. 
• Cost Saving – Provision for the average; withstand peak with elastic growth.
Solr Compute Cloud 
Zookeeper Ensemble 
Solr 
Cluster 
Request: {Collection: A, Replica: 6} 
Pipeline 1 
Solr 
Compute 
Cloud 
API 
Solr Cluster 
Collection A 
Replicas: 6 
1. Read pipeline requests 
collection and desired 
replicas from SC2 API. 
2. SC2 API provisions 
cluster dynamically with 
needed setup (and 
streams Solr data). 
3. SC2 calls HAFT service to 
replicate data from 
production to provisioned 
cluster. 
4. Pipeline uses this cluster 
to run job. 
1 
4 
2 
3 
Solr 
HAFT 
Service 
3 
Read 
Replicate
Solr Compute Cloud… 
Zookeeper Ensemble 
Solr 
Cluster 
Pipeline 1 
Solr 
Compute 
Cloud 
API 
Solr Cluster 
Collection A 
Replicas: 6 
1. Pipeline finishes running 
the job. 
2. Pipeline calls SC2 API to 
terminate the cluster. 
3. SC2 terminates the 
cluster. 
Terminate: {Cluster} 
2 
3 
Solr 
HAFT 
Service 
1
Solr Compute Cloud – Read Pipeline View 
Zookeeper Ensemble 
Pipeline 1 
Solr 
Compute 
Cloud 
API 
Solr Cluster 
Collection A 
Replicas: 6 
Request: {Collection: A, Replica: 6} 
Pipeline 2 
Solr Cluster 
Collection B 
Replicas: 2 
Request: {Collection: B, Replica: 2} 
Pipeline n 
Solr Cluster 
Collection C 
Replicas: 1 
Request: {Collection: C, Replica: 1} 
Solr 
HAFT 
Service 
Production 
Solr Cluster
Solr Compute Cloud – Indexing 
Zookeeper Ensemble 
Production 
Solr Cluster 
Request: {Collection: A, Replica: 2} 
Indexing 
Solr 
Compute 
Cloud 
API 
Solr Cluster 
Collection A 
Replicas: 6 
1. Read pipeline requests 
collection and desired 
replicas from SC2 API. 
2. SC2 API provisions 
cluster dynamically with 
needed setup (and 
streams Solr data). 
1. Indexer uses this cluster 
to index the data. 
2. Indexer calls HAFT 
service to replicate the 
index from dynamic 
cluster to production. 
3. HAFT service reads data 
from dynamic cluster and 
replicates to production 
Solr. 
1 
3 
2 
Replicate 
Solr HAFT Service 
4 
5 
Read
Solr Compute Cloud – Global View 
Zookeeper Ensemble 
Solr 
Compute 
Cloud 
API 
Solr HAFT Service 
Production 
Solr Cluster 
Indexing Pipelines 1 
Elastic Clusters 
Indexing Pipelines n 
Read Pipelines 1 
Read Pipelines n 
Provision: {Cluster} 
Terminate: {Cluster} 
Replicate Index 
Replicate Index 
Run Job
Solr Compute Cloud API 
1. API to provision clusters on demand. 
2. Dynamic cluster and resource allocation (includes cost optimization) 
3. Track request state, cluster performance and cost. 
4. Terminate long-running, runaway clusters.
Solr HAFT Service 
1. High availability and fault tolerance 
2. Home-grown technology 
3. Open Source -  (Work in progress) 
4. Features 
• One push disaster recovery 
• High availability operations 
• Replace node 
• Add replicas 
• Repair collection 
• Collection versioning 
• Cluster backup operations 
• Dynamic replica creation 
• Cluster clone 
• Cluster swap 
• Cluster state reconstruction
Solr HAFT Service – Functional View 
Black Box Recording 
Index Management Actions 
Custom Commit Node Replacement 
Collection Versioning 
Solr HAFT Service 
Clone Collections 
Clone Alias 
Node Repair 
Clone Cluster 
Lucene Segment 
Optimize 
High Availability Actions 
Cluster Backup Operations 
Solr Metadata 
Zookeeper 
Metadata 
Dynamic Replica 
Creation 
Cluster Clone 
Cluster Swap 
Cluster State 
Reconstruction 
Verification Monitoring
Disaster Recovery in New Architecture 
Zookeeper Ensemble 
Old 
Production 
Solr 
Cluster 
Zookeeper Ensemble 
New 
Solr 
Cluster 
Push 
Button 
Recovery 
Solr HAFT Service 
Brave Soul on Pager Duty 
1 
2 
3 
DNS 
1. Guy on Pager clicks the 
recovery button 
2. Solr HAFT Service 
triggers 
Cluster Setup 
State Reconstruction 
Cluster Clone 
Cluster Swap 
3. Production DNS – New 
Cluster
SC2 vs Non-SC2 (Stability Features) 
Property Non-SC2 SC2 
Linear Scalability for Heterogeneous 
Workload 
Pipeline Level Isolation 
Dynamic Collection Scaling 
Prevention from Bad Clients 
Pipeline Specific Performance 
No Direct Access to Production Cluster 
Can Sleep at night? 
SC2 vs Non-SC2 (Availability Features) 
Property Non-SC2 SC2 
Cross Data-Center Support 
Cluster Cloning 
Collection Versioning 
One-Push Disaster Recovery 
Repair API for Nodes/Collections 
Node Replacement
Lessons Learned 
1. Solr is a search platform. Do not use it as a database (for scans and lookups). 
Evaluate your stored fields. 
2. Understand access patterns, QPS and queries in detail. Be careful when tuning 
caches. 
3. Have access control for large-scale jobs that directly talk to your cluster. (Internal 
DDOS attacks are hard to track.) 
4. Instrument every piece of infrastructure and collect metrics. 
5. Build automated disaster recovery (You will need it. )
Questions? 
Thank You! 
Nitin Sharma 
nitin.sharma@bloomreach.com 
https://www.linkedin.com/in/knitinsharma
Ad

More Related Content

What's hot (20)

Introduction to SolrCloud
Introduction to SolrCloudIntroduction to SolrCloud
Introduction to SolrCloud
Varun Thacker
 
Cross Datacenter Replication in Apache Solr 6
Cross Datacenter Replication in Apache Solr 6Cross Datacenter Replication in Apache Solr 6
Cross Datacenter Replication in Apache Solr 6
Shalin Shekhar Mangar
 
How SolrCloud Changes the User Experience In a Sharded Environment
How SolrCloud Changes the User Experience In a Sharded EnvironmentHow SolrCloud Changes the User Experience In a Sharded Environment
How SolrCloud Changes the User Experience In a Sharded Environment
lucenerevolution
 
NYC Lucene/Solr Meetup: Spark / Solr
NYC Lucene/Solr Meetup: Spark / SolrNYC Lucene/Solr Meetup: Spark / Solr
NYC Lucene/Solr Meetup: Spark / Solr
thelabdude
 
Scaling Solr with Solr Cloud
Scaling Solr with Solr CloudScaling Solr with Solr Cloud
Scaling Solr with Solr Cloud
Sematext Group, Inc.
 
GIDS2014: SolrCloud: Searching Big Data
GIDS2014: SolrCloud: Searching Big DataGIDS2014: SolrCloud: Searching Big Data
GIDS2014: SolrCloud: Searching Big Data
Shalin Shekhar Mangar
 
Lucene Revolution 2013 - Scaling Solr Cloud for Large-scale Social Media Anal...
Lucene Revolution 2013 - Scaling Solr Cloud for Large-scale Social Media Anal...Lucene Revolution 2013 - Scaling Solr Cloud for Large-scale Social Media Anal...
Lucene Revolution 2013 - Scaling Solr Cloud for Large-scale Social Media Anal...
thelabdude
 
Call me maybe: Jepsen and flaky networks
Call me maybe: Jepsen and flaky networksCall me maybe: Jepsen and flaky networks
Call me maybe: Jepsen and flaky networks
Shalin Shekhar Mangar
 
Administering and Monitoring SolrCloud Clusters
Administering and Monitoring SolrCloud ClustersAdministering and Monitoring SolrCloud Clusters
Administering and Monitoring SolrCloud Clusters
Sematext Group, Inc.
 
Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...
Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...
Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...
Lucidworks
 
Solr Exchange: Introduction to SolrCloud
Solr Exchange: Introduction to SolrCloudSolr Exchange: Introduction to SolrCloud
Solr Exchange: Introduction to SolrCloud
thelabdude
 
Scaling SolrCloud to a Large Number of Collections - Fifth Elephant 2014
Scaling SolrCloud to a Large Number of Collections - Fifth Elephant 2014Scaling SolrCloud to a Large Number of Collections - Fifth Elephant 2014
Scaling SolrCloud to a Large Number of Collections - Fifth Elephant 2014
Shalin Shekhar Mangar
 
How to Run Solr on Docker and Why
How to Run Solr on Docker and WhyHow to Run Solr on Docker and Why
How to Run Solr on Docker and Why
Sematext Group, Inc.
 
Deploying and managing Solr at scale
Deploying and managing Solr at scaleDeploying and managing Solr at scale
Deploying and managing Solr at scale
Anshum Gupta
 
Scaling search with Solr Cloud
Scaling search with Solr CloudScaling search with Solr Cloud
Scaling search with Solr Cloud
Cominvent AS
 
First oslo solr community meetup lightning talk janhoy
First oslo solr community meetup lightning talk janhoyFirst oslo solr community meetup lightning talk janhoy
First oslo solr community meetup lightning talk janhoy
Cominvent AS
 
Scaling SolrCloud to a large number of Collections
Scaling SolrCloud to a large number of CollectionsScaling SolrCloud to a large number of Collections
Scaling SolrCloud to a large number of Collections
Anshum Gupta
 
High Performance Solr
High Performance SolrHigh Performance Solr
High Performance Solr
Shalin Shekhar Mangar
 
Rebalance API for SolrCloud: Presented by Nitin Sharma, Netflix & Suruchi Sha...
Rebalance API for SolrCloud: Presented by Nitin Sharma, Netflix & Suruchi Sha...Rebalance API for SolrCloud: Presented by Nitin Sharma, Netflix & Suruchi Sha...
Rebalance API for SolrCloud: Presented by Nitin Sharma, Netflix & Suruchi Sha...
Lucidworks
 
Running High Performance & Fault-tolerant Elasticsearch Clusters on Docker
Running High Performance & Fault-tolerant Elasticsearch Clusters on DockerRunning High Performance & Fault-tolerant Elasticsearch Clusters on Docker
Running High Performance & Fault-tolerant Elasticsearch Clusters on Docker
Sematext Group, Inc.
 
Introduction to SolrCloud
Introduction to SolrCloudIntroduction to SolrCloud
Introduction to SolrCloud
Varun Thacker
 
Cross Datacenter Replication in Apache Solr 6
Cross Datacenter Replication in Apache Solr 6Cross Datacenter Replication in Apache Solr 6
Cross Datacenter Replication in Apache Solr 6
Shalin Shekhar Mangar
 
How SolrCloud Changes the User Experience In a Sharded Environment
How SolrCloud Changes the User Experience In a Sharded EnvironmentHow SolrCloud Changes the User Experience In a Sharded Environment
How SolrCloud Changes the User Experience In a Sharded Environment
lucenerevolution
 
NYC Lucene/Solr Meetup: Spark / Solr
NYC Lucene/Solr Meetup: Spark / SolrNYC Lucene/Solr Meetup: Spark / Solr
NYC Lucene/Solr Meetup: Spark / Solr
thelabdude
 
GIDS2014: SolrCloud: Searching Big Data
GIDS2014: SolrCloud: Searching Big DataGIDS2014: SolrCloud: Searching Big Data
GIDS2014: SolrCloud: Searching Big Data
Shalin Shekhar Mangar
 
Lucene Revolution 2013 - Scaling Solr Cloud for Large-scale Social Media Anal...
Lucene Revolution 2013 - Scaling Solr Cloud for Large-scale Social Media Anal...Lucene Revolution 2013 - Scaling Solr Cloud for Large-scale Social Media Anal...
Lucene Revolution 2013 - Scaling Solr Cloud for Large-scale Social Media Anal...
thelabdude
 
Call me maybe: Jepsen and flaky networks
Call me maybe: Jepsen and flaky networksCall me maybe: Jepsen and flaky networks
Call me maybe: Jepsen and flaky networks
Shalin Shekhar Mangar
 
Administering and Monitoring SolrCloud Clusters
Administering and Monitoring SolrCloud ClustersAdministering and Monitoring SolrCloud Clusters
Administering and Monitoring SolrCloud Clusters
Sematext Group, Inc.
 
Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...
Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...
Scaling SolrCloud to a Large Number of Collections: Presented by Shalin Shekh...
Lucidworks
 
Solr Exchange: Introduction to SolrCloud
Solr Exchange: Introduction to SolrCloudSolr Exchange: Introduction to SolrCloud
Solr Exchange: Introduction to SolrCloud
thelabdude
 
Scaling SolrCloud to a Large Number of Collections - Fifth Elephant 2014
Scaling SolrCloud to a Large Number of Collections - Fifth Elephant 2014Scaling SolrCloud to a Large Number of Collections - Fifth Elephant 2014
Scaling SolrCloud to a Large Number of Collections - Fifth Elephant 2014
Shalin Shekhar Mangar
 
Deploying and managing Solr at scale
Deploying and managing Solr at scaleDeploying and managing Solr at scale
Deploying and managing Solr at scale
Anshum Gupta
 
Scaling search with Solr Cloud
Scaling search with Solr CloudScaling search with Solr Cloud
Scaling search with Solr Cloud
Cominvent AS
 
First oslo solr community meetup lightning talk janhoy
First oslo solr community meetup lightning talk janhoyFirst oslo solr community meetup lightning talk janhoy
First oslo solr community meetup lightning talk janhoy
Cominvent AS
 
Scaling SolrCloud to a large number of Collections
Scaling SolrCloud to a large number of CollectionsScaling SolrCloud to a large number of Collections
Scaling SolrCloud to a large number of Collections
Anshum Gupta
 
Rebalance API for SolrCloud: Presented by Nitin Sharma, Netflix & Suruchi Sha...
Rebalance API for SolrCloud: Presented by Nitin Sharma, Netflix & Suruchi Sha...Rebalance API for SolrCloud: Presented by Nitin Sharma, Netflix & Suruchi Sha...
Rebalance API for SolrCloud: Presented by Nitin Sharma, Netflix & Suruchi Sha...
Lucidworks
 
Running High Performance & Fault-tolerant Elasticsearch Clusters on Docker
Running High Performance & Fault-tolerant Elasticsearch Clusters on DockerRunning High Performance & Fault-tolerant Elasticsearch Clusters on Docker
Running High Performance & Fault-tolerant Elasticsearch Clusters on Docker
Sematext Group, Inc.
 

Viewers also liked (16)

Solrcloud Leader Election
Solrcloud Leader ElectionSolrcloud Leader Election
Solrcloud Leader Election
ravikgiitk
 
Benchmarking Solr Performance at Scale
Benchmarking Solr Performance at ScaleBenchmarking Solr Performance at Scale
Benchmarking Solr Performance at Scale
thelabdude
 
Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...
Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...
Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...
Lucidworks
 
SolrCloud - High Availability and Fault Tolerance: Presented by Mark Miller, ...
SolrCloud - High Availability and Fault Tolerance: Presented by Mark Miller, ...SolrCloud - High Availability and Fault Tolerance: Presented by Mark Miller, ...
SolrCloud - High Availability and Fault Tolerance: Presented by Mark Miller, ...
Lucidworks
 
Inside Solr 5 - Bangalore Solr/Lucene Meetup
Inside Solr 5 - Bangalore Solr/Lucene MeetupInside Solr 5 - Bangalore Solr/Lucene Meetup
Inside Solr 5 - Bangalore Solr/Lucene Meetup
Shalin Shekhar Mangar
 
Benchmarking Solr Performance
Benchmarking Solr PerformanceBenchmarking Solr Performance
Benchmarking Solr Performance
Lucidworks
 
SolrCloud and Shard Splitting
SolrCloud and Shard SplittingSolrCloud and Shard Splitting
SolrCloud and Shard Splitting
Shalin Shekhar Mangar
 
Why Is My Solr Slow?: Presented by Mike Drob, Cloudera
Why Is My Solr Slow?: Presented by Mike Drob, ClouderaWhy Is My Solr Slow?: Presented by Mike Drob, Cloudera
Why Is My Solr Slow?: Presented by Mike Drob, Cloudera
Lucidworks
 
Best practices for highly available and large scale SolrCloud
Best practices for highly available and large scale SolrCloudBest practices for highly available and large scale SolrCloud
Best practices for highly available and large scale SolrCloud
Anshum Gupta
 
Tutorial on developing a Solr search component plugin
Tutorial on developing a Solr search component pluginTutorial on developing a Solr search component plugin
Tutorial on developing a Solr search component plugin
searchbox-com
 
High Performance Solr and JVM Tuning Strategies used for MapQuest’s Search Ah...
High Performance Solr and JVM Tuning Strategies used for MapQuest’s Search Ah...High Performance Solr and JVM Tuning Strategies used for MapQuest’s Search Ah...
High Performance Solr and JVM Tuning Strategies used for MapQuest’s Search Ah...
Lucidworks
 
Side by Side with Elasticsearch and Solr
Side by Side with Elasticsearch and SolrSide by Side with Elasticsearch and Solr
Side by Side with Elasticsearch and Solr
Sematext Group, Inc.
 
Intro to Apache Solr
Intro to Apache SolrIntro to Apache Solr
Intro to Apache Solr
Shalin Shekhar Mangar
 
Apache Solr crash course
Apache Solr crash courseApache Solr crash course
Apache Solr crash course
Tommaso Teofili
 
Intro to Solr Cloud, Presented by Tim Potter at SolrExchage DC
Intro to Solr Cloud, Presented by Tim Potter at SolrExchage DCIntro to Solr Cloud, Presented by Tim Potter at SolrExchage DC
Intro to Solr Cloud, Presented by Tim Potter at SolrExchage DC
Lucidworks (Archived)
 
Improving the Solr Update Chain
Improving the Solr Update ChainImproving the Solr Update Chain
Improving the Solr Update Chain
Cominvent AS
 
Solrcloud Leader Election
Solrcloud Leader ElectionSolrcloud Leader Election
Solrcloud Leader Election
ravikgiitk
 
Benchmarking Solr Performance at Scale
Benchmarking Solr Performance at ScaleBenchmarking Solr Performance at Scale
Benchmarking Solr Performance at Scale
thelabdude
 
Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...
Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...
Solr Compute Cloud – An Elastic Solr Infrastructure: Presented by Nitin Sharm...
Lucidworks
 
SolrCloud - High Availability and Fault Tolerance: Presented by Mark Miller, ...
SolrCloud - High Availability and Fault Tolerance: Presented by Mark Miller, ...SolrCloud - High Availability and Fault Tolerance: Presented by Mark Miller, ...
SolrCloud - High Availability and Fault Tolerance: Presented by Mark Miller, ...
Lucidworks
 
Inside Solr 5 - Bangalore Solr/Lucene Meetup
Inside Solr 5 - Bangalore Solr/Lucene MeetupInside Solr 5 - Bangalore Solr/Lucene Meetup
Inside Solr 5 - Bangalore Solr/Lucene Meetup
Shalin Shekhar Mangar
 
Benchmarking Solr Performance
Benchmarking Solr PerformanceBenchmarking Solr Performance
Benchmarking Solr Performance
Lucidworks
 
Why Is My Solr Slow?: Presented by Mike Drob, Cloudera
Why Is My Solr Slow?: Presented by Mike Drob, ClouderaWhy Is My Solr Slow?: Presented by Mike Drob, Cloudera
Why Is My Solr Slow?: Presented by Mike Drob, Cloudera
Lucidworks
 
Best practices for highly available and large scale SolrCloud
Best practices for highly available and large scale SolrCloudBest practices for highly available and large scale SolrCloud
Best practices for highly available and large scale SolrCloud
Anshum Gupta
 
Tutorial on developing a Solr search component plugin
Tutorial on developing a Solr search component pluginTutorial on developing a Solr search component plugin
Tutorial on developing a Solr search component plugin
searchbox-com
 
High Performance Solr and JVM Tuning Strategies used for MapQuest’s Search Ah...
High Performance Solr and JVM Tuning Strategies used for MapQuest’s Search Ah...High Performance Solr and JVM Tuning Strategies used for MapQuest’s Search Ah...
High Performance Solr and JVM Tuning Strategies used for MapQuest’s Search Ah...
Lucidworks
 
Side by Side with Elasticsearch and Solr
Side by Side with Elasticsearch and SolrSide by Side with Elasticsearch and Solr
Side by Side with Elasticsearch and Solr
Sematext Group, Inc.
 
Apache Solr crash course
Apache Solr crash courseApache Solr crash course
Apache Solr crash course
Tommaso Teofili
 
Intro to Solr Cloud, Presented by Tim Potter at SolrExchage DC
Intro to Solr Cloud, Presented by Tim Potter at SolrExchage DCIntro to Solr Cloud, Presented by Tim Potter at SolrExchage DC
Intro to Solr Cloud, Presented by Tim Potter at SolrExchage DC
Lucidworks (Archived)
 
Improving the Solr Update Chain
Improving the Solr Update ChainImproving the Solr Update Chain
Improving the Solr Update Chain
Cominvent AS
 
Ad

Similar to Solr Compute Cloud - An Elastic SolrCloud Infrastructure (20)

Solr Lucene Revolution 2014 - Solr Compute Cloud - Nitin
Solr Lucene Revolution 2014 - Solr Compute Cloud - NitinSolr Lucene Revolution 2014 - Solr Compute Cloud - Nitin
Solr Lucene Revolution 2014 - Solr Compute Cloud - Nitin
bloomreacheng
 
Bloomreach - BloomStore Compute Cloud Infrastructure
Bloomreach - BloomStore Compute Cloud Infrastructure Bloomreach - BloomStore Compute Cloud Infrastructure
Bloomreach - BloomStore Compute Cloud Infrastructure
bloomreacheng
 
Automated Cluster Management and Recovery for Large Scale Multi-Tenant Sea...
  Automated Cluster Management and Recovery  for Large Scale Multi-Tenant Sea...  Automated Cluster Management and Recovery  for Large Scale Multi-Tenant Sea...
Automated Cluster Management and Recovery for Large Scale Multi-Tenant Sea...
Lucidworks
 
Ingestion and Dimensions Compute and Enrich using Apache Apex
Ingestion and Dimensions Compute and Enrich using Apache ApexIngestion and Dimensions Compute and Enrich using Apache Apex
Ingestion and Dimensions Compute and Enrich using Apache Apex
Apache Apex
 
Streaming in Practice - Putting Apache Kafka in Production
Streaming in Practice - Putting Apache Kafka in ProductionStreaming in Practice - Putting Apache Kafka in Production
Streaming in Practice - Putting Apache Kafka in Production
confluent
 
Understand oracle real application cluster
Understand oracle real application clusterUnderstand oracle real application cluster
Understand oracle real application cluster
Satishbabu Gunukula
 
Apache Pulsar Seattle - Meetup
Apache Pulsar Seattle - MeetupApache Pulsar Seattle - Meetup
Apache Pulsar Seattle - Meetup
Karthik Ramasamy
 
Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...
Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...
Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...
Lucidworks
 
Building a near real time search engine & analytics for logs using solr
Building a near real time search engine & analytics for logs using solrBuilding a near real time search engine & analytics for logs using solr
Building a near real time search engine & analytics for logs using solr
lucenerevolution
 
AWS re:Invent presentation: Unmeltable Infrastructure at Scale by Loggly
AWS re:Invent presentation: Unmeltable Infrastructure at Scale by Loggly AWS re:Invent presentation: Unmeltable Infrastructure at Scale by Loggly
AWS re:Invent presentation: Unmeltable Infrastructure at Scale by Loggly
SolarWinds Loggly
 
Streaming Analytics with Spark, Kafka, Cassandra and Akka
Streaming Analytics with Spark, Kafka, Cassandra and AkkaStreaming Analytics with Spark, Kafka, Cassandra and Akka
Streaming Analytics with Spark, Kafka, Cassandra and Akka
Helena Edelson
 
[RightScale Webinar] Architecting Databases in the cloud: How RightScale Doe...
[RightScale Webinar] Architecting Databases in the cloud:  How RightScale Doe...[RightScale Webinar] Architecting Databases in the cloud:  How RightScale Doe...
[RightScale Webinar] Architecting Databases in the cloud: How RightScale Doe...
RightScale
 
Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)
Anthony Baker
 
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
confluent
 
Stabilizing the Jenga tower: Scaling out Ceilometer
Stabilizing the Jenga tower: Scaling out CeilometerStabilizing the Jenga tower: Scaling out Ceilometer
Stabilizing the Jenga tower: Scaling out Ceilometer
Pradeep Kilambi
 
Stabilising the jenga tower
Stabilising the jenga towerStabilising the jenga tower
Stabilising the jenga tower
Gordon Chung
 
Unifying Messaging, Queueing & Light Weight Compute Using Apache Pulsar
Unifying Messaging, Queueing & Light Weight Compute Using Apache PulsarUnifying Messaging, Queueing & Light Weight Compute Using Apache Pulsar
Unifying Messaging, Queueing & Light Weight Compute Using Apache Pulsar
Karthik Ramasamy
 
Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...
DataWorks Summit
 
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Belmiro Moreira
 
Nex clipper 1905_summary_eng
Nex clipper 1905_summary_engNex clipper 1905_summary_eng
Nex clipper 1905_summary_eng
Jinyong Kim
 
Solr Lucene Revolution 2014 - Solr Compute Cloud - Nitin
Solr Lucene Revolution 2014 - Solr Compute Cloud - NitinSolr Lucene Revolution 2014 - Solr Compute Cloud - Nitin
Solr Lucene Revolution 2014 - Solr Compute Cloud - Nitin
bloomreacheng
 
Bloomreach - BloomStore Compute Cloud Infrastructure
Bloomreach - BloomStore Compute Cloud Infrastructure Bloomreach - BloomStore Compute Cloud Infrastructure
Bloomreach - BloomStore Compute Cloud Infrastructure
bloomreacheng
 
Automated Cluster Management and Recovery for Large Scale Multi-Tenant Sea...
  Automated Cluster Management and Recovery  for Large Scale Multi-Tenant Sea...  Automated Cluster Management and Recovery  for Large Scale Multi-Tenant Sea...
Automated Cluster Management and Recovery for Large Scale Multi-Tenant Sea...
Lucidworks
 
Ingestion and Dimensions Compute and Enrich using Apache Apex
Ingestion and Dimensions Compute and Enrich using Apache ApexIngestion and Dimensions Compute and Enrich using Apache Apex
Ingestion and Dimensions Compute and Enrich using Apache Apex
Apache Apex
 
Streaming in Practice - Putting Apache Kafka in Production
Streaming in Practice - Putting Apache Kafka in ProductionStreaming in Practice - Putting Apache Kafka in Production
Streaming in Practice - Putting Apache Kafka in Production
confluent
 
Understand oracle real application cluster
Understand oracle real application clusterUnderstand oracle real application cluster
Understand oracle real application cluster
Satishbabu Gunukula
 
Apache Pulsar Seattle - Meetup
Apache Pulsar Seattle - MeetupApache Pulsar Seattle - Meetup
Apache Pulsar Seattle - Meetup
Karthik Ramasamy
 
Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...
Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...
Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...
Lucidworks
 
Building a near real time search engine & analytics for logs using solr
Building a near real time search engine & analytics for logs using solrBuilding a near real time search engine & analytics for logs using solr
Building a near real time search engine & analytics for logs using solr
lucenerevolution
 
AWS re:Invent presentation: Unmeltable Infrastructure at Scale by Loggly
AWS re:Invent presentation: Unmeltable Infrastructure at Scale by Loggly AWS re:Invent presentation: Unmeltable Infrastructure at Scale by Loggly
AWS re:Invent presentation: Unmeltable Infrastructure at Scale by Loggly
SolarWinds Loggly
 
Streaming Analytics with Spark, Kafka, Cassandra and Akka
Streaming Analytics with Spark, Kafka, Cassandra and AkkaStreaming Analytics with Spark, Kafka, Cassandra and Akka
Streaming Analytics with Spark, Kafka, Cassandra and Akka
Helena Edelson
 
[RightScale Webinar] Architecting Databases in the cloud: How RightScale Doe...
[RightScale Webinar] Architecting Databases in the cloud:  How RightScale Doe...[RightScale Webinar] Architecting Databases in the cloud:  How RightScale Doe...
[RightScale Webinar] Architecting Databases in the cloud: How RightScale Doe...
RightScale
 
Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)Introduction to Apache Geode (Cork, Ireland)
Introduction to Apache Geode (Cork, Ireland)
Anthony Baker
 
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
Kafka Cluster Federation at Uber (Yupeng Fui & Xiaoman Dong, Uber) Kafka Summ...
confluent
 
Stabilizing the Jenga tower: Scaling out Ceilometer
Stabilizing the Jenga tower: Scaling out CeilometerStabilizing the Jenga tower: Scaling out Ceilometer
Stabilizing the Jenga tower: Scaling out Ceilometer
Pradeep Kilambi
 
Stabilising the jenga tower
Stabilising the jenga towerStabilising the jenga tower
Stabilising the jenga tower
Gordon Chung
 
Unifying Messaging, Queueing & Light Weight Compute Using Apache Pulsar
Unifying Messaging, Queueing & Light Weight Compute Using Apache PulsarUnifying Messaging, Queueing & Light Weight Compute Using Apache Pulsar
Unifying Messaging, Queueing & Light Weight Compute Using Apache Pulsar
Karthik Ramasamy
 
Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...
DataWorks Summit
 
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Tips Tricks and Tactics with Cells and Scaling OpenStack - May, 2015
Belmiro Moreira
 
Nex clipper 1905_summary_eng
Nex clipper 1905_summary_engNex clipper 1905_summary_eng
Nex clipper 1905_summary_eng
Jinyong Kim
 
Ad

Recently uploaded (20)

MAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdfMAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
ssuser562df4
 
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdffive-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
AdityaSharma944496
 
fluke dealers in bangalore..............
fluke dealers in bangalore..............fluke dealers in bangalore..............
fluke dealers in bangalore..............
Haresh Vaswani
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
The Gaussian Process Modeling Module in UQLab
The Gaussian Process Modeling Module in UQLabThe Gaussian Process Modeling Module in UQLab
The Gaussian Process Modeling Module in UQLab
Journal of Soft Computing in Civil Engineering
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Structural Response of Reinforced Self-Compacting Concrete Deep Beam Using Fi...
Journal of Soft Computing in Civil Engineering
 
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 
International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)
samueljackson3773
 
new ppt artificial intelligence historyyy
new ppt artificial intelligence historyyynew ppt artificial intelligence historyyy
new ppt artificial intelligence historyyy
PianoPianist
 
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G..."Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
Infopitaara
 
IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design ThinkingDT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DhruvChotaliya2
 
Metal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistryMetal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistry
mee23nu
 
Compiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptxCompiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptx
RushaliDeshmukh2
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
Raish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdfRaish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdf
RaishKhanji
 
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdfMAQUINARIA MINAS CEMA 6th Edition (1).pdf
MAQUINARIA MINAS CEMA 6th Edition (1).pdf
ssuser562df4
 
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdffive-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
AdityaSharma944496
 
fluke dealers in bangalore..............
fluke dealers in bangalore..............fluke dealers in bangalore..............
fluke dealers in bangalore..............
Haresh Vaswani
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 
International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)
samueljackson3773
 
new ppt artificial intelligence historyyy
new ppt artificial intelligence historyyynew ppt artificial intelligence historyyy
new ppt artificial intelligence historyyy
PianoPianist
 
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G..."Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
Infopitaara
 
IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design ThinkingDT REPORT by Tech titan GROUP to introduce the subject design Thinking
DT REPORT by Tech titan GROUP to introduce the subject design Thinking
DhruvChotaliya2
 
Metal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistryMetal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistry
mee23nu
 
Compiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptxCompiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptx
RushaliDeshmukh2
 
Introduction to FLUID MECHANICS & KINEMATICS
Introduction to FLUID MECHANICS &  KINEMATICSIntroduction to FLUID MECHANICS &  KINEMATICS
Introduction to FLUID MECHANICS & KINEMATICS
narayanaswamygdas
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
Raish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdfRaish Khanji GTU 8th sem Internship Report.pdf
Raish Khanji GTU 8th sem Internship Report.pdf
RaishKhanji
 

Solr Compute Cloud - An Elastic SolrCloud Infrastructure

  • 2. Solr Compute Cloud – An Elastic Solr Infrastructure Nitin Sharma - Member of technical staff, BloomReach - [email protected]
  • 3. Abstract Scaling search platforms is an extremely hard problem • Serving hundreds of millions of documents • Low latency • High throughput workloads • Optimized cost. At BloomReach, we have implemented SC2, an elastic Solr infrastructure for big data applications that: • Supports heterogeneous workloads while hosted in the cloud. • Dynamically grows/shrinks search servers • Application and Pipeline level isolation, NRT search and indexing. • Offers latency guarantees and application-specific performance tuning. • Provides high-availability features like cluster replacement, cross-data center support, disaster recovery etc.
  • 4. About Us BloomReach BloomReach has developed a personalized discovery platform that features applications that analyze big data to makes our customers’ digital content more discoverable, relevant and profitable. Myself I work on search platform scaling for BloomReach’s big data. My relevant experience and background includes scaling real-time services for latency sensitive applications and building performance and search-quality metrics infrastructure for personalization platforms.
  • 5. The BloomReach Personalized Discovery Platform
  • 6. BloomReach’s Applications Organic Search Content understanding What it does Content optimization, management and measurement Benefit Enhanced discoverability and customer acquisition in organic search What it does Personalized onsite search and navigation across devices Benefit Relevant and consistent onsite experiences for new and known users What it does Merchandising tool that understa nds products and identifies oppo rtunities Benefit Prioritize and optimize online merchandising SNAP Compass
  • 7. Agenda • BloomReach search use cases and architecture • Old architecture and issues • Scaling challenges • Elastic SolrCloud architecture and benefits • Lessons learned
  • 8. BloomReach Search Use Cases 1. Front-end (serving) queries – Uptime and Latency sensitive 2. Batch search pipelines – Throughput sensitive 3. Time bound indexing requirements – Customer Specific 4. Time bound Solr config updates
  • 9. BloomReach Search Architecture Zookeeper Ensemble Map Reduce Solr Cluster Pipelines (Reads) Indexing Pipelines Pipeline 1 Pipeline 2 Pipeline n Indexing 1 Indexing 2 Indexing n Heavy Load Moderate Load Light Load Legend Public API Search Traffic Search Traffic
  • 10. Throughput Issues… Zookeeper Ensemble Solr Cluster Pipeline 1 Pipeline 2 Pipeline n Indexing 1 Indexing 2 Indexing n Public API Search Traffic ● Heterogeneous read workload ● Same collection - different pipelines, different query patterns, different schedule ● Cache tuning is virtually impossible ● Larger pipeline starving the small ones ● Machine utilization determines throughput and stability of a pipeline at any point ● No isolation among jobs
  • 11. Stability and Uptime Issues… Zookeeper Ensemble Solr Cluster Pipeline 1 Pipeline 2 Pipeline n Indexing 1 Indexing 2 Indexing n Public API Search Traffic ● Bad clients – bring down the cluster/degrade performance ● Bad queries (with heavy load) – render nodes unresponsive ● Garbage collection issues ● ZK stability issues (as we scale collections) ● CPU /Load Issues ● Higher number of concurrent pipelines, higher number of issues
  • 12. Indexing Issues… Zookeeper Ensemble Solr Cluster Pipeline 1 Pipeline 2 Pipeline n Indexing 1 Indexing 2 Indexing n Public API Search Traffic ● Commit frequencies vary with indexer types ● Indexer run during another pipeline – performance ● Indexer client leaks ● Too many stored fields ● Non-batch updates
  • 13. Rethinking… • Shared cluster for pipelines does not scale. • Guaranteeing an uptime of 99.99+ - non trivial • Every job runs great in isolation. When you put them together, they fail. • Running index-heavy load and read-heavy load - cluster performance issues. • Any direct access to production cluster – cluster stability (client leaks, bad queries etc.). What if every pipeline had its own cluster?
  • 14. Solr Compute Cloud (SC2) • Elastic Infrastructure – Provision Solr Clusters on demand, on-the-fly. • Create, Use, Terminate Model - Create a temporary cluster with necessary data, use it and throw it away. • Technologies behind SC2 (built in House) Cluster Management API - Dynamic cluster provisioning and resource allocation. Solr HAFT – High availability and data management library for SolrCloud. • Isolation - Pipelines get their own cluster. One cannot disrupt another. • Dynamic Scaling – Every pipeline can state its own replication requirements. • Production Safeguard - No direct access. Safeguards from bad clients/access patterns. • Cost Saving – Provision for the average; withstand peak with elastic growth.
  • 15. Solr Compute Cloud Zookeeper Ensemble Solr Cluster Request: {Collection: A, Replica: 6} Pipeline 1 Solr Compute Cloud API Solr Cluster Collection A Replicas: 6 1. Read pipeline requests collection and desired replicas from SC2 API. 2. SC2 API provisions cluster dynamically with needed setup (and streams Solr data). 3. SC2 calls HAFT service to replicate data from production to provisioned cluster. 4. Pipeline uses this cluster to run job. 1 4 2 3 Solr HAFT Service 3 Read Replicate
  • 16. Solr Compute Cloud… Zookeeper Ensemble Solr Cluster Pipeline 1 Solr Compute Cloud API Solr Cluster Collection A Replicas: 6 1. Pipeline finishes running the job. 2. Pipeline calls SC2 API to terminate the cluster. 3. SC2 terminates the cluster. Terminate: {Cluster} 2 3 Solr HAFT Service 1
  • 17. Solr Compute Cloud – Read Pipeline View Zookeeper Ensemble Pipeline 1 Solr Compute Cloud API Solr Cluster Collection A Replicas: 6 Request: {Collection: A, Replica: 6} Pipeline 2 Solr Cluster Collection B Replicas: 2 Request: {Collection: B, Replica: 2} Pipeline n Solr Cluster Collection C Replicas: 1 Request: {Collection: C, Replica: 1} Solr HAFT Service Production Solr Cluster
  • 18. Solr Compute Cloud – Indexing Zookeeper Ensemble Production Solr Cluster Request: {Collection: A, Replica: 2} Indexing Solr Compute Cloud API Solr Cluster Collection A Replicas: 6 1. Read pipeline requests collection and desired replicas from SC2 API. 2. SC2 API provisions cluster dynamically with needed setup (and streams Solr data). 1. Indexer uses this cluster to index the data. 2. Indexer calls HAFT service to replicate the index from dynamic cluster to production. 3. HAFT service reads data from dynamic cluster and replicates to production Solr. 1 3 2 Replicate Solr HAFT Service 4 5 Read
  • 19. Solr Compute Cloud – Global View Zookeeper Ensemble Solr Compute Cloud API Solr HAFT Service Production Solr Cluster Indexing Pipelines 1 Elastic Clusters Indexing Pipelines n Read Pipelines 1 Read Pipelines n Provision: {Cluster} Terminate: {Cluster} Replicate Index Replicate Index Run Job
  • 20. Solr Compute Cloud API 1. API to provision clusters on demand. 2. Dynamic cluster and resource allocation (includes cost optimization) 3. Track request state, cluster performance and cost. 4. Terminate long-running, runaway clusters.
  • 21. Solr HAFT Service 1. High availability and fault tolerance 2. Home-grown technology 3. Open Source -  (Work in progress) 4. Features • One push disaster recovery • High availability operations • Replace node • Add replicas • Repair collection • Collection versioning • Cluster backup operations • Dynamic replica creation • Cluster clone • Cluster swap • Cluster state reconstruction
  • 22. Solr HAFT Service – Functional View Black Box Recording Index Management Actions Custom Commit Node Replacement Collection Versioning Solr HAFT Service Clone Collections Clone Alias Node Repair Clone Cluster Lucene Segment Optimize High Availability Actions Cluster Backup Operations Solr Metadata Zookeeper Metadata Dynamic Replica Creation Cluster Clone Cluster Swap Cluster State Reconstruction Verification Monitoring
  • 23. Disaster Recovery in New Architecture Zookeeper Ensemble Old Production Solr Cluster Zookeeper Ensemble New Solr Cluster Push Button Recovery Solr HAFT Service Brave Soul on Pager Duty 1 2 3 DNS 1. Guy on Pager clicks the recovery button 2. Solr HAFT Service triggers Cluster Setup State Reconstruction Cluster Clone Cluster Swap 3. Production DNS – New Cluster
  • 24. SC2 vs Non-SC2 (Stability Features) Property Non-SC2 SC2 Linear Scalability for Heterogeneous Workload Pipeline Level Isolation Dynamic Collection Scaling Prevention from Bad Clients Pipeline Specific Performance No Direct Access to Production Cluster Can Sleep at night? 
  • 25. SC2 vs Non-SC2 (Availability Features) Property Non-SC2 SC2 Cross Data-Center Support Cluster Cloning Collection Versioning One-Push Disaster Recovery Repair API for Nodes/Collections Node Replacement
  • 26. Lessons Learned 1. Solr is a search platform. Do not use it as a database (for scans and lookups). Evaluate your stored fields. 2. Understand access patterns, QPS and queries in detail. Be careful when tuning caches. 3. Have access control for large-scale jobs that directly talk to your cluster. (Internal DDOS attacks are hard to track.) 4. Instrument every piece of infrastructure and collect metrics. 5. Build automated disaster recovery (You will need it. )
  • 27. Questions? Thank You! Nitin Sharma [email protected] https://www.linkedin.com/in/knitinsharma

Editor's Notes

  • #3: GM. Thanks for making it to the session I am Nitin… The Talk is about SC2 which was built inside bloomreach to scale to our search use cases. If things go as planned, we should have a few mins for questions. If not I will be more than happy to talk offline. Please post your questions in the activity feed
  • #4: Typical Search Platforms have low latency requirements as we scale # of collections and # of documents Performance, Availability, Scalability and Stability Job Level Isolation with latency and SLA guarantees Diaster Recovery Platform This presentation will describe an innovative implementation of scaling Solr in an elastic fashion..
  • #5: Bloomreach is a big data based marketing platform We offer products that make our customer’s digital content more relevant
  • #8: What kind of search use cases does bloomreach have? A year worth of work and home grown technologies. Staying at a high level Glad to go over offline.
  • #9: Latency Sensitive Frontend Applications (Incoming customer queries through api) Huge Batch (Map reduce based jobs) jobs constant analyzing and figuring out the relevant content Time Sensitive index reads and writes
  • #10: Picture is worth a 1000 words Search Traffic – Different set of queries (utilizing all sorts of features faceting, sorting , custom ranking) ETL pipelines, Product based pipelines Pipelines Running at different schedules, different QPS and different throughput requirements. Indexer (Partial and Full indexing) Lets go over what kind of issues we encountered with this setup
  • #11: Red Circle indicates the issues. Multiple Products, Mulitple read pipleines. They run at different schedules. One can starve the other. One can screw up the latencies of the other. The setup is very static Un even load. Mem/CPU Usage varies and so does the machine utilization OOM PermGen issues (#Collections) Old Gen Issues High CPU Bad Queries Even Sharding Unused features Highlighting Random jars
  • #12: Bad clients – bring down the cluster/degrade performance (Any misbehaving job shoud Fail instead of bringing cluster down?) Bad queries (with heavy load) – render nodes unresponsive Perm Gen , Old Gen , Young Gen (Parallel GC vs CMS) ZK txn log and data dirs in different drives. We have developed multiple custom components. They might cause exceptions during querytime
  • #13: Auto commits did help to a certain extent but not too much No job level isolation Client Leaks No Rate limiting
  • #14: Summary of issues Ok how do we achieve that? Introducing SC2
  • #15: Spend More time… Linearly Scalable with Dynamic Scaling No direct access to production. Any misbehaving job “Fails” instead of bringing cluster down? Cost Saving:
  • #19: Instead of from , you replicate to production Access to production is only through replication and not through any other means
  • #23: Spend More Time…
  • #24: Old vs New architecture