开发者社区 > 云原生 > 微服务 > 正文

Nacos K8s容器部署 启动报这个错误怎么解决?

Nacos K8s容器部署 启动报这个错误怎么解决?
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'persistentClientOperationServiceImpl' defined in URL [jar:file:/opt/nacos/target/nacos-server.jar!/BOOT-INF/lib/nacos-naming-2.3.0.jar!/com/alibaba/nacos/naming/core/v2/service/impl/PersistentClientOperationServiceImpl.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.alibaba.nacos.naming.core.v2.service.impl.PersistentClientOperationServiceImpl]: Constructor threw exception; nested exception is java.lang.UnsatisfiedLinkError: /tmp/librocksdbjni6292792729875964513.so: libstdc++.so.6: cannot open shared object file: No such file or directory
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:315)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:296)
at
这是启动参数:
java -Xms2048m -Xmx2048m -Xmn768m -Dnacos.standalone=true -Dnacos.member.list= -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -Xloggc:/opt/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/opt/nacos/plugins,/opt/nacos/plugins/health,/opt/nacos/plugins/cmdb,/opt/nacos/plugins/selector -Dnacos.home=/opt/nacos -jar /opt/nacos/target/nacos-server.jar --spring.config.additional-location=file:/opt/nacos/conf/ --logging.config=/opt/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288

展开
收起
嘟嘟嘟嘟嘟嘟 2024-03-06 08:11:43 204 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这个错误是由于在启动Nacos K8s容器时,找不到libstdc++.so.6共享库文件导致的。要解决这个问题,你需要在Docker镜像中安装libstdc++6包。

    你可以尝试在Dockerfile中添加以下命令来安装libstdc++6

    RUN apt-get update && apt-get install -y libstdc++6
    

    然后重新构建并部署Docker镜像。这样应该可以解决libstdc++.so.6: cannot open shared object file: No such file or directory的问题。

    2024-03-08 21:57:41
    赞同 3 展开评论 打赏
  • 错误信息显示 Java 运行时无法找到 libstdc++.so.6 库文件,这通常是由于缺少 C++ 运行时环境导致的。在 Kubernetes 中部署 Nacos 容器时,需要确保 Docker 镜像包含了完整的运行依赖。您可以尝试构建包含相应 C++ 运行时库的自定义镜像,或者在 Dockerfile 中添加安装相关依赖的命令。

    2024-03-06 16:13:13
    赞同 展开评论 打赏

为微服务建设降本增效,为微服务落地保驾护航。

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载

相关镜像