jika Anda bekerja dengan buruh pelabuhan, Anda bisa mendapatkan tutorial ini
https://github.com/ziedtuihri/Monstache_Elasticsearch_Mongodb
Monstache adalah daemon sinkronisasi yang ditulis dalam Go yang terus mengindeks koleksi MongoDB Anda ke dalam Elasticsearch. Monstache memberi Anda kemampuan untuk menggunakan Elasticsearch untuk melakukan pencarian kompleks dan agregasi data MongoDB Anda dan dengan mudah membangun visualisasi dan dasbor Kibana waktu nyata. dokumentasi untuk Monstache :
https://rwynn.github.io/monstache-site/
github :
https://github.com/rwynn/monstache
docker-compose.yml
version: '2.3'
networks:
test:
driver: bridge
services:
db:
image: mongo:3.0.2
expose:
- "27017"
container_name: mongodb
volumes:
- ./mongodb:/data/db
- ./mongodb_config:/data/configdb
ports:
- "27018:27017"
command: mongod --smallfiles --replSet rs0
networks:
- test
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.8.7
container_name: elasticsearch
volumes:
- ./elastic:/usr/share/elasticsearch/data
- ./elastic/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
ports:
- 9200:9200
command: elasticsearch -Enetwork.host=_local_,_site_ -Enetwork.publish_host=_local_
healthcheck:
test: "wget -q -O - http://localhost:9200/_cat/health"
interval: 1s
timeout: 30s
retries: 300
ulimits:
nproc: 65536
nofile:
soft: 65536
hard: 65536
memlock:
soft: -1
hard: -1
networks:
- test
monstache:
image: rwynn/monstache:rel4
expose:
- "8080"
ports:
- "8080:8080"
container_name: monstache
command: -mongo-url=mongodb://db:27017 -elasticsearch-url=http://elasticsearch:9200 -direct-read-namespace=Product_DB.Product -direct-read-split-max=2
links:
- elasticsearch
- db
depends_on:
db:
condition: service_started
elasticsearch:
condition: service_healthy
networks:
- test
replicaset.sh
#!/bin/bash
# this configuration is so important
echo "Starting replica set initialize"
until mongo --host 192.168.144.2 --eval "print(\"waited for connection\")"
do
sleep 2
done
echo "Connection finished"
echo "Creating replica set"
mongo --host 192.168.144.2 <<EOF
rs.initiate(
{
_id : 'rs0',
members: [
{ _id : 0, host : "db:27017", priority : 1 }
]
}
)
EOF
echo "replica set created"
1) jalankan perintah ini di terminal$ sysctl -w vm.max_map_count=262144
jika Anda bekerja di server saya tidak tahu apakah perlu
2)jalankan en terminaldocker-compose build
3) jalankan en terminal$ docker-compose up -d
jangan turunkan wadahmu.
$ buruh pelabuhan ps
salin alamat Ipad dari gambar mongo db
$ buruh pelabuhan memeriksa id_of_mongo_image
salin IPAddress dan atur di replicaset.sh dan jalankan replicaset.sh
$ ./replicaset.sh
di terminal Anda akan melihat => set replika dibuat
$ docker-compose down
4)jalankan en terminal$ docker-compose up
akhirnya .......
Replikasi di MongoDB
Kumpulan replika adalah grup mongod
instance yang mempertahankan kumpulan data yang sama. Sebuah set replika berisi beberapa node bantalan data dan opsional satu node arbiter. Dari node bantalan data, satu dan hanya satu anggota yang dianggap sebagai node utama, sedangkan node lainnya dianggap sebagai node sekunder.
The simpul utama
menerima semua operasi tulis. Kumpulan replika hanya dapat memiliki satu primer yang mampu mengonfirmasi penulisan dengan { w:"mayoritas" }
menulis keprihatinan; meskipun dalam beberapa keadaan, instance mongod lain mungkin secara sementara percaya bahwa dirinya juga menjadi yang utama.
Lihat konfigurasi set replika.Gunakan rs.conf()