Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4160769
  • 博文数量: 240
  • 博客积分: 11504
  • 博客等级: 上将
  • 技术积分: 4277
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-28 14:24
文章分类

全部博文(240)

分类: Mysql/postgreSQL

2007-12-07 12:01:35

这两个简单的脚本是用来检测管理节点和数据节点挂掉的时候能被MYSQL集群拉进去。
由于MYSQL集群只能把坏掉的节点踢出去,如果网络端掉或者其他情况。他不能自给拉回来。

1、管理节点的脚本

#!/bin/bash
#
# Short managment keep alive file.
#
# Created by david yeung 2007-12-20
#
# Filename: mgmd_check_online.sh.
#
# To determinate whether mgmd process is running or not.
#
ps afx | grep -w ndb_mgmd | grep -v grep 1>&/dev/null

if [ $? == 0 ]
then
  echo "!-------MGMD is ok-------------!">>/var/log/mgmd-check-online.log
else

  # NDBD is dead.
  echo "Check date:`date '+%Y-%m-%d %H:%M:%S'`" | tee -a /var/log/mgmd-check-online.log
  echo "!-------MGMD is dead ----------!" | tee -a /var/log/mgmd-check-online.log
  # Run the managment node.
  /usr/local/mysql/ndb_mgmd -f /etc/config.ini
  echo "!-------MGMD NODE OK-----------!" | tee -a /var/log/mgmd-check-online.log
fi
exit 0



然后加入到crontab
[root@localhost mysql_test]# crontab -l
*/1 * * * * /home/mysql_test/mgmd_check_online.sh
传到另外一个管理节点,然后加入CRONTAB
[root@localhost mysql_test]# scp mgmd_check_online.sh root@192.168.0.232:~
The authenticity of host '192.168.0.232 (192.168.0.232)' can't be established.
RSA key fingerprint is 47:39:89:a7:f7:1a:fc:0a:6f:7a:4b:b5:91:28:48:e8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.232' (RSA) to the list of known hosts.
root@192.168.0.232's password:
mgmd_check_online.sh                          100%  680     0.7KB/s   00:00   

日志内容:
!-------MGMD is ok-------------!
Check date:2007-12-20 16:52:51
!-------MGMD is dead ----------!
!-------MGMD NODE OK-----------!

...


2、数据节点的脚本

#!/bin/bash
#
# Created by david yeung 2007-12-20.
#
# Short ndbd node keep alive file.
#
# Filename:ndbd_check_online.sh.
#
# To determinate whether ndbd process is running or not.
#
ps afx | grep -w ndbd | grep -v grep 1>& /dev/null
if [ $? == 0 ]
then
  echo "!-------NDBD is ok-------------!" >> /var/log/ndbd-check-online.log
else
  # NDBD is dead
  echo "!-------NDBD is dead ----------!" | tee -a /var/log/ndbd-check-online.log
  echo "Check date:`date '+%Y-%m-%d %H:%M:%S'`" | tee -a /var/log/ndbd-check-online.log
  echo "!-------RESTART NDBD ----------!" | tee -a /var/log/ndbd-check-online.log
  # The real command.
  /usr/local/mysql/bin/ndbd
  echo "!-------NDBD NODE OK-----------!" | tee -a /var/log/ndbd-check-online.log
fi
exit 0



传到我的236
[root@localhost mysql_test]# scp ndbd_check_online.sh root@192.168.0.236:~
root@192.168.0.236's password:
ndbd_check_online.sh                          100%  614     0.6KB/s   00:00 
阅读(3618) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~