Intro to Elasticsearch
13+
100+
30%
15k+
About the course
Course curriculum
Scaling basics
- Bootstrapping and discovery
- Number of shards and replicas
- Node roles
- Lab
- Set up a cluster; adjust number of shards and replicas for a new index
- Set up dedicated master, data and client nodes in a cluster
Designing for scale
- Time-based indices and aliases
- Shard allocation
- Cross-cluster search
- Lab
- Roll time-based indices by size
- Create a multi-tier cluster
- Set up a cluster to work across availability zones
Cluster maintenance
- Index and search templates
- Snapshot and restore
- Upgrades and cluster restarts
- Shard allocation troubleshooting
- Lab
- Set up index templates
- Adjust initial recovery settings
- Adjust rebalancing settings
- Perform a cluster upgrade
- Snapshot and restore an index
Troubleshooting and profiling
- Health and stats APIs
- Cat APIs
- Monitoring products
- Logging
- Task management
- Hot threads API
- Query profiling
- Lab
- Use JSON and Cat APIs to get information about the state of the cluster
- Set up slowlogs
- Profile a query from the slowlog
- Reindex data from one index to another
Performance bottlenecks
- Heap size vs OS caches
- Garbage collection
- Elasticsearch-specific memory usage and caches
- Hardware considerations
- Lab
- Pick up the right hardware for a use-case
- Size the heap correctly
- Tune the garbage collector for more throughput
- Adjust cache sizing for a use-case
Tuning indexing and queries
- How often to commit: translog, index buffer and refresh interval
- How data is stored: merge policies
- Routing
- Thread pools
- Lab
- Set up routing
- Adjust refresh, flush and merge settings
- Adjust thread pool size and queue sizes