Centos7
准备:JDK1.8+
创建es用户
groupadd esgroup
useradd -g esgroup es
passwd es
下载安装
我以/usr/local/src/es
作为我的安装根目录:
cd /usr/local/src/es
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.tar.gz
tar -xvzf elasticsearch-6.6.0.tar.gz
mv ./elasticsearch-6.6.0 ./6.6.0
chown -R esgroup:es ./6.6.0
./bin/elasticsearch
./bin/elasticsearch 会以前台运行,ctrl+c后会关闭服务。
开机启动脚本
vim /etc/init.d/elastisearch
加入以下脚本:
#!/bin/sh
#chkconfig: 2345 80 05
#description: elasticsearch
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64
export JAVA_BIN=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
case "$1" in
start)
su es<<!
cd /usr/local/src/es/6.6.0/
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
stop)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
kill -9 $es_pid
echo "elasticsearch stopped"
;;
restart)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
kill -9 $es_pid
echo "elasticsearch stopped"
su es<<!
cd /usr/local/src/es/6.6.0/
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
*)
echo "start|stop|restart"
;;
esac
exit $?
脚本中的各种路径需要根据自己服务器修改。
为启动脚本增加执行权限:chmod +x /etc/init.d/elastisearch
配置开机启动es:chkconfig --add elasticsearch
重启机器:reboot
检查ES是否启动:jps
查看是否有 Elasticsearch 服务
内存不足导致服务启动失败
我用阿里云1c1g云服务器做测试,内存比较小就修改了jvm参数,堆大小配置为512M,启动的时候一直gc,最后启动失败,关闭阿里云服务器,升级为1c2g后重启机器,之后服务正常启动。