Mongo-Connector не может подключиться к реплике MongoDB, установленной для Elasticsearch - PullRequest
0 голосов
/ 25 мая 2018

Вчера я создал набор реплик, используя Docker-compose, на основе приведенных здесь инструкций:

https://www.youtube.com/watch?v=mlw7vWISaF4

Все контейнеры созданы, и мне удалось заполнить данные какну, так что с помощью Robo3T я могу просматривать свои коллекции.Я сделал это, так как мне нужен монго-соединитель для подключения MongoDB к Elasticsearch.

Это файл docker-compose.yml:

version: '3'
services:
  mongo-rs0-1:
    image: "mongo-start"
    build: ./mongo-rs0-1
    ports:
      - "27017:27017"
    volumes:
      - ./mongo-rs0-1/data:/data/db
    depends_on:
      - "mongo-rs0-2"
      - "mongo-rs0-3"

  mongo-rs0-2:
    image: "mongo:3.6.4"
    command: --replSet rs0 --smallfiles --oplogSize 128
    ports:
      - "27018:27017"
    volumes:
      - ./mongo-rs0-2/data:/data/db

  mongo-rs0-3:
    image: "mongo:3.6.4"
    command: --replSet rs0 --smallfiles --oplogSize 128
    ports:
      - "27019:27017"
    volumes:
      - ./mongo-rs0-3/data:/data/db

  setup-rs:
    image: "setup-rs"
    build: ./setup
    depends_on:
      - "mongo-rs0-1"

  mongo-db-seeder:
    build:
      context: ./mongo-db-seed
      dockerfile: ./Dockerfile.dev
    volumes:
      - ./mongo-db-seed/seeddata:/opt/seeddata
    depends_on:
      - "web-app"
    command: "./import_mongo.sh"

  adminmongo:
    image: "mrvautin/adminmongo"
    ports:
      - "1234:1234"

  #Test Application
  web-app:
    image: docker-node-express-mongoreplicaset-app
    build: ./web-site
    ports:
      - "3000:3000"
    volumes:
      - ./web-site:/usr/src/app
      - /usr/src/app/node_modules
    depends_on:
      - "setup-rs"

Это replica.js, который настраиваетнабор реплик;

rsconf = {
  _id : "rs0",
  members: [
    { _id : 0, host : "mongo-rs0-1:27017" },
    { _id : 1, host : "mongo-rs0-2:27017" },
    { _id : 2, host : "mongo-rs0-3:27017" }
  ]
}

rs.initiate(rsconf);

rs.conf();

Я установил Elasticsearch, и он работает на порту 9200 в ожидании построения индекса.

Это мой файл хоста (etc / hosts), на котором я работаюos x.

##  
# Host Database  
#  
# localhost is used to configure the loopback interface  
# when the system is booting.  Do not change this entry.  
##  
127.0.0.1   localhost  
255.255.255.255 broadcasthost  
::1             localhost

Однако, когда я запускаю эту команду (все контейнеры и Elasticsearch работают)

mongo-connector -m localhost: 27017 -t localhost: 9200-dastic2_doc_manager

Я получаю эту ошибку:

ServerSelectionTimeoutError: mongo-rs0-3: 27017: [Errno 8] имя узла или имя сервера указано или не известно, mongo-rs0-1: 27017: [Errno 8] не указано ни имя узла, ни имя сервера, ни неизвестно, mongo-rs0-2: 27017: [Errno 8] не указано ни имя узла, ни имя сервера

IУ меня был хороший поиск этим утром, и я не могу найти ничего, что указывает на проблему.Набор реплик работает нормально, Elasticsearch запущен, но чего-то не хватает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...