amazon-web-services - AWS EC2 终端会话以“未找到名为 Standard_Stream 的插件”而终止
问题描述
我在 AWS EC2 CentOS 7 上流式传输 Kafka。我的会话管理器空闲超时设置为 60 分钟。然而,在跑得比这少得多之后,终端就冻结了,说My session has been terminated
。当然,Kafka 流式传输也中断了。
当我尝试使用新终端重新启动新会话时,出现此错误弹出窗口
Your session has been terminated for the following reasons: Plugin with name Standard_Stream not found. Step name: Standard_Stream
我仍然无法重新启动终端。
这个错误是什么意思以及如何解决它?谢谢。
解决方案
- 到目前为止,您需要使用带有 key-pem 的 SSH 访问 EC2 进行调试(询问您的管理员)
运行tail -f
有问题
tail: inotify resources exhausted
tail: inotify cannot be used, reverting to polling
重启 ssm-agent 服务也有问题
No space left on device
,但这与磁盘空间无关[root@env-test ec2-user]# systemctl restart amazon-ssm-agent.service 错误:设备上没有剩余空间
[root@env-test ec2-user]# df -h |grep dev devtmpfs 32G 0 32G 0% /dev tmpfs 32G 0 32G 0% /dev/shm /dev/nvme0n1p1 100G 82G 18G 83% /
因此错误本身意味着系统在 inotify 监视上的使用率越来越低,这使程序能够监视文件/目录的更改。查看当前设置的限制(包括我机器上的输出)
$ cat /proc/sys/fs/inotify/max_user_watches
8192
检查哪些进程使用 inotify 来改进您的应用程序或增加max_user_watches
for foo in /proc/*/fd/*; do readlink -f $foo; done | grep inotify | sort | uniq -c | sort -nr
5 /proc/1/fd/anon_inode:inotify
2 /proc/7126/fd/anon_inode:inotify
2 /proc/5130/fd/anon_inode:inotify
1 /proc/4497/fd/anon_inode:inotify
1 /proc/4437/fd/anon_inode:inotify
1 /proc/4151/fd/anon_inode:inotify
1 /proc/4147/fd/anon_inode:inotify
1 /proc/4028/fd/anon_inode:inotify
1 /proc/3913/fd/anon_inode:inotify
1 /proc/3841/fd/anon_inode:inotify
1 /proc/31146/fd/anon_inode:inotify
1 /proc/2829/fd/anon_inode:inotify
1 /proc/21259/fd/anon_inode:inotify
1 /proc/1934/fd/anon_inode:notify
- 请注意,上面的 inotify 列表包括 ssm-agent 进程的 PID,它解释了为什么我们在
max_user_watches
达到限制时遇到 SSM 问题
ps -ef | grep ssm-ag
root 3841 1 0 00:02 ? 00:00:05 /usr/bin/amazon-ssm-agent
root 4497 3841 0 00:02 ? 00:00:33 /usr/bin/ssm-agent-worker
- 最终解决方案:永久解决方案(在重新启动后保留)
echo "fs.inotify.max_user_watches=1048576" >> /etc/sysctl.conf sysctl -p
核实:
$ aws ssm start-session --target i-123abc456efd789xx --region ap-northeast-2
使用 SessionId 开始会话:userdev-03ccb1a04a6345bf5
sh-4.2$
- This issue comes from EC2 instance not about SSM agent Go to link to undestanding SSM agent.
optional link
推荐阅读
- javascript - 使用相同的 HTML div 首次加载页面时如何执行多个 Ajax 调用
- react-native - 如何在 React-Native 中进行持久通知?(不可刷卡)
- django - editable=false 是否适用于数据库级别?
- vuetify.js - vuetify 进度线性组件未按预期显示进度
- c# - Xamarin Android 如何处理 Twilio 聊天发送消息失败事件
- pandas - 将多维数组元素转换为相同数量的数组
- clearcase - 如何使用最新版本的文件夹 A 将文件夹 A 中的文件导入文件夹 B
- c# - TransactionScope 事务 = new TransactionScope() VS TransactionScope s = context.Connection.BeginTransaction()
- javascript - 设备方向 API 不适用于本地网络服务器
- sql - SQL - 在 GROUP BY (?) 中使用 DATEADD