यदि आप डॉकर के साथ काम करते हैं तो आप यह ट्यूटोरियल प्राप्त कर सकते हैं
https://github.com/ziedtuihri/Monstache_Elasticsearch_Mongodb
Monstache Go में लिखा गया एक सिंक डेमॉन है जो आपके MongoDB संग्रह को Elasticsearch में लगातार अनुक्रमित करता है। Monstache आपको अपने MongoDB डेटा की जटिल खोज और एकत्रीकरण करने के लिए Elasticsearch का उपयोग करने की क्षमता देता है और Monstache के लिए रीयल-टाइम Kibana विज़ुअलाइज़ेशन और डैशबोर्ड.डॉक्यूमेंटेशन आसानी से बनाता है:
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
प्रतिकृतिसेट.श
#!/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) इस कमांड को टर्मिनल$ sysctl -w vm.max_map_count=262144
पर चलाएँयदि आप सर्वर पर काम करते हैं तो मुझे नहीं पता कि क्या आवश्यक है
2) एन टर्मिनलडॉकर-कंपोज़ बिल्ड चलाएं
3) टर्मिनल$ डॉकर-कंपोज़ अप -डी चलाएं
अपने कंटेनर को नीचे मत करो।
$ डोकर पीएस
मोंगो डीबी छवि के इपाड्रेस को कॉपी करें
$ docker id_of_mongo_image का निरीक्षण करता है
आईपीएड्रेस को कॉपी करें और उसे रेप्लिकासेट.श में सेट करें और रेप्लिकासेट.श चलाएं
$ ./replicaset.sh
टर्मिनल पर आपको देखना चाहिए => प्रतिकृति सेट बनाया गया
$ docker-compose down
4) एन टर्मिनल $ डॉकटर-कंपोज़ अप चलाएं
अंत में ......
MongoDB में प्रतिकृति
प्रतिकृति सेट mongod
का एक समूह है। उदाहरण जो समान डेटा सेट बनाए रखते हैं। एक प्रतिकृति सेट में कई डेटा असर नोड्स और वैकल्पिक रूप से एक आर्बिटर नोड होता है। डेटा असर नोड्स में से, एक और केवल एक सदस्य को प्राथमिक नोड माना जाता है, जबकि अन्य नोड्स को द्वितीयक नोड माना जाता है।
प्राथमिक नोड
सभी लेखन कार्यों को प्राप्त करता है। एक प्रतिकृति सेट में केवल एक प्राथमिक सक्षम हो सकता है जो { w:"बहुमत" }
चिंता लिखें; हालांकि कुछ परिस्थितियों में, एक और mongod उदाहरण क्षणिक रूप से खुद को प्राथमिक भी मान सकता है।
प्रतिकृति सेट कॉन्फ़िगरेशन देखें। rs.conf()