我有猎户座,MongoDB和天鹅座-ngsi安装在一台Ubuntu18.04机器上。我使用的图片是:fiware/orion:最新的,fiware/cygnus-ngsi:最新的,mongo:3.6。
它们是用以下命令安装的:docker-compose -f reflexwaterDocker.yaml up
我没有安装问题。所有集装箱都装好了。猎户座保存到MongoDB。天鹅座API起作用了。
我创建了一个猎户座实体的订阅,一切都好。但是当我更新实体时,猎户座在蒙戈上执行,但是天鹅座并没有保存历史数据。
正确配置了agent.conf文件在opt/apache-flume/conf中。我使用的默认设置的对接-合成安装。
所有端口都是正确的,并且已经过测试。
我已经使用天鹅座与猎户座和MongoDB手动安装,我没有问题。同时,我还设置了一个agent_conf和一个cygnus_instance.conf。使用对接器,按照文档中的一步一步进行配置cygnus_instance.conf是不必要的。它甚至不存在于opt/apache-flume/conf文件夹中。
有人知道Cygnus会发生什么事而不保存数据吗?或者你经历过这件事并设法解决了?
我的船坞编剧看上去像天鹅座:
image: fiware/cygnus-ngsi:latest
hostname: cygnus
container_name: cygnus
networks:
- default
depends_on:
- mongo
expose:
- "5050"
- "5080"
ports:
- "5050:5050"
- "5080:5080"
environment:
- CYGNUS_SERVICE_PORT=5050
- CYGNUS_AGENT_NAME=cygnus-ngsi
- CYGNUS_MONGO_SERVICE_PORT=5050
- CYGNUS_DEFAULT_SERVICE=def_serv
- CYGNUS_DEFAULT_SERVICE_PATH=reflexWater
- CYGNUS_MONGO_HOSTS=localhost:27017
- CYGNUS_MONGO_USER=""
- CYGNUS_MONGO_PASS=""
- CYGNUS_MONGO_ENABLE_ENCODING=false
- CYGNUS_MONGO_ENABLE_GROUPING=false
- CYGNUS_MONGO_ENABLE_NAME_MAPPINGS=false
- CYGNUS_MONGO_DATA_MODEL=dm-by-entity
- CYGNUS_MONGO_ATTR_PERSISTENCE=column
- CYGNUS_MONGO_DB_PREFIX=db_
- CYGNUS_MONGO_COLLECTION_PREFIX=col_
- CYGNUS_MONGO_ENABLE_LOWERCASE=false
- CYGNUS_MONGO_BATCH_TIMEOUT=30
- CYGNUS_MONGO_BATCH_TTL=10
- CYGNUS_MONGO_DATA_EXPIRATION=0
- CYGNUS_MONGO_COLLECTIONS_SIZE=0
- CYGNUS_LOG_LEVEL=DEBUG
- CYGNUS_SKIP_CONF_GENERATION=false我运行了命令:docker logs cygnus
Cygnus试图按照日志:time=2020-05-03T01:18:27.683Z | lvl=INFO | corr=fda0c4fc-8cdb-11ea-ad11-0242ac120003 | trans=f1674faf-aa5a-4ca8-a62a-2136378f6d08 | srv=default |subsrv=/ | comp=cygnus-ngsi | op=persistAggregation | msg=com.telefonica.iot.cygnus.sinks.NGSIMongoSink[235] : [mongo-sink] Persisting data at NGSIMongoSink. Database: db_default, Collection: col_/_Room1_Room, Data: [Document{{temperature=279, recvTime=Sun May 03 01:18:27 UTC 2020}}]持久化数据
但我也注意到以下错误:
time=2020-05-03T01:18:28.553Z| lvl=WARN|corr=fda0c4fc-8cdb-11ea-ad11-0242ac120003 |trans=f1674faf-aa5a-4ca8-a62a-2136378f6d08 | srv=default| subsrv=/ | comp=cygnus-ngsi | op=createCollection|msg=com.telefonica.iot.cygnus.backends.mongo.MongoBackendImpl[192] : Error in collection col_/_Room1_Room creating index ex=Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='""', source='db_default', password=<hidden>, mechanismProperties=<hidden>}
据我所知,它不会因为MongoDB的凭据而持续。但是我不使用MongoDB银行的用户名和密码。
那它能是什么呢?我不明白这个错误,甚至也找不到一个合理的理由来解释这个错误。
一个已经在码头上使用天鹅座的人,他可以给我一些关于如何解决这个问题的指导。
谢谢
发布于 2020-05-13 12:12:05
考虑到这一点
我用过天鹅座和猎户座和MongoDB手动安装,我没有问题
我想说,这个问题在某种程度上与码头部署有关。此外,寻找痕迹:
异常身份验证MongoCredential
也许CYGNUS_MONGO_USER=""和CYGNUS_MONGO_PASS="" env没有得到正确的处理(我猜是由entrypoint.sh或类似的脚本处理的),这导致了问题的出现。
为了调试这一点,我建议您比较Cygnus agents.conf/cygnus_instance.conf文件在工作用例(手动安装)和失败案例(docker)中。也许这些差异可以提供一些关于这个问题的见解。在docker的情况下,文件可能不在opt/apache-flume/conf,但它们应该在某个地方(或者在容器内部,或者在托管系统中作为卷安装)。
另一个相关的问题:您手工制作的Cygnus版本是_exactly sam_e you吗?试着确保您使用的软件完全相同。
https://stackoverflow.com/questions/61553579
复制相似问题