[ https://jira.fiware.org/browse/HELP-17728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Fernando Lopez reassigned HELP-17728: ------------------------------------- Assignee: Clara Pezuela > [fiware-stackoverflow] Connect Fiware IoT Agent to sharded MongoDB > ------------------------------------------------------------------ > > Key: HELP-17728 > URL: https://jira.fiware.org/browse/HELP-17728 > Project: Help-Desk > Issue Type: Monitor > Components: FIWARE-TECH-HELP > Reporter: Backlog Manager > Assignee: Clara Pezuela > Labels: docker, fiware, fiware-orion, mongodb, sharding > > Created question in FIWARE Q/A platform on 14-05-2021 at 07:05 > {color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/67530914/connect-fiware-iot-agent-to-sharded-mongodb > +Question:+ > Connect Fiware IoT Agent to sharded MongoDB > +Description:+ > I am using to following docker-compose file to setup my sharded MongoDB which has 3 shards, 3 config servers and 2 router instances: > version: "3.5" > services: > mongorsn1: > container_name: mongors1n1 > hostname: mongors1n1 > image: mongo > command: mongod --shardsvr --replSet mongors1 --dbpath /data/db --port 27017 > ports: > - 27017:27017 > expose: > - "27017" > environment: > TERM: xterm > volumes: > - /etc/localtime:/etc/localtime:ro > - /mongo_cluster/data1:/data/db > mongors1n2: > container_name: mongors1n2 > hostname: mongors1n2 > image: mongo > command: mongod --shardsvr --replSet mongors1 --dbpath /data/db --port 27017 > ports: > - 27027:27017 > expose: > - "27017" > environment: > TERM: xterm > volumes: > - /etc/localtime:/etc/localtime:ro > - /mongo_cluster/data2:/data/db > mongors1n3: > container_name: mongors1n3 > hostname: mongors1n3 > image: mongo > command: mongod --shardsvr --replSet mongors1 --dbpath /data/db --port 27017 > ports: > - 27037:27017 > expose: > - "27017" > environment: > TERM: xterm > volumes: > - /etc/localtime:/etc/localtime:ro > - /mongo_cluster/data3:/data/db > > mongocfg1: > container_name: mongocfg1 > image: mongo > command: mongod --configsvr --replSet mongors1conf --dbpath /data/db --port 27017 > environment: > TERM: xterm > expose: > - "27017" > volumes: > - /etc/localtime:/etc/localtime:ro > - /mongo_cluster/config1:/data/db > > mongocfg2: > container_name: mongocfg2 > image: mongo > command: mongod --configsvr --replSet mongors1conf --dbpath /data/db --port 27017 > environment: > TERM: xterm > expose: > - "27017" > volumes: > - /etc/localtime:/etc/localtime:ro > - /mongo_cluster/config2:/data/db > > mongocfg3: > container_name: mongocfg3 > image: mongo > command: mongod --configsvr --replSet mongors1conf --dbpath /data/db --port 27017 > environment: > TERM: xterm > expose: > - "27017" > volumes: > - /etc/localtime:/etc/localtime:ro > - /mongo_cluster/config3:/data/db > mongos1: > container_name: mongos1 > image: mongo > hostname: mongos1 > depends_on: > - mongocfg1 > - mongocfg2 > command: mongos --configdb mongors1conf/mongocfg1:27017,mongocfg2:27017,mongocfg3:27017 --port 27017 > ports: > - 27019:27017 > expose: > - "27017" > volumes: > - /etc/localtime:/etc/localtime:ro > mongos2: > container_name: mongos2 > image: mongo > hostname: mongos2 > depends_on: > - mongocfg1 > - mongocfg2 > command: mongos --configdb mongors1conf/mongocfg1:27017,mongocfg2:27017,mongocfg3:27017 --port 27017 > ports: > - 27020:27017 > expose: > - "27017" > volumes: > - /etc/localtime:/etc/localtime:ro > As you can see it is up and running correctly. > docker exec -it mongos1 bash -c "echo 'sh.status()' | mongo " > MongoDB shell version v4.4.6 > connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb > Implicit session: session { "id" : UUID("f00e3ac7-e114-40b3-b7f8-0e5cf9c56e10") } > MongoDB server version: 4.4.6 > --- Sharding Status --- > sharding version: { > "_id" : 1, > "minCompatibleVersion" : 5, > "currentVersion" : 6, > "clusterId" : ObjectId("609e21145937100b3f006e20") > } > shards: > { "_id" : "mongors1", "host" : "mongors1/mongors1n1:27017,mongors1n2:27017,mongors1n3:27017", "state" : 1 } > active mongoses: > "4.4.6" : 2 > autosplit: > Currently enabled: yes > balancer: > Currently enabled: yes > Currently running: no > Failed balancer rounds in last 5 attempts: 0 > Migration Results for the last 24 hours: > No recent migrations > databases: > { "_id" : "config", "primary" : "config", "partitioned" : true } > bye > Now here is the docker-compose file I use to connect Orion and the IoT Agent to my MongoDB shards. > version: "3.5" > services: > orion: > image: atos/smbt/orion:2.5.2 > hostname: orion > container_name: orion > restart: unless-stopped > ports: > - "1026:1026" > entrypoint: > - /usr/bin/contextBroker > - -fg > - -multiservice > - -ngsiv1Autocast > - -corsOrigin > - __ALL > command: -dbhost mongors1n1:27017,mongors1n2:27027,mongors1n3:27037 -rplSet mongors1 -logLevel ERROR -noCache > healthcheck: > test: curl --fail -s http://orion:1026/version || exit 1 > networks: > - fiware_mongo_sharding_default > > iot-agent: > image: atos/smbt/iotagent-ul:1.15.0 > hostname: iot-agent > container_name: iot-agent > restart: unless-stopped > expose: > - "4041" > - "7896" > ports: > - "4041:4041" > - "7896:7896" > environment: > - IOTA_CB_HOST=orion > - IOTA_CB_PORT=1026 > - IOTA_NORTH_PORT=4041 > - IOTA_REGISTRY_TYPE=mongodb > - IOTA_LOG_LEVEL=ERROR > - IOTA_TIMESTAMP=true > - IOTA_CB_NGSI_VERSION=v2 > - IOTA_AUTOCAST=true > - IOTA_MONGO_HOST=mongors1n1 > - IOTA_MONGO_PORT=27017 > - IOTA_MONGO_DB=iotagentul > - IOTA_HTTP_PORT=7896 > - IOTA_PROVIDER_URL=http://iot-agent:4041 > networks: > - fiware_mongo_sharding_default > > networks: > fiware_mongo_sharding_default: > external: true > Orion is connected to MongoDB but with the IoT Agent I get the following error message. > time=2021-05-14T07:51:51.086Z | lvl=ERROR | corr=28202651-30e1-48dc-88a9-53de603e7e6d | trans=28202651-30e1-48dc-88a9-53de603e7e6d | op=IoTAgentNGSI.DbConn | from=n/a | srv=n/a | subsrv=n/a | msg=MONGODB-001: Error trying to connect to MongoDB: MongoNetworkError: failed to connect to server [mongos1:27019] on first connect [MongoNetworkError: connect ECONNREFUSED 172.20.0.9:27019] | comp=IoTAgent > I have tried different things such as: > - IOTA_MONGO_HOST=mongos1 > - IOTA_MONGO_PORT=27019 > but to no avail unfortunately. Is there something I am doing wrong? > Thanks in advance for your help. -- This message was sent by Atlassian JIRA (v6.4.1#64016)
You can get more information about our cookies and privacy policies clicking on the following links: Privacy policy Cookies policy