Rumah > Operasi dan penyelenggaraan > Docker > Bolehkah es digunakan dengan docker?

Bolehkah es digunakan dengan docker?

WBOY
Lepaskan: 2022-08-15 17:09:11
asal
2529 orang telah melayarinya

es boleh digunakan dengan docker; mengerahkan kluster es boleh dilakukan secara langsung menggunakan "docker-compose" ialah alat docker yang digunakan untuk mentakrif dan menjalankan aplikasi yang kompleks, aplikasi menggunakan bekas docker , biasanya terdiri daripada berbilang bekas, menggunakan "docker-compose" menghapuskan keperluan untuk menggunakan skrip shell untuk memulakan bekas.

Bolehkah es digunakan dengan docker?

Persekitaran pengendalian tutorial ini: sistem linux7.3, docker versi 19.03, komputer Dell G3.

Bolehkah es digunakan dengan docker?

Deployment of es cluster boleh dilakukan secara terus menggunakan docker-compose

Docker Compose ialah alat Docker yang digunakan untuk mentakrif dan menjalankan aplikasi yang kompleks . Aplikasi yang menggunakan bekas Docker biasanya terdiri daripada berbilang bekas. Menggunakan Docker Compose tidak lagi memerlukan skrip shell untuk memulakan bekas.

Karang menguruskan berbilang bekas Docker melalui fail konfigurasi Dalam fail konfigurasi, semua bekas ditakrifkan melalui perkhidmatan, dan kemudian skrip karang docker digunakan untuk memulakan, menghentikan dan memulakan semula aplikasi dan perkhidmatan dalam. serta semua kontena yang bergantung pada perkhidmatan, ia sangat sesuai untuk senario di mana berbilang kontena digabungkan untuk pembangunan.

Meluaskan pengetahuan

Pengenalan kepada kluster ES

Mengapa kluster diperlukan

Pencarian elastik mesin tunggal Apabila melakukan penyimpanan data, anda pasti akan menghadapi dua masalah: masalah penyimpanan data besar-besaran dan masalah kegagalan titik tunggal.

Masalah storan data yang besar: Pisah pustaka indeks secara logik kepada serpihan N dan simpannya pada berbilang nod

Masalah kegagalan satu titik: Pisahkan data yang terpecah di lokasi yang berbeza Sandaran nod (replika)

Konsep berkaitan kluster ES

  • Kluster: sekumpulan nod dengan nama kluster biasa.

  • Nod: tika Elasticearch dalam kelompok

  • Shard: indeks boleh dibahagikan kepada bahagian yang berbeza Storan dipanggil sharding. Dalam persekitaran kluster, serpihan indeks yang berbeza boleh dibahagikan kepada nod yang berbeza

Selesaikan masalah: jumlah data terlalu besar dan kapasiti storan satu titik adalah terhad.

Bolehkah es digunakan dengan docker?

Di sini, kami membahagikan data kepada 3 serpihan: shard0, shard1, shard2

  • Serpihan utama: Definisi relatif kepada serpihan replika .

  • Replika serpihan Setiap serpihan primer boleh mempunyai satu atau lebih replika dan data adalah sama dengan serpihan primer.

Sandaran data boleh memastikan ketersediaan tinggi, tetapi satu salinan setiap serpihan akan menggandakan bilangan nod yang diperlukan dan kosnya terlalu tinggi!

Untuk mencari keseimbangan antara ketersediaan tinggi dan kos, kami boleh melakukan ini:

  • Pertama-tama pecahkan data dan simpan dalam nod yang berbeza

  • Kemudian sandarkan setiap serpihan dan letakkannya pada nod yang satu lagi untuk melengkapkan sandaran bersama

Ini boleh mengurangkan bilangan nod perkhidmatan yang diperlukan, seperti yang ditunjukkan dalam angka, kami menggunakan 3 serpihan, sebagai contoh, sandarkan satu salinan setiap serpihan:

Bolehkah es digunakan dengan docker?

Bina gugusan ES

Menggunakan kluster es boleh dilakukan terus menggunakan docker-compose, tetapi mesin maya Linux anda dikehendaki mempunyai sekurang-kurangnya 4G ruang memori

Mula-mula tulis fail docker-compose dengan kandungan berikut:

version: '2.2'
services:
  es01:
    image: elasticsearch:7.12.1
    container_name: es01
    environment:
      - node.name=es01
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es02,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - data01:/usr/share/elasticsearch/data
    ports:
      - 9200:9200
    networks:
      - elastic
  es02:
    image: elasticsearch:7.12.1
    container_name: es02
    environment:
      - node.name=es02
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es03
      - cluster.initial_master_nodes=es01,es02,es03
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - data02:/usr/share/elasticsearch/data
    ports:
      - 9201:9200
    networks:
      - elastic
  es03:
    image: elasticsearch:7.12.1
    container_name: es03
    environment:
      - node.name=es03
      - cluster.name=es-docker-cluster
      - discovery.seed_hosts=es01,es02
      - cluster.initial_master_nodes=es01,es02,es03
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    volumes:
      - data03:/usr/share/elasticsearch/data
    networks:
      - elastic
    ports:
      - 9202:9200
volumes:
  data01:
    driver: local
  data02:
    driver: local
  data03:
    driver: local
networks:
  elastic:
    driver: bridge
Salin selepas log masuk

Pengenalan kandungan fail:

versi: versi complse

es01: nod

imej: cermin

nama_bekas: nama kontena

persekitaran: pembolehubah persekitaran

node.name: nama nod

cluster.name: nama cluster, es secara automatik mencipta gugusan

discovery.seed_hosts: dua lagi Alamat boleh disambungkan menggunakan nama kontena

cluster.initial_master_nodes: nod induk yang dimulakan, yang boleh mengambil bahagian dalam pilihan raya

"ES_JAVA_OPTS=-Xms512m -Xmx512m -Xmx512m ": memori JVM minimum dan maksimum

volum: alamat volum data

port: pemetaan port

Pembelajaran yang disyorkan: "tutorial video docker"

Atas ialah kandungan terperinci Bolehkah es digunakan dengan docker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan