这两天一直在研究使用Red Hat的集群套件RHCS拉JAVA应用程序,做双机热备,由于对于shell不熟悉,花了几天时间一直没有搞通脚本,不是应用拉不起来,就是脚本导致rgmanager启动不了或者应用频繁启动,网上查阅很多资料也没找到RHCS配置JAVA应用程序的,后来打电话叫来RedHat的技术支持,参考他们给的脚本修改了自己的脚本,总于搞通了。。。我在配置的过程中总结了一些注意事项:
1.脚本必须包含start,stop,status,restart函数
2.rhcs中failoverdomain配置为relocate表示集群检测到status函数返回非0会切换到另外一台,restart表示集群检测到status函数返回非0会尝试重启应用,然后重启不行就relocate
3.status函数必须能够正确反映当前应用的运行状态,集群根据status的
返回(如果为非0)做出切换动作,返回0代表成功,1代表失败。我之前的问题就是因为status函数没有写好导致应用一直重启或者手动kill掉进程不会重新拉起
4,最好每个JAVA应用程序有自己的监听端口,没有也可以单独启动一个监听端口,这样status函数就能根据端口号来唯一匹配到JAVA应用程序进程是否启动,特别是在一台机器上集群管理多个JAVA应用程序
以上不对的地方请大家多做指教...
最后附上我的启动脚本供大家参考,当然不好的地方请大家指出或者进行优化,本人对于shell不熟悉,欢迎指出,谢谢大家:
写道
#!/bin/bash
. /etc/rc.d/init.d/functions
RETVAL=0
PROGNAME="scheduler"
PROGDIR="/usr/downloaderSchedule/"
JAVA_HOME=/usr/java/jdk1.6.0_13/
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
#启动JAVA应用程序
start(){
cd $PROGDIR
echo "working directory....."
pwd
touch log.log
nohup $JAVA_HOME/bin/java -Xms256m -Xmx1024m -jar "$PROGNAME.jar" > log.log 2>&1 &
echo "scheduler is started."
ps -ef | grep "$PROGNAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'
RETVAL=$?
return $RETVAL
}
#停止JAVA应用程序
stop() {
echo $PROGNAME
ID=`ps -ef | grep "$PROGNAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`
echo $ID
echo "---------------"
for id in $ID
do
kill -9 $id
echo "killed $id"
done
echo "---------------"
RETVAL=0
return $RETVAL
}
#检测进程状态的函数
status(){
#通过端口和进程名称来匹配进程
netstat -atn |grep 8801 && ps -ef|grep -v grep|grep "$PROGNAME"
return $?#该处的$?是不是返回上一条命令是否成功执行?0或者1?
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
*)
echo $"Usage: $prog {start|stop|restart|status}"
exit 1
esac
分享到:
相关推荐
Redhat_RHCS_Oracle配置_红帽双机热备配置
### Linux上实现Oracle HA双机热备的关键知识点 #### 一、实施环境说明与拓扑设计 **实施说明**:本文档旨在详细说明如何在Linux环境下实现Oracle HA(高可用性)双机热备方案。该方案利用了Red Hat Cluster Suite...
linux集群,rhcs、iscsi和gfs2提供共享存储,通过lvs搭建基于共享存储的双机热备web服务,根据lvs的工作模式可选负载均衡、互为主备的工作模式。
Linux RHCS(Red Hat Cluster Suite)双机热备是一种高可用性(High Availability, HA)解决方案,用于确保关键服务在一台主机出现故障时能够自动切换到另一台备用主机上运行,从而保持业务连续性。本教程将详细介绍在...
### CentOS 5+RHCS+ORACLE 10G 双机热备 #### 实验环境与目的 本文档旨在详细介绍如何使用CentOS 5、RHCS(Red Hat Cluster Suite)以及Oracle 10g搭建一套高效且经济的双机热备系统。此方案为那些寻求低成本且...
教程名称: 双机热备经典方案汇总【】255 EXP400双机热备存储实施方案【】4506双机热备配置【】AIX双机热备配置文档(HACMP配置整理)【】CentOS_5 RHCS来实现ORACLE_10.2_双机热备【】Cisco Catalyst 4506双机热备...
2. 配置 rhcs 软件:需要配置 rhcs 软件,以便实现双机热备的故障转移。 3. 配置数据库服务器:需要配置数据库服务器,包括 sh-db1 和 sh-db2,确保数据库的高可用性。 4. 实施割接:需要实施割接,包括配置网络拓扑...
大牛写的CentOS_5.5+RHCS来实现ORACLE_10.2_双机热备 第一章 实验环境介绍 第二章 IPSAN的配置 第三章 安装和配置第一个RHCS服务 第四章 操作系统补丁包安装和参数调整 第五章 安装数据库软件并创建第一个数据库实例...
在Linux环境下实现双机热备用,心跳设计是关键的一环,它确保了当主服务器出现故障时,备份服务器能够快速接管服务,保证系统的连续性和稳定性。这种技术广泛应用于数据中心、Web服务器、数据库服务器等对高可用性有...
RHCS+Oracle配置实战图解
RHCS 集群配置脚本。
经典多给点积分,谢谢 这个是linux下两个机器之间做的简单的节点
RHCS通过管理多个独立服务器(节点)上的应用程序和服务,使得即使某个节点出现故障,其他节点仍能接管工作负载,从而保证服务不间断。RHCS不仅包括了高可用性集群,也支持负载均衡、数据共享和虚拟化等功能。 ...
RHCS双机调测是针对Red Hat Cluster Suite(RHCS)环境下进行的双机集群配置与调试过程。RHCS是Red Hat提供的一套用于构建高可用性和负载均衡集群的软件套件,它基于开源的Heartbeat项目和Linux Virtual Server(LVS...
在Red Hat Linux系统中搭建Oracle双机热备是一种常见的高可用性(HA)解决方案,确保在一台服务器出现故障时,数据库服务能够无缝切换到另一台服务器上,保持业务连续性。以下将详细介绍如何在Red Hat 5.3环境下实现这...
在IT领域,RHCS(Red Hat Cluster Suite)与Oracle数据库的双机热备配置是一项重要的高可用性解决方案。本实验旨在搭建一个基于RHCS的Oracle数据库集群,确保即使一台服务器出现故障,另一台服务器也能接管服务,...
根据提供的文档内容,我们可以总结出以下关键知识点,这些知识点涵盖了RHCS在HP服务器上配置双机集群的过程: ### 一、RHCS与HP服务器简介 RHCS (Red Hat Cluster Suite) 是由Red Hat公司开发的一套集群解决方案,...
### RHCS 双机热备配置详解 #### 一、RHCS简介 RHCS(Red Hat Cluster Suite)是Red Hat Enterprise Linux(RHEL)提供的一个集群解决方案,它提供了高可用性(HA)和负载均衡等功能,可以显著提高系统的稳定性和...
RHCS 配置和共享存储配置 RHCS(Red Hat Cluster Suite)是一款集群管理软件套件,主要用于管理和维护 Linux 集群。RHCS 提供了一个集中的管理平台,允许管理员管理和监控集群中的服务器和存储设备。 配置 RHCS ...