前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >运维:记录因grpc需求而引发的glibc故障

运维:记录因grpc需求而引发的glibc故障

作者头像
heidsoft
发布2018-12-17 11:01:27
8890
发布2018-12-17 11:01:27
举报

背景需求:

准备使用grpc作为服务组间的服务通信协议

问题发生:

本地开发采用mac开发,依赖如下:

<dependency> <groupId>org.lognet</groupId> <artifactId>grpc-spring-boot-starter</artifactId> <version>2.4.3</version> </dependency>

在采用grpc 相关组件对 protobuf 文件进行编译

<build> <extensions> <!-- os-maven-plugin --> <extension> <groupId>kr.motd.maven</groupId> <artifactId>os-maven-plugin</artifactId> <version>${os-maven-plugin.version}</version> </extension> </extensions> <plugins> <!-- spring-boot-maven-plugin --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- protobuf-maven-plugin --> <plugin> <groupId>org.xolstice.maven.plugins</groupId> <artifactId>protobuf-maven-plugin</artifactId> <version>${protobuf-maven-plugin.version}</version> <configuration> <!--默认值--> <protoSourceRoot>${project.basedir}/src/main/proto</protoSourceRoot> <!--默认值--> <!--<outputDirectory>${project.build.directory}/generated-sources/protobuf/java</outputDirectory>--> <outputDirectory>${project.build.sourceDirectory}</outputDirectory> <!--设置是否在生成java文件之前清空outputDirectory的文件,默认值为true,设置为false时也会覆盖同名文件--> <clearOutputDirectory>false</clearOutputDirectory> <!--默认值--> <temporaryProtoFileDirectory>${project.build.directory}/protoc-dependencies</temporaryProtoFileDirectory> <!--更多配置信息可以查看https://www.xolstice.org/protobuf-maven-plugin/compile-mojo.html--> <protocArtifact>com.google.protobuf:protoc:3.5.1-1:exe:${os.detected.classifier}</protocArtifact> <pluginId>grpc-java</pluginId> <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.11.0:exe:${os.detected.classifier}</pluginArtifact> </configuration> <executions> <execution> <goals> <goal>compile</goal> <goal>compile-custom</goal> </goals> </execution> </executions> </plugin> </plugins> </build>

本地mac 可以编译。但是当使用jenkins 进行构建时

报错。

提示glibc版本有问题,然后打算升级,glibc.结果把/lib64/libc.so.6 给替换了,造成Linux ssh无法远程登录,bash命令无法执行。

错误出现如下状态:

最后解决:

  1. 将该快磁盘,挂载在其他系统(ISO盘)启动,使其启动。然后将原来软连接删除。
  2. 手动创建,ln -s /lib64/libc-2.12.so /lib64/libc.so.6

参考:

https://unix.stackexchange.com/questions/179233/error-while-loading-shared-libraries-libc-so-6-cannot-open-shared-object-file

http://blog.51cto.com/asd9577/1931442

http://blog.51cto.com/314258/1704852

https://blog.csdn.net/zxyuying/article/details/44085753

https://help.aliyun.com/knowledge_detail/41478.html#%E9%80%9A%E8%BF%87%E5%9B%9E%E6%BB%9A%E7%A3%81%E7%9B%98%E6%81%A2%E5%A4%8D

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云数智圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档