GBase 8a
运维管理
文章

c3工具bug导致集群环境不可用

发表于2024-03-14 17:39:5955次浏览1个评论


1)     问题严重程度:

       出现该问题后会导致生产系统瘫痪。

2)     现象:

在集群节点上运行c3命令后,处于挂起状态;之后虽然通过ctrl + c 终止,但c3命令在后台仍在频繁启动python进程;python进程对内存消耗逐步加大,此时该集群节点接收的新连接与新任务将会由于内存资源不足而不断积压,随着内存消耗殆尽,集群最终将完全瘫痪。

3)     原因:

       用户在通过hostname命令更改主机名称后, 对于/etc/hosts文件中的ip与主机名称映射信息修改不完全; 而后执行c3命令时,c3会自动通过/etc/hosts文件中的配置将hostname映射为ip地址,该ip地址与/etc/c3_conf中#head node行指定的ip地址不一致,则将产生上述现象。

注:该问题确定为c3的bug。

4)     重现:

A.    在安装c3后,通过hostname命令更改主机名称。

[root@g201 gcware]# hostname newname

[root@g201 gcware]# hostname

newname

B.    将/etc/hosts中的网卡地址对应的主机名称进行更新,但不对127.0.0.1对应的主机名进行更新。

[root@g201 gcware]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 g201

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.7.200 g200

192.168.7.202 g202

192.168.7.201 newname

192.168.7.203 g203

              注:上面的newname是更新后的新主机名,而g201还是老的主机名(应该将g201改成newname), 这样在通过newname进行映射时会对应成192.168.7.201

          由于该ip地址和/etc/c3_conf中“127.0.0.1:127.0.0.1  #head node”的ip地址不一致,因此在运行c3命令后会出现下述现象。

C.    执行c3命令则会处于挂起状态,之后通过ctrl + c 终止,但c3命令在后台仍在频繁启动python进程。

[root@g201 gcware]# cexec date

^CKeyboard interrupt

 

Keyboard interrupt

 

[root@g201 gcware]# ps -ef | grep python | wc -l

71

[root@g201 gcware]# ps -ef | grep python | wc -l

81

[root@g201 gcware]# ps -ef | grep python | head -n5

root     36447     1  0 21:42 ?        00:00:00 python /usr/bin/cexec -f /tmp/192.168.7.201036420  date

root     36454 36447  0 21:42 ?        00:00:00 python /usr/bin/cexec -f /tmp/192.168.7.201036420  date

root     36480 36478  0 21:42 ?        00:00:00 python /usr/bin/cexec -f /tmp/192.168.7.201036454   date 

root     36487 36480  0 21:42 ?        00:00:00 python /usr/bin/cexec -f /tmp/192.168.7.201036454   date 

root     36513 36511  0 21:42 ?        00:00:00 python /usr/bin/cexec -f /tmp/192.168.7.201036487    date   

5)     解决方法:

A.    在出现上述问题后,首先将类似“python /usr/bin/cexec -f /tmp/192.168.7.201036420  date”的进程杀掉。

B.    将/etc/hosts修改正确。

 

评论

登录后才可以发表评论
用户头像
柒柒天晴发表于 2个月前
继续努力