首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安装在Docker-compose中的Cygnus-ngsi不会在MongoDB中保存数据。

安装在Docker-compose中的Cygnus-ngsi不会在MongoDB中保存数据。
EN

Stack Overflow用户
提问于 2020-05-02 02:06:19
回答 1查看 213关注 0票数 2

我有猎户座,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中。我使用的默认设置的对接-合成安装。

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

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

我已经使用天鹅座与猎户座和MongoDB手动安装,我没有问题。同时,我还设置了一个agent_conf和一个cygnus_instance.conf。使用对接器,按照文档中的一步一步进行配置cygnus_instance.conf是不必要的。它甚至不存在于opt/apache-flume/conf文件夹中。

有人知道Cygnus会发生什么事而不保存数据吗?或者你经历过这件事并设法解决了?

我的船坞编剧看上去像天鹅座:

代码语言:javascript
运行
复制
    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银行的用户名和密码。

那它能是什么呢?我不明白这个错误,甚至也找不到一个合理的理由来解释这个错误。

一个已经在码头上使用天鹅座的人,他可以给我一些关于如何解决这个问题的指导。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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吗?试着确保您使用的软件完全相同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61553579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档