weixin_45907466 2024-04-30 15:52 采纳率: 57.1%
浏览 17

docker中的mongodb报错

我在使用docker中运行了mongodb,但是最近经常出现报错,状态变为exited,以下是报错日志,应该如何解决?



{"t":{"$date":"2024-04-30T06:11:59.058+00:00"},"s":"I",  "c":"CONTROL",  "id":31380,   "ctx":"ftdc","msg":"BACKTRACE","attr":{"bt":{"backtrace":[{"a":"55FB520462D4","b":"55FB4D20F000","o":"4E372D4","s":"_ZN5mongo18stack_trace_detail12_GLOBAL__N_119printStackTraceImplERKNS1_7OptionsEPNS_14StackTraceSinkE.constprop.362","C":"mongo::stack_trace_detail::(anonymous namespace)::printStackTraceImpl(mongo::stack_trace_detail::(anonymous namespace)::Options const&, mongo::StackTraceSink*) [clone .constprop.362]","s+":"1F4"},{"a":"55FB52048819","b":"55FB4D20F000","o":"4E39819","s":"_ZN5mongo15printStackTraceEv","C":"mongo::printStackTrace()","s+":"29"},{"a":"55FB52042B67","b":"55FB4D20F000","o":"4E33B67","s":"_ZN5mongo12_GLOBAL__N_111myTerminateEv","C":"mongo::(anonymous namespace)::myTerminate()","s+":"D7"},{"a":"55FB521CD5F6","b":"55FB4D20F000","o":"4FBE5F6","s":"_ZN10__cxxabiv111__terminateEPFvvE","C":"__cxxabiv1::__terminate(void (*)())","s+":"6"},{"a":"55FB52261F49","b":"55FB4D20F000","o":"5052F49","s":"__cxa_call_terminate","s+":"39"},{"a":"55FB521CCFE5","b":"55FB4D20F000","o":"4FBDFE5","s":"__gxx_personality_v0","s+":"275"},{"a":"7FF33C853C64","b":"7FF33C83D000","o":"16C64","s":"_Unwind_GetTextRelBase","s+":"1EF4"},{"a":"7FF33C854321","b":"7FF33C83D000","o":"17321","s":"_Unwind_RaiseException","s+":"311"},{"a":"55FB521CD75E","b":"55FB4D20F000","o":"4FBE75E","s":"__cxa_throw","s+":"3E"},{"a":"55FB4F10B264","b":"55FB4D20F000","o":"1EFC264","s":"_ZN5mongo13error_details23throwExceptionForStatusERKNS_6StatusE","C":"mongo::error_details::throwExceptionForStatus(mongo::Status const&)","s+":"2036"},{"a":"55FB4F120536","b":"55FB4D20F000","o":"1F11536","s":"_ZN5mongo21uassertedWithLocationERKNS_6StatusEPKcj","C":"mongo::uassertedWithLocation(mongo::Status const&, char const*, unsigned int)","s+":"2F8"},{"a":"55FB4EBB5BE8","b":"55FB4D20F000","o":"19A6BE8","s":"_ZN5mongo14FTDCController6doLoopEv.cold.495","C":"mongo::FTDCController::doLoop() [clone .cold.495]","s+":"A6"},{"a":"55FB4F60B26C","b":"55FB4D20F000","o":"23FC26C","s":"_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZN5mongo4stdx6threadC4IZNS3_14FTDCController5startEvEUlvE0_JELi0EEET_DpOT0_EUlvE_EEEEE6_M_runEv","C":"std::thread::_State_impl<std::thread::_Invoker<std::tuple<mongo::stdx::thread::thread<mongo::FTDCController::start()::{lambda()#2}, , 0>(mongo::FTDCController::start()::{lambda()#2})::{lambda()#1}> > >::_M_run()","s+":"7C"},{"a":"55FB521E988F","b":"55FB4D20F000","o":"4FDA88F","s":"execute_native_thread_routine","s+":"F"},{"a":"7FF33C6A9B43","b":"7FF33C615000","o":"94B43","s":"pthread_condattr_setpshared","s+":"513"},{"a":"7FF33C73ABB4","b":"7FF33C615000","o":"125BB4","s":"clone","s+":"44"}],"processInfo":{"mongodbVersion":"6.0.6","gitVersion":"26b4851a412cc8b9b4a18cdb6cd0f9f642e06aa7","compiledModules":[],"uname":{"sysname":"Linux","release":"5.4.0-173-generic","version":"#191-Ubuntu SMP Fri Feb 2 13:55:07 UTC 2024","machine":"x86_64"},"somap":[{"b":"55FB4D20F000","elfType":3,"buildId":"6AED7824550178AC06E629AEA8EAADB3103D0EA9"},{"b":"7FF33C83D000","path":"/lib/x86_64-linux-gnu/libgcc_s.so.1","elfType":3,"buildId":"09C4935B79388431A1248F6A98E00D7DC81B8513"},{"b":"7FF33C615000","path":"/lib/x86_64-linux-gnu/libc.so.6","elfType":3,"buildId":"69389D485A9793DBE873F0EA2C93E02EFAA9AA3D"}]}}},"tags":[]}
  • 写回答

6条回答 默认 最新

  • 专家-皆知 2024-04-30 15:52
    关注

    参考免费微信小程序:皆我百晓生 作答,经由专家-皆知整理回复,如问题解决,望采纳;如仍有疑问,请评论回复。

    根据您提供的日志信息,这个问题看起来是MongoDB在执行Full-Text Diagnostic Collection (FTDC)时遇到的异常。FTDC是一个用于诊断目的的工具,它周期性地收集关于MongoDB服务器运行状况的数据。错误日志显示的是一个异常处理流程,但没有直接指出问题的根本原因。然而,这种崩溃通常与配置问题、资源限制(如内存不足)、文件系统问题或内部MongoDB错误有关。

    解决步骤

    1. 检查磁盘空间:确保您的磁盘没有满,因为FTDC数据存储在磁盘上,如果磁盘空间不足,可能会导致问题。

    2. 查看MongoDB日志:完整的MongoDB日志可能会提供更详细的上下文。定位到MongoDB容器的日志文件,通常在Docker中可以通过docker logs <container-id>命令查看。寻找在报错之前可能存在的警告或错误信息。

    3. 资源限制:检查Docker为MongoDB容器设置的资源限制(CPU、内存),确保它们足够。资源不足可能导致运行时错误。可以通过docker stats查看容器资源使用情况,或者检查Dockerfile或docker-compose.yml中对MongoDB容器的资源配置。

    4. 配置调整:检查MongoDB的配置文件(mongod.conf),特别是FTDC相关配置,确保它们适合您的环境。例如,调整FTDC数据收集的频率和存储大小限制可能有帮助。

    5. 更新MongoDB:确保您运行的是MongoDB的最新补丁版本,有时候错误会在后续的版本中得到修复。

    6. 启动参数检查:如果您在启动MongoDB容器时使用了特定的命令行参数,检查这些参数是否可能引起问题。

    示例配置调整

    如果您怀疑FTDC配置问题,可以通过修改mongod.conf来调整FTDC设置。这里是一个示例,展示了如何配置FTDC的存储路径和限制数据量:

    storage:
      dbPath: /data/db
    systemLog:
      path: /data/log/mongod.log
    ftdc:
      directoryPerDB: true
      intervalSeconds: 60 # 默认值,可以根据需要调整
      maxFileSize: 10485760 # 10MB,调整最大文件大小
    

    Docker资源限制调整示例

    如果您通过docker-compose管理MongoDB,可以调整资源限制如下:

    services:
      mongodb:
        image: mongo:6.0.6
        ports:
          - "27017:27017"
        volumes:
          - ./data/db:/data/db
        deploy:
          resources:
            limits:
              memory: "2gb" # 调整内存限制
              cpu: "0.5" # 调整CPU份额
        environment:
          MONGO_INITDB_ROOT_USERNAME: root
          MONGO_INITDB_ROOT_PASSWORD: example
    

    请根据实际情况调整上述示例配置。

    如果问题依然存在,考虑将问题报告给MongoDB的官方社区或技术支持,提供更详细的日志和配置信息以便进一步分析。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月30日

悬赏问题

  • ¥15 noaa的数据集Integrated surface dataset(ISD)各个指标的解释
  • ¥15 数据库原理及应用上机练习题
  • ¥15 VS 2022中无法将参数1转换
  • ¥30 征集Python提取PDF文字属性的代码
  • ¥15 如何联系真正的开发者而非公司
  • ¥15 有偿求苍穹外卖环境配置
  • ¥15 代码在keil5里变成了这样怎么办啊,文件图像也变了,
  • ¥20 Ue4.26打包win64bit报错,如何解决?(语言-c++)
  • ¥15 clousx6整点报时指令怎么写
  • ¥30 远程帮我安装软件及库文件