ArthasHotSwap
ArthasHotSwap copied to clipboard
md5sum 不支持--status
容器环境:k8s
服务器:
注意:pod有可能没有curl命令,需要先安装curl,这个查看自己的pod是用的什么linux,cat /etc/os-release
,然后找到这个系统的安装命令,我这个的安装命令是apk install curl
。
sudo echo "curl -L http://xxxtai-arthas-hot-swap.oss-cn-beijing.aliyuncs.com/public/UT7NYEevxT6MebpsIjSoDXWixqZxDKTehhTQshsHz3k=x > HotSwapScript4OneClass.sh ; echo '7c00337266cb091322ea6353c91a896f HotSwapScript4OneClass.sh' > HotSwapScript4OneClass.md5sum; md5sum --status -c ./HotSwapScript4OneClass.md5sum; if [[ \$? -eq 0 ]]; then chmod +x HotSwapScript4OneClass.sh; yes | ./HotSwapScript4OneClass.sh 002a06142d701656796f622a142a5161 67552820337302057168114f71666f52; else echo 'It is necessary to report this error to [email protected]!!!'; fi" > ArthasHotSwapMD5Check.sh; chmod +x ./ArthasHotSwapMD5Check.sh; ./ArthasHotSwapMD5Check.sh;
因为服务是部署在k8s中,进入pod后就是root用户,也不支持sudo命令,所以生成的命令需要先把sudo干掉,再执行报错:md5sum 不支持--status
再次把:md5sum --status 替换成 md5sum -s
echo "curl -L http://xxxtai-arthas-hot-swap.oss-cn-beijing.aliyuncs.com/public/UYy7Lq2aWPPBZPTpfPUnyTQffutaLKtLkPN4mLUUxSc=x > HotSwapScript4OneClass.sh ; echo '75e617a23926524f655b9e0c272575d6 HotSwapScript4OneClass.sh' > HotSwapScript4OneClass.md5sum; md5sum -s -c ./HotSwapScript4OneClass.md5sum; if [[ \$? -eq 0 ]]; then chmod +x HotSwapScript4OneClass.sh; yes | ./HotSwapScript4OneClass.sh 2c51262d4a5b071130770f7118023225 2f0a0765042a6038221927182e0c4448; else echo 'It is necessary to report this error to [email protected]!!!'; fi" > ArthasHotSwapMD5Check.sh; chmod +x ./ArthasHotSwapMD5Check.sh; ./ArthasHotSwapMD5Check.sh;
执行成功!
因为我是在类里面新增了一个字段,retransform 抛出了改变类结构(添加/删除字段)异常
注意可能找不到java命令, 需要设置中指定java命令位置:
先进入pod查看java home的路径,然后顺着这个路径找到java命令的位置
然后重新生成脚本命令: