- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我使用 mongodb 分片并通过 docker 复制。 (3 个虚拟机托管 15 个容器)。我的 Mongodb 集群功能齐全。
现在我尝试在其上连接 Orion CB。通常我必须将它连接到 Mongo 路由器,但它不起作用。
这是我的 MongoDB 堆栈文件
version: "3.4"
services:
db1-1:
deploy:
placement:
constraints: [node.hostname == docker-vm1]
image: mongo:3.6.2
hostname: db1-1
environment:
- MONGODB_REPLICA_SET_MODE=primary
ports:
- "27011:27011"
volumes:
- /var/lib/docker/config/STC-mongo1/data/db1-1:/data/db
- /var/lib/docker/config/STC-mongo1/data/certificats:/etc/ssl/iot-certs
- /var/lib/docker/config/STC-mongo1/config:/etc/config
command: mongod --replSet iot-rs1 --shardsvr --dbpath /data/db --port 27011
networks:
STC-nw-mongo1:
aliases:
- db1-1
db1-2:
deploy:
placement:
constraints: [node.hostname == docker-vm2]
image: mongo:3.6.2
hostname: db1-2
environment:
- MONGODB_REPLICA_SET_MODE=secondary
ports:
- "27012:27012"
volumes:
- /var/lib/docker/config/STC-mongo1/data/db1-2:/data/db
- /var/lib/docker/config/STC-mongo1/data/certificats:/etc/ssl/iot-certs
- /var/lib/docker/config/STC-mongo1/config:/etc/config
command: mongod --replSet iot-rs1 --shardsvr --dbpath /data/db --port 27012
networks:
STC-nw-mongo1:
aliases:
- db1-2
db1-3:
deploy:
placement:
constraints: [node.hostname == docker-vm3]
image: mongo:3.6.2
hostname: db1-3
environment:
- MONGODB_REPLICA_SET_MODE=secondary
ports:
- "27013:27013"
volumes:
- /var/lib/docker/config/STC-mongo1/data/db1-3:/data/db
- /var/lib/docker/config/STC-mongo1/data/certificats:/etc/ssl/iot-certs
- /var/lib/docker/config/STC-mongo1/config:/etc/config
command: mongod --replSet iot-rs1 --shardsvr --dbpath /data/db --port 27013
networks:
STC-nw-mongo1:
aliases:
- db1-3
db2-1:
deploy:
placement:
constraints: [node.hostname == docker-vm1]
image: mongo:3.6.2
hostname: db2-1
environment:
- MONGODB_REPLICA_SET_MODE=primary
ports:
- "27021:27021"
volumes:
- /var/lib/docker/config/STC-mongo1/data/db2-1:/data/db
- /var/lib/docker/config/STC-mongo1/data/certificats:/etc/ssl/iot-certs
- /var/lib/docker/config/STC-mongo1/config:/etc/config
command: mongod --replSet iot-rs2 --shardsvr --dbpath /data/db --port 27021
networks:
STC-nw-mongo1:
aliases:
- db2-1
db2-2:
deploy:
placement:
constraints: [node.hostname == docker-vm2]
image: mongo:3.6.2
hostname: db2-2
environment:
- MONGODB_REPLICA_SET_MODE=secondary
ports:
- "27022:27022"
volumes:
- /var/lib/docker/config/STC-mongo1/data/db2-2:/data/db
- /var/lib/docker/config/STC-mongo1/data/certificats:/etc/ssl/iot-certs
- /var/lib/docker/config/STC-mongo1/config:/etc/config
command: mongod --replSet iot-rs2 --shardsvr --dbpath /data/db --port 27022
networks:
STC-nw-mongo1:
aliases:
- db2-2
db2-3:
deploy:
placement:
constraints: [node.hostname == docker-vm3]
image: mongo:3.6.2
hostname: db2-3
environment:
- MONGODB_REPLICA_SET_MODE=secondary
ports:
- "27023:27023"
volumes:
- /var/lib/docker/config/STC-mongo1/data/db2-3:/data/db
- /var/lib/docker/config/STC-mongo1/data/certificats:/etc/ssl/iot-certs
- /var/lib/docker/config/STC-mongo1/config:/etc/config
command: mongod --replSet iot-rs2 --shardsvr --dbpath /data/db --port 27023
networks:
STC-nw-mongo1:
aliases:
- db2-3
db3-1:
deploy:
placement:
constraints: [node.hostname == docker-vm1]
image: mongo:3.6.2
hostname: db3-1
environment:
- MONGODB_REPLICA_SET_MODE=secondary
ports:
- "27031:27031"
volumes:
- /var/lib/docker/config/STC-mongo1/data/db3-1:/data/db
- /var/lib/docker/config/STC-mongo1/data/certificats:/etc/ssl/iot-certs
- /var/lib/docker/config/STC-mongo1/config:/etc/config
command: mongod --replSet iot-rs3 --shardsvr --dbpath /data/db --port 27031
networks:
STC-nw-mongo1:
aliases:
- db3-1
db3-2:
deploy:
placement:
constraints: [node.hostname == docker-vm2]
image: mongo:3.6.2
hostname: db3-2
environment:
- MONGODB_REPLICA_SET_MODE=secondary
ports:
- "27032:27032"
volumes:
- /var/lib/docker/config/STC-mongo1/data/db3-2:/data/db
- /var/lib/docker/config/STC-mongo1/data/certificats:/etc/ssl/iot-certs
- /var/lib/docker/config/STC-mongo1/config:/etc/config
command: mongod --replSet iot-rs3 --shardsvr --dbpath /data/db --port 27032
networks:
STC-nw-mongo1:
aliases:
- db3-2
db3-3:
deploy:
placement:
constraints: [node.hostname == docker-vm3]
image: mongo:3.6.2
hostname: db3-3
environment:
- MONGODB_REPLICA_SET_MODE=secondary
ports:
- "27033:27033"
volumes:
- /var/lib/docker/config/STC-mongo1/data/db3-3:/data/db
- /var/lib/docker/config/STC-mongo1/data/certificats:/etc/ssl/iot-certs
- /var/lib/docker/config/STC-mongo1/config:/etc/config
command: mongod --replSet iot-rs3 --shardsvr --dbpath /data/db --port 27033
networks:
STC-nw-mongo1:
aliases:
- db3-3
dbconfig1:
deploy:
placement:
constraints: [node.hostname == docker-vm1]
image: mongo:3.6.2
hostname: dbconfig1
environment:
- MONGODB_REPLICA_SET_MODE=primary
ports:
- "37001:37001"
volumes:
- /var/lib/docker/config/STC-mongo1/data/dbconfig1:/data/configdb
- /var/lib/docker/config/STC-mongo1/data/certificats:/etc/ssl/iot-certs
- /var/lib/docker/config/STC-mongo1/config:/etc/config
command: mongod --replSet conf-serv --configsvr --port 37001
networks:
STC-nw-mongo1:
aliases:
- dbconfig1
dbconfig2:
deploy:
placement:
constraints: [node.hostname == docker-vm2]
image: mongo:3.6.2
hostname: dbcoonfig2
environment:
- MONGODB_REPLICA_SET_MODE=secondary
ports:
- "37002:37002"
volumes:
- /var/lib/docker/config/STC-mongo1/data/dbconfig2:/data/configdb
- /var/lib/docker/config/STC-mongo1/data/certificats:/etc/ssl/iot-certs
- /var/lib/docker/config/STC-mongo1/config:/etc/config
command: mongod --replSet conf-serv --configsvr --port 37002
networks:
STC-nw-mongo1:
aliases:
- dbconfig2
dbconfig3:
deploy:
placement:
constraints: [node.hostname == docker-vm3]
image: mongo:3.6.2
hostname: dbconfig3
environment:
- MONGODB_REPLICA_SET_MODE=secondary
ports:
- "37003:37003"
volumes:
- /var/lib/docker/config/STC-mongo1/data/dbconfig3:/data/configdb
- /var/lib/docker/config/STC-mongo1/config:/etc/config
command: mongod --replSet conf-serv --configsvr --port 37003
networks:
STC-nw-mongo1:
aliases:
- dbconfig3
dbrouter1:
deploy:
placement:
constraints: [node.hostname == docker-vm1]
image: mongo:3.6.2
hostname: dbrouter1
ports:
- "27997:27997"
volumes:
- /var/lib/docker/config/STC-mongo1/data/dbrouter1:/data/db
- /var/lib/docker/config/STC-mongo1/data/certificats:/etc/ssl/iot-certs
- /var/lib/docker/config/STC-mongo1/config:/etc/config
command: mongos --configdb conf-serv/dbconfig1:37001,dbconfig2:37002,dbconfig3:37003 --port 27997 --bind_ip_all
networks:
STC-nw-mongo1:
aliases:
- dbrouter1
dbrouter2:
deploy:
placement:
constraints: [node.hostname == docker-vm2]
image: mongo:3.6.2
hostname: dbrouter2
ports:
- "27998:27998"
volumes:
- /var/lib/docker/config/STC-mongo1/data/dbrouter2:/data/db
- /var/lib/docker/config/STC-mongo1/data/certificats:/etc/ssl/iot-certs
- /var/lib/docker/config/STC-mongo1/config:/etc/config
command: mongos --configdb conf-serv/dbconfig1:37001,dbconfig2:37002,dbconfig3:37003 --port 27998 --bind_ip_all
networks:
STC-nw-mongo1:
aliases:
- dbrouter2
dbrouter3:
deploy:
placement:
constraints: [node.hostname == docker-vm3]
image: mongo:3.6.2
hostname: dbrouter3
ports:
- "27999:27999"
volumes:
- /var/lib/docker/config/STC-mongo1/data/dbrouter3:/data/db
- /var/lib/docker/config/STC-mongo1/data/certificats:/etc/ssl/iot-certs
- /var/lib/docker/config/STC-mongo1/config:/etc/config
command: mongos --configdb conf-serv/dbconfig1:37001,dbconfig2:37002,dbconfig3:37003 --port 27999 --bind_ip_all
networks:
STC-nw-mongo1:
aliases:
- dbrouter3
networks:
STC-nw-mongo1:
这是我的 orion 的 docker-compose
version: '3.4'
services:
orion1:
deploy:
placement:
constraints: [node.hostname == docker-vm1]
image: fiware/orion:latest
hostname: orion1
ports:
- "1026:1026"
volumes:
- /var/lib/docker/config/STC-orion/config:/etc/sysconfig
command: -dbhost "dbrouter1:27997,dbrouter2:27998,dbrouter3:27999" -rplSet "iot-rs1,iot-rs2,iot-rs3" -corsOrigin __ALL
networks:
STC-nw-orion:
aliases:
- orion1
networks:
STC-nw-orion:
external:
name: STC-mongo1_STC-nw-mongo1
我的 orion 容器正在运行,但是当我查看日志时,我只有这些信息:
docker logs -f STC-orion_orion1.1.iiv0xf6qe4pco4fk679b1s3i9 time=Wednesday 28 Feb 14:07:47 2018.732Z | lvl=ERROR | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=mongoConnectionPool.cpp[195]:mongoConnect | msg=Database Startup Error (cannot connect to mongo - doing 100 retries with a 1000 microsecond interval)
谢谢你的帮助
最佳答案
我不是分片方面的专家,也从未用 Orion 测试过它,但从技术上讲,@fgalan 是对的。
当您使用 mongo 分片时,访问通过充当路由器的 mongos 进行,即它们知道通过配置服务器将写入和读取路由到正确的分片集群,这也意味着它们处理与分片副本的连接为访问路由器的客户端设置。所以你不需要指定任何副本集,你只需要列出你想要连接的路由器(这可能是由驱动程序使用循环方法选择的,但我不确定,你应该检查 C++ legacy driver执行以验证)。
顺便说一句,路由器是一个 headless 服务,所以(假设你正在使用堆栈部署)我会有一个单一的服务,你可以向上和向下扩展,这样你就不需要在前面放置一个负载均衡器(是诚实测试)
要获得更可配置/可扩展的 docker 服务,您可以调整我们在这里所做的工作:
当然,如果您愿意,可以随时提出拉取请求。
关于mongodb - 在特定的 mongodb 设置中部署 fiware-orion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49047299/
我正在尝试向消费者发送一个事件,以便修改上下文代理实体的一个属性。 问题是,我在 Fiware-Service 和 Fiware-ServicePath 下得到了将要接收派生事件的实体。 我不知道该将
我必须考虑使用 FIWARE orion context-broker 和多个 IoT agents/context-provider 的架构。在文档中有一个部分描述了如何保护从 IoT 代理/上下文
我们在 cosmos.lab.fi-ware.org 上有一个 COSMOS 帐户,可以将文件本地加载到集群上。 但是,按照我们在 the guide site 上遵循的说明,我们在远程加载时遇到了问
我正在使用 Fiware-Orion ContextBroker 0.28,这是 ubuntu 15.10 64 位上的本地主机中的 Docker 化版本。 $ curl localhost:1026
我有一个带有 Cygnus 的 Orion 实例,订阅和通知工作正常,但我无法从我的实例向 cosmos.lab.fi-ware.org 发送文件。 [错误 - es.tid.fiware.orion
我最近看到 FIWARE 实验室对 Cosmos 的 WebHDFS 的访问受到了 OAuth2 的保护。我知道我必须向请求添加 OAuth2 token 才能继续使用 WebHDFS,但是: 我怎样
尝试连接到我的 Orion CB,它具有通过 IoTAgentCPP/IDAS 创建的实体。两者都是最新的 Docker 版本(okt 30 2015)。使用 FIGWAY Python 脚本一切正常
通过使用基于 centos6 的 dockerfile 定义和提供的最新 rpm 编译,Context Broker Orion 在我的 Cloud + CoreOS + Docker 架构中崩溃。
我花了一天的大部分时间来尝试配置 Fiware PEP 代理 Wilma 以保护我在开发服务器上运行的 Orion Context Broker。此处的文档:http://forge.fiware.o
当你想从Fiware Orion中删除一个实体时,你需要提供它的ServicePath,那么如果你不知道它的服务路径,你如何删除一个项目? Other question more or less re
我有两个有关 Orion 订阅的问题。 如果我们在 Orion 中使用提供程序应用程序 url 注册实体并为其创建订阅(例如每 15 分钟发送一次更新),如果 Orion 的本地数据库中没有数据,会发
假设有 100 个传感器随时向 Orion 发送属性。我该如何管理如此海量的数据? 通过批量操作(但不知道是否支持) 使用边缘(聚合数据)并发送到 Orion(1 分钟后) 谢谢 最佳答案 让我们考虑
假设有 100 个传感器随时向 Orion 发送属性。我该如何管理如此海量的数据? 通过批量操作(但不知道是否支持) 使用边缘(聚合数据)并发送到 Orion(1 分钟后) 谢谢 最佳答案 让我们考虑
我正在使用 0.27.0 版的上下文代理。我正在使用 Cygnus 通用启用程序,并且我已经建立了一个 MQTT 代理,用于将外部设备连接到上下文代理。 我现在最关心的是如何防止数据丢失。我将上下文代
我想配置 Orion 和 Cygnus 以将所有数据存储在一个表中。 我知道我应该像这样基于 HTTP header 配置数据和表的名称: dbName= tableName=__ 有人告诉我in t
过去几天我一直在用 Orion 进行试验,一段时间后,我让它按照我想要的方式工作。 但是,我遇到了一个意想不到的烦恼,即给定实体上下文的字符串属性将无法注册。 例子: http POST [my_or
我让 Orion 无缝工作,保存实体并检索它们。 但我想知道为实体插入(和/或检索)一系列值的推荐方法,而不是更新其值,而是 添加 实体的新值,因此稍后我可以检索为特定实体 ID 存储的所有值并在图中
成功安装 Cygnus 连接器并测试订阅的创建后。 使用波纹管文件: agent_1.conf cygnus-ngsi.sources = http-source cygnus-ngsi.sinks
我已经绑定(bind)到在 OCB 中插入一个密码属性编码的实体: { "id": "prueba-tipo-string2", "type": "StringPars
我正在使用wirecloud 平台,我想了解以下信息: 1.- 是否可以动态调整小部件的宽度和高度? 2.- 是否可以动态地用小部件和操作填充仪表板? 这两个问题的目的都是为了有一个菜单(小部件),用
我是一名优秀的程序员,十分优秀!