SlideShare une entreprise Scribd logo
1  sur  37
Managing a large scale
SolrCloud cluster via APIs
Anshum Gupta
Sr. Software Engineer, IBM Watson
Apache Lucene/Solr Committer & PMC member
About me
• Anshum Gupta, Apache Lucene/Solr committer and PMC member,
IBM Watson Search team.
• Interested in search and related stuff.
• Apache Lucene since 2006 and Solr since 2010.
© 2014 International Business Machines Corporation 2
Apache Solr is the most widely-used search solution
on the planet.
Solr has tens of thousands of applications in
production.
You use everyday.
8,000,000+
Total downloads
Solr is both established
and growing.
250,000+
Monthly downloads
2,500+
Open Solr jobs and the largest community
of developers.
A little bit of history
• SolrCloud
• Introduced in 4.0
• Not Solr in the Cloud but set of distributed features for Solr
• No APIs to manage distributed clusters
• We’ve come a long way since then
© 2014 International Business Machines Corporation 4
01
SolrCloud - Physical Architecture
ZooKeep
er
Node 1 Node 2
Load
Balancer
Client
Client
Client
Client
Client
Client
Client
Client
Client
Lots
Of
Interaction
Coins by Creative Stall from the Noun Project
SolrCloud Terminology
• Node: JVM process that hosts the Solr web application
• Collection: Logic index distributed across multiple nodes
• Shard: Logical slice of a collection. Each shard has a name, hash range
(optional), leader, and replicationFactor.
• Replica: Physical Solr index that can accept updates or queries. Implemented
as a Solr core.
• ReplicationFactor: Number of copies of each shard.
• Leader: One replica per shard which assumes special duties like versioning.
They are elected using ZooKeeper.
• Overseer: Special node that manages cluster level operations. Also elected
using Zookeeper.
© 2014 International Business Machines Corporation 6
CONFIDENTIAL
Exploring the APIs - Getting Started
© 2014 International Business Machines Corporation 7
Creating a collection
• HTTP API
• Response
© 2014 International Business Machines Corporation 8
http://localhost:8983/solr/admin/collections?action=CREATE&name=foo&numShard
s=2&replicationFactor=1
{"responseHeader":{
"status":0,
"QTime":1848},
"success":{
"":{"responseHeader":{
"status":0,
"QTime":1741},
"core":"foo_shard1_replica1"}}}
Add a replica
• HTTP API
• Response
© 2014 International Business Machines Corporation 9
http://localhost:8983/solr/admin/collections?action=ADDREPLICA&collection=fo
o&shard=shard1
{"responseHeader":{
"status":0,
"QTime":1156},
"success":{
"":{"responseHeader":{
"status":0,
"QTime":1147},
"core":"foo_shard1_replica4"}}}
+
We added more than what we need - Delete replica
• HTTP API
• Response
© 2014 International Business Machines Corporation 10
http://localhost:8983/solr/admin/collections?action=DELETEREPLICA&collection
=foo&shard=shard1&replica=core_node3
{"responseHeader":{
"status":0,
"QTime":111},
"success":{
"":{
"responseHeader":{
"status":0,
"QTime":2}}}}
CONFIDENTIAL
Exploring the APIs - Rule based scaling out
© 2014 International Business Machines Corporation 11
Rule based Replica Assignment
• Use it during creation of:
• Collection
• Shard
• Replica
• Rules based on:
• Hostname
• Free disk space
• Number of cores
• Node name
• System property
• Other Metrics
© 2014 International Business Machines Corporation 12
Rule based Replica Assignment
• How is a rule defined?
• When creating a new replica, apply to each node.
• Supported Operators
© 2014 International Business Machines Corporation 13
f(shard, replica, tag)
default, > , < , !
Rule based Replica Assignment - Examples
• Example #1 - for any shard, limit number of replicas to 2 on any node
• Example #2 - For any replica, limit number of cores to 5 on a node
• Example #3 - Do not create any cores on host 198.21.2.19
© 2014 International Business Machines Corporation 14
shard:*,replica:<2,node:*
replica:*,cores:<5
host:!198.21.2.19
CONFIDENTIAL
Adjusting to growth - Moving data
© 2014 International Business Machines Corporation 15
Divide and Rule? - Let’s split a shard
• HTTP API
• Response
© 2014 International Business Machines Corporation 16
http://localhost:8983/solr/admin/collections?action=SPLITSHARD&collection=ba
r&shard=shard1
Too Verbose to Share!
Another way to move data - Migrate
• HTTP API
• Response
• What happens?
• Move documents to target collection
• Handle incoming updates and have temporary routing for original collection to
send updates to target
© 2014 International Business Machines Corporation 17
http://localhost:8983/solr/admin/collections?action=MIGRATE&collection=foo&s
plit.key=a!&target.collection=bar
Too Verbose to fit in here!
CONFIDENTIAL
Monitoring your Cluster
© 2014 International Business Machines Corporation 18
LIST Collections - Let’s see what we have
• HTTP API
• Response
© 2014 International Business Machines Corporation 19
http://localhost:8983/solr/admin/collections?action=LIST
{"responseHeader":{
"status":0,
"QTime":0},
"collections":["a",
"bar",
"foo"]}
CLUSTERSTATUS : Don’t we like details?
© 2014 International Business Machines Corporation 20
http://localhost:8983/solr/admin/
collections?action=CLUSTERSTATUS
{"cluster":{
"collections":{
"foo":{
"replicationFactor":"1",
"shards":{"shard1":{
"range":"80000000-7fffffff",
"state":"active",
"replicas":{
"core_node1":{
"core":"foo_shard1_replica1",
"base_url":"http://192.168.1.125:8983/solr",
"node_name":"192.168.1.125:8983_solr",
"state":"active",
"leader":"true"},
"core_node2":{
"core":"foo_shard1_replica2",
"base_url":"http://192.168.1.125:8983/solr",
"node_name":"192.168.1.125:8983_solr",
"state":"active"}}}},
"router":{"name":"compositeId"},
"maxShardsPerNode":"100",
"autoAddReplicas":"false",
"znodeVersion":14,
"configName":"a"}},
"live_nodes":["192.168.1.125:8983_solr"]}}
• HTTP API
OVERSEERSTATUS - More than a sneak peek
© 2014 International Business Machines Corporation 21
http://localhost:8983/solr/admin/collections?action=OVERSEERSTATUS
• HTTP API
• Response - Verbose. Actually, more than that!
• Stats for:
• Errors
• Time taken
• Much more
CONFIDENTIAL
Managing your Cluster
© 2014 International Business Machines Corporation 22
Set a specific node to be the Overseer
© 2014 International Business Machines Corporation 23
http://localhost:8983/solr/admin/collections?action=ADDROLE&role=overseer&node
=192.168.1.125:8983_solr
• ADD Role
• Response - Nothing substantial but a 200 on success
• Supported role:
• Only Overseer for now
• Remember - It’s only a preference
Setting a preferred leader
© 2014 International Business Machines Corporation 24
http://localhost:8983/solr/admin/collections?action=ADDREPLICAPROP&shard=shard
1&collection=foo&replica=core_node2&property=preferredLeader&property.value=tr
ue
• Using ADDREPLICAPROP
• Sets ‘preferredLeader’ to ‘true’. The only pre-defined property.
Setting preferred leaders for the entire collection
© 2014 International Business Machines Corporation 25
http://localhost:8983/solr/admin/collections?action=BALANCESHARDUNIQUE&collect
ion=foo&property=preferredLeader
• Using BALANCESHARDUNIQUE
• Sets ‘preferredLeader’ to ‘true’ evenly across the collection
Rebalance the leaders
© 2014 International Business Machines Corporation 26
http://localhost:8983/solr/admin/collections?action=REBALANCELEADERS&collecti
on=foo
• Using REBALANCELEADERS
• This allows preferredLeaders to take up leadership for shards.
I lost my leader! Where do I go now?
© 2014 International Business Machines Corporation 27
http://localhost:8983/solr/admin/collections?action=FORCELEADER&collection=fo
o&shard=shard1
• Force a leader election using FORCELEADER API
• This can ONLY be used when the shard has no leader.
CONFIDENTIAL
Recipe #1 - Shard Splitting
© 2014 International Business Machines Corporation 28
Splitting a shard - It’s more than just the single API call
• Monitor disk-size
• CLUSTERSTATUS & Core STATUS
• SPLITSHARD
• Make sure there’s enough spare disk space
• Add one more replica
• Force leader election (DELETEREPLICA)
• Delete old INACTIVE shard (Parent)
© 2014 International Business Machines Corporation 29
CONFIDENTIAL
Recipe #2 - Ensuring high availability
© 2014 International Business Machines Corporation 30
High availability through a monitoring application
• Auto-add replica
• Monitor cluster status - CLUSTERSTATUS API
• ADD Replica using replica placement strategy
• Remove replicas when there are too many
© 2014 International Business Machines Corporation 31
CONFIDENTIAL
Recipe #3 - Migrating Cluster Infrastructure
© 2014 International Business Machines Corporation 32
Migrating cluster infrastructure
• CLUSTERSTATUS, and OVERSEERSTATUS
• Overseer, Leaders, etc.
• Move the Overseer first OR last
• Rebalance leaders
• Force leader elections if required*
© 2014 International Business Machines Corporation 33
*The assumption is you know what you’re doing!
CONFIDENTIAL
What’s more?
© 2014 International Business Machines Corporation 34
There’s a lot more, a single session is too less!
• Version 2 APIs
• SolrJ support for all the APIs - Easy to tool in Java
• Security
• Cross Data Center Support
© 2014 International Business Machines Corporation 35
Coming Soon - SolrCloud Backup and Restore!
• Committed just a few days ago
• Back up and restore of
• Collections
• ZK metadata
• Configs
• Release with 6.1 (and may be 5.6)
© 2014 International Business Machines Corporation 36
http://www.twitter.com/anshumgupta
http://www.linkedin.com/in/anshumgupta/
anshum@apache.org
Connect @

Contenu connexe

Tendances

Adapting and adopting spm v04
Adapting and adopting spm v04Adapting and adopting spm v04
Adapting and adopting spm v04Carlos Sierra
 
Top 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQLTop 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQLJim Mlodgenski
 
Apache doris (incubating) introduction
Apache doris (incubating) introductionApache doris (incubating) introduction
Apache doris (incubating) introductionleanderlee2
 
Powerful Spatial Features You Never Knew Existed in Oracle Spatial and Graph ...
Powerful Spatial Features You Never Knew Existed in Oracle Spatial and Graph ...Powerful Spatial Features You Never Knew Existed in Oracle Spatial and Graph ...
Powerful Spatial Features You Never Knew Existed in Oracle Spatial and Graph ...Jean Ihm
 
A deep dive about VIP,HAIP, and SCAN
A deep dive about VIP,HAIP, and SCAN A deep dive about VIP,HAIP, and SCAN
A deep dive about VIP,HAIP, and SCAN Riyaj Shamsudeen
 
Understanding oracle rac internals part 2 - slides
Understanding oracle rac internals   part 2 - slidesUnderstanding oracle rac internals   part 2 - slides
Understanding oracle rac internals part 2 - slidesMohamed Farouk
 
SPARQL-DL - Theory & Practice
SPARQL-DL - Theory & PracticeSPARQL-DL - Theory & Practice
SPARQL-DL - Theory & PracticeAdriel Café
 
MySQL 8.0.18 latest updates: Hash join and EXPLAIN ANALYZE
MySQL 8.0.18 latest updates: Hash join and EXPLAIN ANALYZEMySQL 8.0.18 latest updates: Hash join and EXPLAIN ANALYZE
MySQL 8.0.18 latest updates: Hash join and EXPLAIN ANALYZENorvald Ryeng
 
Your tuning arsenal: AWR, ADDM, ASH, Metrics and Advisors
Your tuning arsenal: AWR, ADDM, ASH, Metrics and AdvisorsYour tuning arsenal: AWR, ADDM, ASH, Metrics and Advisors
Your tuning arsenal: AWR, ADDM, ASH, Metrics and AdvisorsJohn Kanagaraj
 
My SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMy SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMarkus Flechtner
 
How to Performance-Tune Apache Spark Applications in Large Clusters
How to Performance-Tune Apache Spark Applications in Large ClustersHow to Performance-Tune Apache Spark Applications in Large Clusters
How to Performance-Tune Apache Spark Applications in Large ClustersDatabricks
 
From zero to hero Backing up alfresco
From zero to hero Backing up alfrescoFrom zero to hero Backing up alfresco
From zero to hero Backing up alfrescoToni de la Fuente
 
Towards Flink 2.0: Unified Batch & Stream Processing - Aljoscha Krettek, Verv...
Towards Flink 2.0: Unified Batch & Stream Processing - Aljoscha Krettek, Verv...Towards Flink 2.0: Unified Batch & Stream Processing - Aljoscha Krettek, Verv...
Towards Flink 2.0: Unified Batch & Stream Processing - Aljoscha Krettek, Verv...Flink Forward
 
Open Source SQL - beyond parsers: ZetaSQL and Apache Calcite
Open Source SQL - beyond parsers: ZetaSQL and Apache CalciteOpen Source SQL - beyond parsers: ZetaSQL and Apache Calcite
Open Source SQL - beyond parsers: ZetaSQL and Apache CalciteJulian Hyde
 
Monitoramento Inteligente utilizando o ZABBIX
Monitoramento Inteligente utilizando o ZABBIXMonitoramento Inteligente utilizando o ZABBIX
Monitoramento Inteligente utilizando o ZABBIXLuiz Andrade
 

Tendances (20)

ASM
ASMASM
ASM
 
Adapting and adopting spm v04
Adapting and adopting spm v04Adapting and adopting spm v04
Adapting and adopting spm v04
 
SQLd360
SQLd360SQLd360
SQLd360
 
Kamailio - API Based SIP Routing
Kamailio - API Based SIP RoutingKamailio - API Based SIP Routing
Kamailio - API Based SIP Routing
 
Top 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQLTop 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQL
 
Apache doris (incubating) introduction
Apache doris (incubating) introductionApache doris (incubating) introduction
Apache doris (incubating) introduction
 
Powerful Spatial Features You Never Knew Existed in Oracle Spatial and Graph ...
Powerful Spatial Features You Never Knew Existed in Oracle Spatial and Graph ...Powerful Spatial Features You Never Knew Existed in Oracle Spatial and Graph ...
Powerful Spatial Features You Never Knew Existed in Oracle Spatial and Graph ...
 
HDFS: Optimization, Stabilization and Supportability
HDFS: Optimization, Stabilization and SupportabilityHDFS: Optimization, Stabilization and Supportability
HDFS: Optimization, Stabilization and Supportability
 
A deep dive about VIP,HAIP, and SCAN
A deep dive about VIP,HAIP, and SCAN A deep dive about VIP,HAIP, and SCAN
A deep dive about VIP,HAIP, and SCAN
 
Understanding oracle rac internals part 2 - slides
Understanding oracle rac internals   part 2 - slidesUnderstanding oracle rac internals   part 2 - slides
Understanding oracle rac internals part 2 - slides
 
SPARQL-DL - Theory & Practice
SPARQL-DL - Theory & PracticeSPARQL-DL - Theory & Practice
SPARQL-DL - Theory & Practice
 
MySQL 8.0.18 latest updates: Hash join and EXPLAIN ANALYZE
MySQL 8.0.18 latest updates: Hash join and EXPLAIN ANALYZEMySQL 8.0.18 latest updates: Hash join and EXPLAIN ANALYZE
MySQL 8.0.18 latest updates: Hash join and EXPLAIN ANALYZE
 
TiDB Introduction
TiDB IntroductionTiDB Introduction
TiDB Introduction
 
Your tuning arsenal: AWR, ADDM, ASH, Metrics and Advisors
Your tuning arsenal: AWR, ADDM, ASH, Metrics and AdvisorsYour tuning arsenal: AWR, ADDM, ASH, Metrics and Advisors
Your tuning arsenal: AWR, ADDM, ASH, Metrics and Advisors
 
My SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please helpMy SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please help
 
How to Performance-Tune Apache Spark Applications in Large Clusters
How to Performance-Tune Apache Spark Applications in Large ClustersHow to Performance-Tune Apache Spark Applications in Large Clusters
How to Performance-Tune Apache Spark Applications in Large Clusters
 
From zero to hero Backing up alfresco
From zero to hero Backing up alfrescoFrom zero to hero Backing up alfresco
From zero to hero Backing up alfresco
 
Towards Flink 2.0: Unified Batch & Stream Processing - Aljoscha Krettek, Verv...
Towards Flink 2.0: Unified Batch & Stream Processing - Aljoscha Krettek, Verv...Towards Flink 2.0: Unified Batch & Stream Processing - Aljoscha Krettek, Verv...
Towards Flink 2.0: Unified Batch & Stream Processing - Aljoscha Krettek, Verv...
 
Open Source SQL - beyond parsers: ZetaSQL and Apache Calcite
Open Source SQL - beyond parsers: ZetaSQL and Apache CalciteOpen Source SQL - beyond parsers: ZetaSQL and Apache Calcite
Open Source SQL - beyond parsers: ZetaSQL and Apache Calcite
 
Monitoramento Inteligente utilizando o ZABBIX
Monitoramento Inteligente utilizando o ZABBIXMonitoramento Inteligente utilizando o ZABBIX
Monitoramento Inteligente utilizando o ZABBIX
 

Similaire à Managing a SolrCloud cluster using APIs

OpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston MeetupOpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston Meetupragss
 
Using Databases and Containers From Development to Deployment
Using Databases and Containers  From Development to DeploymentUsing Databases and Containers  From Development to Deployment
Using Databases and Containers From Development to DeploymentAerospike, Inc.
 
Open Source, infrastructure as Code, Cloud Native Apps 2015
Open Source, infrastructure as Code, Cloud Native Apps 2015Open Source, infrastructure as Code, Cloud Native Apps 2015
Open Source, infrastructure as Code, Cloud Native Apps 2015Jonas Rosland
 
Apache Accumulo Overview
Apache Accumulo OverviewApache Accumulo Overview
Apache Accumulo OverviewBill Havanki
 
Cloud Roundtable | Pivoltal: Agile platform
Cloud Roundtable | Pivoltal: Agile platformCloud Roundtable | Pivoltal: Agile platform
Cloud Roundtable | Pivoltal: Agile platformCodemotion
 
NetIQ identity powered security
NetIQ identity powered security   NetIQ identity powered security
NetIQ identity powered security Finceptum Oy
 
Cloud Platforms for Java
Cloud Platforms for JavaCloud Platforms for Java
Cloud Platforms for Java3Pillar Global
 
Add Apache Web Server to your Unified Monitoring Toolkit
Add Apache Web Server to your Unified Monitoring ToolkitAdd Apache Web Server to your Unified Monitoring Toolkit
Add Apache Web Server to your Unified Monitoring ToolkitAppDynamics
 
Securing Red Hat OpenShift Containerized Applications At Enterprise Scale
Securing Red Hat OpenShift Containerized Applications At Enterprise ScaleSecuring Red Hat OpenShift Containerized Applications At Enterprise Scale
Securing Red Hat OpenShift Containerized Applications At Enterprise ScaleDevOps.com
 
Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Chef
 
SolrCloud Cluster management via APIs
SolrCloud Cluster management via APIsSolrCloud Cluster management via APIs
SolrCloud Cluster management via APIsAnshum Gupta
 
Halifax DevOps - Meet-up - July.19 2017
Halifax DevOps - Meet-up - July.19 2017Halifax DevOps - Meet-up - July.19 2017
Halifax DevOps - Meet-up - July.19 2017Kyle Bassett
 
Building a Dev/Test Cloud with Apache CloudStack
Building a Dev/Test Cloud with Apache CloudStackBuilding a Dev/Test Cloud with Apache CloudStack
Building a Dev/Test Cloud with Apache CloudStackke4qqq
 
Apache Ambari - What's New in 1.6.0
Apache Ambari - What's New in 1.6.0Apache Ambari - What's New in 1.6.0
Apache Ambari - What's New in 1.6.0Hortonworks
 
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse FoundationOMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse FoundationOpen Mobile Alliance
 
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...VMworld
 

Similaire à Managing a SolrCloud cluster using APIs (20)

OpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston MeetupOpenStack + Cloud Foundry for the OpenStack Boston Meetup
OpenStack + Cloud Foundry for the OpenStack Boston Meetup
 
MySQL Fabric
MySQL FabricMySQL Fabric
MySQL Fabric
 
Using Databases and Containers From Development to Deployment
Using Databases and Containers  From Development to DeploymentUsing Databases and Containers  From Development to Deployment
Using Databases and Containers From Development to Deployment
 
SD Times - Docker v2
SD Times - Docker v2SD Times - Docker v2
SD Times - Docker v2
 
Open Source, infrastructure as Code, Cloud Native Apps 2015
Open Source, infrastructure as Code, Cloud Native Apps 2015Open Source, infrastructure as Code, Cloud Native Apps 2015
Open Source, infrastructure as Code, Cloud Native Apps 2015
 
Apache Accumulo Overview
Apache Accumulo OverviewApache Accumulo Overview
Apache Accumulo Overview
 
Cloud Roundtable | Pivoltal: Agile platform
Cloud Roundtable | Pivoltal: Agile platformCloud Roundtable | Pivoltal: Agile platform
Cloud Roundtable | Pivoltal: Agile platform
 
NetIQ identity powered security
NetIQ identity powered security   NetIQ identity powered security
NetIQ identity powered security
 
Mule meetup 25thjan
Mule meetup 25thjanMule meetup 25thjan
Mule meetup 25thjan
 
Cloud Platforms for Java
Cloud Platforms for JavaCloud Platforms for Java
Cloud Platforms for Java
 
Add Apache Web Server to your Unified Monitoring Toolkit
Add Apache Web Server to your Unified Monitoring ToolkitAdd Apache Web Server to your Unified Monitoring Toolkit
Add Apache Web Server to your Unified Monitoring Toolkit
 
Securing Red Hat OpenShift Containerized Applications At Enterprise Scale
Securing Red Hat OpenShift Containerized Applications At Enterprise ScaleSecuring Red Hat OpenShift Containerized Applications At Enterprise Scale
Securing Red Hat OpenShift Containerized Applications At Enterprise Scale
 
Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1Overview of Chef - Fundamentals Webinar Series Part 1
Overview of Chef - Fundamentals Webinar Series Part 1
 
SolrCloud Cluster management via APIs
SolrCloud Cluster management via APIsSolrCloud Cluster management via APIs
SolrCloud Cluster management via APIs
 
Halifax DevOps - Meet-up - July.19 2017
Halifax DevOps - Meet-up - July.19 2017Halifax DevOps - Meet-up - July.19 2017
Halifax DevOps - Meet-up - July.19 2017
 
Building a Dev/Test Cloud with Apache CloudStack
Building a Dev/Test Cloud with Apache CloudStackBuilding a Dev/Test Cloud with Apache CloudStack
Building a Dev/Test Cloud with Apache CloudStack
 
Apache Ambari - What's New in 1.6.0
Apache Ambari - What's New in 1.6.0Apache Ambari - What's New in 1.6.0
Apache Ambari - What's New in 1.6.0
 
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse FoundationOMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
 
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
 
Avoid boring work_v2
Avoid boring work_v2Avoid boring work_v2
Avoid boring work_v2
 

Plus de Anshum Gupta

Working with deeply nested documents in Apache Solr
Working with deeply nested documents in Apache SolrWorking with deeply nested documents in Apache Solr
Working with deeply nested documents in Apache SolrAnshum Gupta
 
Working with deeply nested documents in Apache Solr
Working with deeply nested documents in Apache SolrWorking with deeply nested documents in Apache Solr
Working with deeply nested documents in Apache SolrAnshum Gupta
 
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 SolrCloudAnshum Gupta
 
Understanding the Solr security framework - Lucene Solr Revolution 2015
Understanding the Solr security framework - Lucene Solr Revolution 2015Understanding the Solr security framework - Lucene Solr Revolution 2015
Understanding the Solr security framework - Lucene Solr Revolution 2015Anshum Gupta
 
Solr security frameworks
Solr security frameworksSolr security frameworks
Solr security frameworksAnshum Gupta
 
Apache Solr 5.0 and beyond
Apache Solr 5.0 and beyondApache Solr 5.0 and beyond
Apache Solr 5.0 and beyondAnshum Gupta
 
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 CollectionsAnshum Gupta
 
Deploying and managing Solr at scale
Deploying and managing Solr at scaleDeploying and managing Solr at scale
Deploying and managing Solr at scaleAnshum Gupta
 
What's new in Solr 5.0
What's new in Solr 5.0What's new in Solr 5.0
What's new in Solr 5.0Anshum Gupta
 
Ease of use in Apache Solr
Ease of use in Apache SolrEase of use in Apache Solr
Ease of use in Apache SolrAnshum Gupta
 
What's New in Apache Solr 4.10
What's New in Apache Solr 4.10What's New in Apache Solr 4.10
What's New in Apache Solr 4.10Anshum Gupta
 

Plus de Anshum Gupta (11)

Working with deeply nested documents in Apache Solr
Working with deeply nested documents in Apache SolrWorking with deeply nested documents in Apache Solr
Working with deeply nested documents in Apache Solr
 
Working with deeply nested documents in Apache Solr
Working with deeply nested documents in Apache SolrWorking with deeply nested documents in Apache Solr
Working with deeply nested documents in Apache Solr
 
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
 
Understanding the Solr security framework - Lucene Solr Revolution 2015
Understanding the Solr security framework - Lucene Solr Revolution 2015Understanding the Solr security framework - Lucene Solr Revolution 2015
Understanding the Solr security framework - Lucene Solr Revolution 2015
 
Solr security frameworks
Solr security frameworksSolr security frameworks
Solr security frameworks
 
Apache Solr 5.0 and beyond
Apache Solr 5.0 and beyondApache Solr 5.0 and beyond
Apache Solr 5.0 and beyond
 
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
 
Deploying and managing Solr at scale
Deploying and managing Solr at scaleDeploying and managing Solr at scale
Deploying and managing Solr at scale
 
What's new in Solr 5.0
What's new in Solr 5.0What's new in Solr 5.0
What's new in Solr 5.0
 
Ease of use in Apache Solr
Ease of use in Apache SolrEase of use in Apache Solr
Ease of use in Apache Solr
 
What's New in Apache Solr 4.10
What's New in Apache Solr 4.10What's New in Apache Solr 4.10
What's New in Apache Solr 4.10
 

Dernier

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 

Dernier (20)

Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 

Managing a SolrCloud cluster using APIs

  • 1. Managing a large scale SolrCloud cluster via APIs Anshum Gupta Sr. Software Engineer, IBM Watson Apache Lucene/Solr Committer & PMC member
  • 2. About me • Anshum Gupta, Apache Lucene/Solr committer and PMC member, IBM Watson Search team. • Interested in search and related stuff. • Apache Lucene since 2006 and Solr since 2010. © 2014 International Business Machines Corporation 2
  • 3. Apache Solr is the most widely-used search solution on the planet. Solr has tens of thousands of applications in production. You use everyday. 8,000,000+ Total downloads Solr is both established and growing. 250,000+ Monthly downloads 2,500+ Open Solr jobs and the largest community of developers.
  • 4. A little bit of history • SolrCloud • Introduced in 4.0 • Not Solr in the Cloud but set of distributed features for Solr • No APIs to manage distributed clusters • We’ve come a long way since then © 2014 International Business Machines Corporation 4
  • 5. 01 SolrCloud - Physical Architecture ZooKeep er Node 1 Node 2 Load Balancer Client Client Client Client Client Client Client Client Client Lots Of Interaction Coins by Creative Stall from the Noun Project
  • 6. SolrCloud Terminology • Node: JVM process that hosts the Solr web application • Collection: Logic index distributed across multiple nodes • Shard: Logical slice of a collection. Each shard has a name, hash range (optional), leader, and replicationFactor. • Replica: Physical Solr index that can accept updates or queries. Implemented as a Solr core. • ReplicationFactor: Number of copies of each shard. • Leader: One replica per shard which assumes special duties like versioning. They are elected using ZooKeeper. • Overseer: Special node that manages cluster level operations. Also elected using Zookeeper. © 2014 International Business Machines Corporation 6
  • 7. CONFIDENTIAL Exploring the APIs - Getting Started © 2014 International Business Machines Corporation 7
  • 8. Creating a collection • HTTP API • Response © 2014 International Business Machines Corporation 8 http://localhost:8983/solr/admin/collections?action=CREATE&name=foo&numShard s=2&replicationFactor=1 {"responseHeader":{ "status":0, "QTime":1848}, "success":{ "":{"responseHeader":{ "status":0, "QTime":1741}, "core":"foo_shard1_replica1"}}}
  • 9. Add a replica • HTTP API • Response © 2014 International Business Machines Corporation 9 http://localhost:8983/solr/admin/collections?action=ADDREPLICA&collection=fo o&shard=shard1 {"responseHeader":{ "status":0, "QTime":1156}, "success":{ "":{"responseHeader":{ "status":0, "QTime":1147}, "core":"foo_shard1_replica4"}}} +
  • 10. We added more than what we need - Delete replica • HTTP API • Response © 2014 International Business Machines Corporation 10 http://localhost:8983/solr/admin/collections?action=DELETEREPLICA&collection =foo&shard=shard1&replica=core_node3 {"responseHeader":{ "status":0, "QTime":111}, "success":{ "":{ "responseHeader":{ "status":0, "QTime":2}}}}
  • 11. CONFIDENTIAL Exploring the APIs - Rule based scaling out © 2014 International Business Machines Corporation 11
  • 12. Rule based Replica Assignment • Use it during creation of: • Collection • Shard • Replica • Rules based on: • Hostname • Free disk space • Number of cores • Node name • System property • Other Metrics © 2014 International Business Machines Corporation 12
  • 13. Rule based Replica Assignment • How is a rule defined? • When creating a new replica, apply to each node. • Supported Operators © 2014 International Business Machines Corporation 13 f(shard, replica, tag) default, > , < , !
  • 14. Rule based Replica Assignment - Examples • Example #1 - for any shard, limit number of replicas to 2 on any node • Example #2 - For any replica, limit number of cores to 5 on a node • Example #3 - Do not create any cores on host 198.21.2.19 © 2014 International Business Machines Corporation 14 shard:*,replica:<2,node:* replica:*,cores:<5 host:!198.21.2.19
  • 15. CONFIDENTIAL Adjusting to growth - Moving data © 2014 International Business Machines Corporation 15
  • 16. Divide and Rule? - Let’s split a shard • HTTP API • Response © 2014 International Business Machines Corporation 16 http://localhost:8983/solr/admin/collections?action=SPLITSHARD&collection=ba r&shard=shard1 Too Verbose to Share!
  • 17. Another way to move data - Migrate • HTTP API • Response • What happens? • Move documents to target collection • Handle incoming updates and have temporary routing for original collection to send updates to target © 2014 International Business Machines Corporation 17 http://localhost:8983/solr/admin/collections?action=MIGRATE&collection=foo&s plit.key=a!&target.collection=bar Too Verbose to fit in here!
  • 18. CONFIDENTIAL Monitoring your Cluster © 2014 International Business Machines Corporation 18
  • 19. LIST Collections - Let’s see what we have • HTTP API • Response © 2014 International Business Machines Corporation 19 http://localhost:8983/solr/admin/collections?action=LIST {"responseHeader":{ "status":0, "QTime":0}, "collections":["a", "bar", "foo"]}
  • 20. CLUSTERSTATUS : Don’t we like details? © 2014 International Business Machines Corporation 20 http://localhost:8983/solr/admin/ collections?action=CLUSTERSTATUS {"cluster":{ "collections":{ "foo":{ "replicationFactor":"1", "shards":{"shard1":{ "range":"80000000-7fffffff", "state":"active", "replicas":{ "core_node1":{ "core":"foo_shard1_replica1", "base_url":"http://192.168.1.125:8983/solr", "node_name":"192.168.1.125:8983_solr", "state":"active", "leader":"true"}, "core_node2":{ "core":"foo_shard1_replica2", "base_url":"http://192.168.1.125:8983/solr", "node_name":"192.168.1.125:8983_solr", "state":"active"}}}}, "router":{"name":"compositeId"}, "maxShardsPerNode":"100", "autoAddReplicas":"false", "znodeVersion":14, "configName":"a"}}, "live_nodes":["192.168.1.125:8983_solr"]}} • HTTP API
  • 21. OVERSEERSTATUS - More than a sneak peek © 2014 International Business Machines Corporation 21 http://localhost:8983/solr/admin/collections?action=OVERSEERSTATUS • HTTP API • Response - Verbose. Actually, more than that! • Stats for: • Errors • Time taken • Much more
  • 22. CONFIDENTIAL Managing your Cluster © 2014 International Business Machines Corporation 22
  • 23. Set a specific node to be the Overseer © 2014 International Business Machines Corporation 23 http://localhost:8983/solr/admin/collections?action=ADDROLE&role=overseer&node =192.168.1.125:8983_solr • ADD Role • Response - Nothing substantial but a 200 on success • Supported role: • Only Overseer for now • Remember - It’s only a preference
  • 24. Setting a preferred leader © 2014 International Business Machines Corporation 24 http://localhost:8983/solr/admin/collections?action=ADDREPLICAPROP&shard=shard 1&collection=foo&replica=core_node2&property=preferredLeader&property.value=tr ue • Using ADDREPLICAPROP • Sets ‘preferredLeader’ to ‘true’. The only pre-defined property.
  • 25. Setting preferred leaders for the entire collection © 2014 International Business Machines Corporation 25 http://localhost:8983/solr/admin/collections?action=BALANCESHARDUNIQUE&collect ion=foo&property=preferredLeader • Using BALANCESHARDUNIQUE • Sets ‘preferredLeader’ to ‘true’ evenly across the collection
  • 26. Rebalance the leaders © 2014 International Business Machines Corporation 26 http://localhost:8983/solr/admin/collections?action=REBALANCELEADERS&collecti on=foo • Using REBALANCELEADERS • This allows preferredLeaders to take up leadership for shards.
  • 27. I lost my leader! Where do I go now? © 2014 International Business Machines Corporation 27 http://localhost:8983/solr/admin/collections?action=FORCELEADER&collection=fo o&shard=shard1 • Force a leader election using FORCELEADER API • This can ONLY be used when the shard has no leader.
  • 28. CONFIDENTIAL Recipe #1 - Shard Splitting © 2014 International Business Machines Corporation 28
  • 29. Splitting a shard - It’s more than just the single API call • Monitor disk-size • CLUSTERSTATUS & Core STATUS • SPLITSHARD • Make sure there’s enough spare disk space • Add one more replica • Force leader election (DELETEREPLICA) • Delete old INACTIVE shard (Parent) © 2014 International Business Machines Corporation 29
  • 30. CONFIDENTIAL Recipe #2 - Ensuring high availability © 2014 International Business Machines Corporation 30
  • 31. High availability through a monitoring application • Auto-add replica • Monitor cluster status - CLUSTERSTATUS API • ADD Replica using replica placement strategy • Remove replicas when there are too many © 2014 International Business Machines Corporation 31
  • 32. CONFIDENTIAL Recipe #3 - Migrating Cluster Infrastructure © 2014 International Business Machines Corporation 32
  • 33. Migrating cluster infrastructure • CLUSTERSTATUS, and OVERSEERSTATUS • Overseer, Leaders, etc. • Move the Overseer first OR last • Rebalance leaders • Force leader elections if required* © 2014 International Business Machines Corporation 33 *The assumption is you know what you’re doing!
  • 34. CONFIDENTIAL What’s more? © 2014 International Business Machines Corporation 34
  • 35. There’s a lot more, a single session is too less! • Version 2 APIs • SolrJ support for all the APIs - Easy to tool in Java • Security • Cross Data Center Support © 2014 International Business Machines Corporation 35
  • 36. Coming Soon - SolrCloud Backup and Restore! • Committed just a few days ago • Back up and restore of • Collections • ZK metadata • Configs • Release with 6.1 (and may be 5.6) © 2014 International Business Machines Corporation 36

Notes de l'éditeur

  1. Deletion requires specifying the replica name. Will discuss how to get that when we discuss recipes later.
  2. there’s no <= or >=
  3. Only works for collections using hash routers
  4. Latest release - also contains aliases
  5. If you don’t give access to zk (solr as a service), this becomes even more useful
  6. Overseer - Orchestrates all things like collection, replica creation, deletion etc. and also manages zk-write interactions.
  7. Heavy UpdateRequestProcessor, run only once. ADDREPLICAPROP only adds the property passively
  8. Make sure that same solr instance doesn’t share multiple shard leaders for the same collection
  9. RF = 3, RF = 2, When there’s just 1 left, add one back. Check CLUSTER health before adding a replica