问题记录|线上问题诊断大逃杀|docker环境中arthas启动不起来的问题解决

本文介绍了在Java应用中,如何在Docker容器中使用arthas-boot.jar启动遇到的问题,以及通过as.sh脚本实现非交互式启动以避免JRE环境缺失。重点讲解了如何查找并指定java进程PID,以及如何安装telnet以解决相关依赖问题。
摘要由CSDN通过智能技术生成

博客主页:JavaProfessional
一个专注于Java的博主,致力于使用通俗易懂的语句讲解内容,期待您的关注!

使用jar包启动

下载arthas-boot.jar

curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar

当笔者在docker容器中执行时,遇到了以下的问题:
在这里插入图片描述

就一直卡在这个地方,经过排查是docker容器的镜像中JRE环境不完整,在环境中执行:

jps

也一直卡在那里,不能往下进行。
但是线上问题笔者又不能停止容器,更换镜像,因此不得不找其他方法。

使用as脚本启动

下载as.sh脚本

curl -L https://arthas.aliyun.com/install.sh | sh
./as.sh

如果启动遇到以下问题:
在这里插入图片描述

则需要安装telnet

yum install telnet-server #安装telnet服务
yum install telnet.* #安装telnet客户端

然后就可以愉快的启动了,为了避免以上的问题,我们使用非交互式启动,也就是说直接告诉arthas我要attach哪个java程序(pid),不要利用jps命令让我选择哪个java进程了。

通过以下命令找到java程序的pid:

ps -aux|grep 程序标识

在这里插入图片描述

非交互式启动:

./as.sh 9

就可以愉快的使用arthas了~

好文推荐

  1. 通俗易懂JVM
  2. 为什么Spring中的IOC(控制反转)能够降低耦合性(解耦)?
  3. 效率翻倍,这些idea的逆天功能你知道吗?
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tinpo_123

感谢给小张填杯java~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值