Skip to content

joeywhelan/elastic-crosscluster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elastic Cross-Cluster Operations

Contents

  1. Summary
  2. Architecture
  3. Features
  4. Prerequisites
  5. Installation
  6. Usage

Summary

This is a K8s + Docker demonstration of cross-cluster functionality available in Elasticsearch (ES).

Architecture

architecture

Features

  • Builds a single ES node + Kibana cluster in K8s.
  • Builds a second single ES node + Kibana cluster in Docker.
  • Configures both clusters as remote clusters to each other.
  • Sets up a cross-cluster replication (CCR) scenario and demonstrates the data replication via a Nodejs client.
  • Sets up a cross-cluster search (CCS) scenario and demonstrates the search across both clusters via a Python client.

Prerequisites

  • Linux OS - Mac users have reported issues that appear to be docker-network related.
  • Docker
  • Docker Compose
  • go
  • Kind
  • helm
  • kubectl
  • jq
  • python3
  • nodejs

Installation

git clone git@github.com:joeywhelan/elastic-crosscluster.git && cd elastic-crosscluster

Usage

K8s + Docker ES Clusters Start-up

./start.sh

Nodejs CCR Demo

  • Update the WEST_IP var to the IP address assigned to the westcluster-es-http service
cd src/javascript
npm install
node ccr_test.js

Python CCS Demo

  • Update the WEST_IP var to the IP address assigned to the westcluster-es-http service
cd src/python
pip install elasticsearch
python3 ccs_test.py

K8s + Docker ES Clusters Shutdown

./stop.sh

About

Demonstration of configuration of Elasticsearch to support cross-cluster replication and search.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors