来说说常见问题:
JAVA_HOME=/usr/java/jdk1.8.0_171
export JRE_HOME=/usr/java/jdk1.8.0_171/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
之前在4G服务器上3个月没挂过,但是换了之后,开始频繁的挂掉,同步数据会挂,访问量大了会挂,被别人爬快了也挂,没办法了要做点补救措施,开始也是二,写了一段检查脚本服务挂了超过5分钟就给自己发邮件,然后手动重启,但是这个已经不能让我愉快的玩耍了,然后在去了百度的google了一下发现运维们其实是会有一段检查重启的脚本,接下来看看这脚本怎么写的
#!/bin/bash
cd `dirname $0`
BIN_DIR=`pwd`
# jdk路径,这里有个坑,下文会讲
export JAVA_HOME=/usr/java/jdk1.8.0_171
# 获取es进程ID,我的es目录是/home/elasticS/elasticsearch-6.2.2
ES_ID=`ps -ef |grep elasticsearch |grep -w 'elasticsearch-6.2.2'|grep -v 'grep'|awk '{print $2}'`
# 日志输出
ESMonitorLog=$BIN_DIR/es-master-monitor.log
Monitor()
{
if [[ $ES_ID ]];then # 这里判断ES进程是否存在
echo "[info]当前ES进程ID为:$ES_ID"
else
echo "[error]ES进程不存在!ES开始自动重启..."
#启动 ES的账号
su user
#切换账号的JAVA环境
source ~/.bash_profile
#到启动的目录下
cd xxxxxxx/elasticsearch-6.2.2
#启动ES
./bin/elasticsearch -d
fi
}
Monitor>>$ESMonitorLog
我这段可能和网上的不太一样,因为我直接抄下来之后一直无法执行,不知道是不是我的配置不一样,后来就直接改了一些,写的不对请指出
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946831/viewspace-3147649/ ,如需转载,请注明出处,否则将追究法律责任。