gpt4 book ai didi

fiware-orion - 与 Docker-compose 一起安装的 Cygnus-ngsi 不会在 MongoDB 中保存数据

转载 作者:行者123 更新时间:2023-12-04 10:06:41 25 4
gpt4 key购买 nike

我在 Ubuntu 18.04 机器上使用 docker-compose 安装了 Orion、MongoDB 和 Cygnus-ngsi。我使用的图像是:fiware/orion:latest、fiware/cygnus-ngsi:latest 和 mongo:3.6。

它们是使用以下命令安装的:docker-compose -f reflexwaterDocker.yaml up
我没有安装问题。所有容器都UP。 Orion 保存到 MongoDB。 Cygnus API 工作正常。

我创建了对 Orion 实体的订阅,一切正常。但是当我更新实体时,猎户座在 mongo 上执行,但 Cygnus 不保留历史数据。
opt/apache-flume/conf 中的 agent.conf 文件配置正确。我正在使用 docker-compose 安装的默认设置。

我遵循了以下描述的过程:https://github.com/telefonicaid/fiware-cygnus/blob/master/doc/cygnus-ngsi/installation_and_administration_guide/install_with_docker.md

所有端口都正确并且已经过测试。

我已经将 Cygnus 与 Orion 和 MongoDB 手动安装一起使用,我没有问题。而且,我在那里设置了一个 agent_conf 和一个 cygnus_instance.conf。使用 docker,按照文档中的逐步说明,不需要配置 cygnus_instance.conf。它甚至不存在于 opt/apache-flume/conf 中文件夹。

有谁知道 Cygnus 不保存数据会发生什么?或者你有没有经历过这个并设法解决它?

对于 Cygnus-ngsi,我的 docker-compose 看起来像这样:

    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 银行。

那么,它可以是什么?
我不理解错误,我什至找不到错误的合理理由。

已经在 docker 上使用过 cygnus 并且可以就如何解决此问题给我一些指导的人。

谢谢

最佳答案

考虑到这

I've used Cygnus with Orion and MongoDB manually installing, and I had no problem



我想说这个问题在某种程度上与 docker 部署有关。此外,寻找踪迹:

Exception authenticating MongoCredential



也许是 CYGNUS_MONGO_USER=""CYGNUS_MONGO_PASS="" env vars 未正确处理(我猜是通过 entrypoint.sh 或类似脚本),这导致了问题。

为了调试这个,我建议你在工作情况(手动安装)和失败情况(docker)中比较 Cygnus agents.conf/cygnus_instance.conf 文件。也许这些差异可以提供对问题的一些见解。对于 docker,可能文件不在 opt/apache-flume/conf但它们应该在某个地方(在容器内部或在托管系统中作为卷安装)。

另一个相关问题:您手动使用的 Cygnus 版本与 docker 案例中的完全相同?尽量确保您使用的是完全相同的软件。

关于fiware-orion - 与 Docker-compose 一起安装的 Cygnus-ngsi 不会在 MongoDB 中保存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61553579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com