Docker Compose ile OpenSearch ve OpenSearch Dashboards Kurulumu

Mustafa Dikyar
4 min readMar 2, 2024

Merhaba,

Bu yazıda, Docker Compose kullanarak OpenSearch ve OpenSearch Dashboards’ı adım adım ayağa kaldıracağız ve kısaca inceleyeceğiz.

Haydi, başlayalım!

Docker Compose Yapılandırma Dosyasının Oluşturulması

Docker’ın sisteminizde kurulu olmasına ihtiyacımız olacak. Kurulum için linki hemen buraya bırakıyorum. https://docs.docker.com/engine/install/

İlk olarak, OpenSearch ve OpenSearch Dashboards servislerini tanımlayan bir docker-compose.yml dosyası oluşturalım. Bu dosya, her iki servisin de nasıl başlatılacağını ve yapılandırılacağını belirler.

Aşağıya basit bir yapılandırma örneğini bırakıyorum:

version: '3'

services:
opensearch-node1:
image: opensearchproject/opensearch:latest
container_name: opensearch-node1
environment:
- cluster.name=opensearch-cluster
- node.name=opensearch-node1
- discovery.type=single-node
- bootstrap.memory_lock=true
- "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
- "DISABLE_INSTALL_DEMO_CONFIG=true"
- "DISABLE_SECURITY_PLUGIN=true"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
volumes:
- opensearch-data:/usr/share/opensearch/data
ports:
- 9200:9200
- 9600:9600
networks:
- opensearch-net

opensearch-dashboards:
image: opensearchproject/opensearch-dashboards:latest
container_name: opensearch-dashboards
ports:
- 5601:5601
expose:
- "5601"
environment:
- 'OPENSEARCH_HOSTS=["http://opensearch-node1:9200"]'
- "DISABLE_SECURITY_DASHBOARDS_PLUGIN=true"
networks:
- opensearch-net

volumes:
opensearch-data:

networks:
opensearch-net:

Her projenin kendi ihtiyaçlarına ve gereksinimlerine göre yapılandırılması gerekir. Bu dosya, servislerin, ağların, kaynakların ve diğer Docker bileşenlerinin yapılandırılmasını sağlar ve projenin gereksinimlerine uygun olarak özelleştirilir.

Bu yapılandırma, single node bir OpenSearch ve OpenSearch Dashboards için bir kullanıcı arayüzü oluşturur.

Servislerin Başlatılması

Yapılandırma dosyanız hazır olduğunda, aşağıdaki komutu kullanarak hizmetleri başlatın:

docker-compose up -d

Bu komut, OpenSearch ve OpenSearch Dashboards container’larını arka planda başlatır.

Docker ve OpenSearch Durum Kontrolü

OpenSearch ve OpenSearch Dashboards’ın sorunsuz çalışıp çalışmadığını kontrol etmek için Docker Compose komutlarını kullanabilirsiniz. Terminal veya powershell üzerinden aşağıdaki komutları kullanarak servislerin durumunu kontrol edebilirsiniz:

docker-compose ps

Bu komut, Docker Compose ile başlatılan tüm container’ların durumunu listeler. Her bir servis için “Up” durumunda olduğunu görmelisiniz.

NAME                    IMAGE                                            COMMAND                  SERVICE                 CREATED          STATUS          PORTS
opensearch-dashboards opensearchproject/opensearch-dashboards:latest "./opensearch-dashbo…" opensearch-dashboards 26 minutes ago Up 26 minutes 0.0.0.0:5601->5601/tcp
opensearch-node1 opensearchproject/opensearch:latest "./opensearch-docker…" opensearch-node1 26 minutes ago Up 26 minutes 0.0.0.0:9200->9200/tcp, 9300/tcp, 0.0.0.0:9600->9600/tcp, 9650/tcp

Eğer bir hata ile karşılaşırsanız veya bir servis beklenildiği gibi çalışmıyorsa, logları inceleyerek sorunun kaynağını belirleyebilirsiniz:

docker-compose logs

Bu komut, servislerinizin log çıktılarını görüntüler, böylece hata ayıklama yapabilirsiniz.

Bu adımlarla, Docker Compose kullanarak OpenSearch ve OpenSearch Dashboards’ı başarıyla kurmuş ve temel veri işlemlerini gerçekleştirmiş olursunuz.

Farklı bir yöntem ile;

OpenSearch ve OpenSearch Dashboards’a erişmek için tarayıcınızda localhost:9200 ve localhost:5601adresine gidin.

{
"name" : "opensearch-node1",
"cluster_name" : "opensearch-cluster",
"cluster_uuid" : "-LNwFV8BQWKIrJRnFEGV5g",
"version" : {
"distribution" : "opensearch",
"number" : "2.12.0",
"build_type" : "tar",
"build_hash" : "2c355ce1a427e4a528778d4054436b5c4b756221",
"build_date" : "2024-02-20T02:18:49.874618333Z",
"build_snapshot" : false,
"lucene_version" : "9.9.2",
"minimum_wire_compatibility_version" : "7.10.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "The OpenSearch Project: https://opensearch.org/"
}

9200 portunda yukarıdaki json dosyasını görebiliyorsanız OpenSearch tarafında herşeyin yolunda olduğu yorumunu yapabilirsiniz.

5601 portunda da OpenSearch Dashboard’un yukarıdaki görselde olduğu gibi ayağa kalkmasını bekliyoruz.

DevTools ile İlk Adımlar

OpenSearch Dashboards’a erişmek için tarayıcınızda localhost:5601 adresine gidin. Burada, DevTools'u kullanarak veri yapılarınızı yönetebilirsiniz.

İlk adım olarak, bir index oluşturacağız. Bu index, verilerinizi saklayacağınız yapıdır. DevTools'da aşağıdaki komutu kullanarak yeni bir index oluşturabilirsiniz:

PUT /sample-index
{
"settings": {
"index": {
"number_of_shards": 1,
"number_of_replicas": 0
}
}
}

Bu komut, sample-index adında yeni bir index oluşturur, tek bir shard ile ve replica olmadan. Tabi buradaki yapılandırma, test ve geliştirme amaçlıdır.

Ardından, OpenSearch Dashboards üzerinde, Management > Index Patterns bölümünden yeni oluşturduğunuz sample-index için bir index pattern oluşturacağız.

Bu, Dashboards üzerinden verilerinizi sorgulayabileceğiniz yapıdır.

Veri Ekleme ve Gözlemleme

Oluşturduğunuz index’e örnek veri eklemek için, DevTools’a dönelim ve aşağıdaki komutu kullanarak veri ekleyelim:

POST /sample-index/_doc
{
"username": "ornek_kullanici",
"activity": "giris_yapti",
"created": "2023-01-01T12:00:00"
}

Bu komut, sample-index index'ine yeni bir kayıt ekler.

Eklediğiniz verileri gözlemlemek için, OpenSearch Dashboards’ın Discover bölümüne gidin ve oluşturduğunuz index pattern’ı seçin. Burada, eklediğiniz verileri görebilir ve üzerinde çeşitli sorgular çalıştırabilirsiniz.

Bu yazımızda, Docker Compose kullanarak OpenSearch ve OpenSearch Dashboards’ı nasıl kolayca kurup yapılandıracağınızı adım adım gördük.

OpenSearch ve OpenSearch Dashboards ile çalışmaya başlarken bu yazı, temel adımları anlamanız ve uygulamanız için değerli bir kaynak olmasını umuyorum.

Sevgiler.

--

--