Elastic:linux设置elasticsearch、kibana开机自启

0. 引言

每次启动服务器都要手动启动es服务,相当之不方便,为此,书写一个脚本,实现es、kibana的开机自启

1. 原理

首先任何服务要实现开机自启,都可分为如下三步:
1、在/etc/init.d目录下创建启动、关闭服务的脚本,脚本中要设置运行级别、启动优先级、关闭优先级等。

2、给脚本赋权,保证脚本能够执行

chmod +x /etc/init.d/xxx

3、将脚本添加到开机自启列表

# 添加开机自启
chkconfig --add xxx
# 状态设置为启动
chkconfig xxx on

注意:部分java服务,需要指定jdk路径,否则会报错找不到java

2. 实现

1、编写启动脚本

cd /etc/init.d
vim elasticsearch

脚本内容

其中elastic为自建的非root账号,专用于启动es、kibana;su - elastic表示切换至elastic账号执行

#!/bin/bash
#chkconfig: 2345 54 26
#description: elasticsearch
#processname: elasticsearchES_HOME=/var/local/elasticsearchstart(){                           su - elastic -c "$ES_HOME/bin/elasticsearch -d -p pid"echo "es is started"
}
stop(){                                pid=`cat $ES_HOME/pid`kill -9 $pidecho "es is stopped"
}
status(){ps aux | grep $ES_HOME
}
restart(){              stopsleep 1start
}
case "$1" in        
"start")start      ;;
"stop")            stop;;
"status")status;;
"restart")            restart;;
*)      echo "支持指令:$0 start|stop|restart|status";;
esac

2、给脚本赋权

chmod +x /etc/init.d/elasticsearch

3、执行脚本验证一下

service elasticsearch status
service elasticsearch start
service elasticsearch stop

在这里插入图片描述

4、添加到开机自启列表

# 添加开机自启
chkconfig --add elasticsearch
# 状态设置为启动
chkconfig elasticsearch on

5、同样书写kibana的启动脚本,同时也执行上述的赋权和添加开机列表指令

vim kibana

脚本内容:
因为ps指令无法获取kibana pid,所以换了通过5601端口来查询进程id的方法,如果后续端口调整了,这里脚本也要调整

#!/bin/bash
#chkconfig: 2345 55 27
#description: kibana
#processname: kibanaKIBANA_HOME=/var/local/kibana
start(){                                su - elastic -c "nohup $KIBANA_HOME/bin/kibana  >>/dev/null 2>&1 &"echo "kibana is started"
}
stop(){                                # 这里主要是通过网络端口5601寻找kibana进程的pidkibana_pid_str=`netstat -tlnp |grep 5601 | awk '{print $7}'`kibana_pid=`echo ${kibana_pid_str%%/*}`kill -9 $kibana_pidecho "kibana is stopped"
}
status(){ps aux | grep $KIBANA_HOME
}
restart(){              stopsleep 1start
}
case "$1" in        
"start")start      ;;
"stop")            stop;;
"status")status;;
"restart")            restart;;
*)      echo "支持指令:$0 start|stop|restart|status";;
esac

6、重启服务器,重启后直接访问kibana,查询正常,说明es和kibana都自动启动了,设置成功!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/26943.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#设计模式(15)命令模式(Command Pattern)

命令模式(Command Pattern) 命令模式是一种数据驱动的设计模式,属于行为型模式类别。请求被包装在一个对象中作为命令,并传递给调用对象。调用对象寻找可以处理该命令的合适对象,并将命令传递给相应的对象&#xff0c…

海康威视摄像头配置RTSP协议访问、onvif协议接入、二次开发SDK接入

一、准备工作 (1)拿到摄像头之后,将摄像头电源线插好,再将网线插入到路由器上。 (2)将自己的笔记本电脑也连接到路由器网络,与摄像头出在同一个局域网。 二、配置摄像头 2.1 激活方式选择 第一次使用设备需要激活,在进行配置。 最简单,最方便的方式是选择浏览器激…

uniapp创建项目入门【详细】

大家在学习vue和微信小程序之后,就可以开始来学习uniapp了,在uniapp中,一套代码可以跨越所有的平台,可以很方便的维护。接下来我们先来学习如何创建uinapp的项目 一、uniapp的创建需求 大家只要会vue和微信小程序的基础来学习unia…

在CentOS7安装部署GitLab服务

CentOS 7 安装 Gitlab 官方安装教程:https://about.gitlab.com/install/ 参考安装教程:https://developer.aliyun.com/article/74395 安装配置 Step1:配置yum源 vim /etc/yum.repos.d/gitlab-ce.repo存入以下内容: [gitlab-c…

目标分割后 opencv 轮廓骨架计算

opencv获取轮廓 contours, hierarchy = cv2.findContours(mask_i, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)获取分割图像的骨架 # 中轴变换 得到裂缝的骨架使用 skimage.morphology.skeletonize 函数对二值化图像进行骨架提取。skeleton = skeletonize(mask_i, method

浅析 String

浅析String 一、创建字符串二、字符串与常量池三、字符串的不可变性四、字符串的拼接五、StringBuilder和StringBuffer 一、创建字符串 //三种常用的构造字符串的方式public static void main(String[] args) {String str1 "hello";String str2 new String("w…

恢复swp文件

swp文件_.swp文件_luminous_you的博客-CSDN博客 三、恢复源文件 正常URL:xxx/m.php 则尝试URL:xxx/.m.php.swp下载.swp文件代码 假设你的swp文件叫’.m.php.swp’ 可用带-r参数编辑#vi -r m.php 然后wq保存即可

图论 <最短路问题>模板

图论 <最短路问题> 有向图 1.邻接矩阵&#xff0c;稠密图 2.邻接表 &#xff08;常用&#xff09;单链表&#xff0c;每一个点都有一个单链表 &#xff0c;插入一般在头的地方插&#xff0c; 图的邻接表的存储方式 树的深度优先遍历 特殊的深度优先搜索&#xff0c…

Python检查端口是否打开(七种方法)

sock.connect_ex 使用socket模块的connect_ex来判断端口是否打开&#xff0c;如果返回值是0表示连接成功&#xff0c;端口打开&#xff0c;否则端口关闭。 import socketdef check_port(ip, port): sock socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeo…

Python导出SqlServerl数据字典为excel

sql代码 SELECTtableName D.name ,tableIntroduce isnull(F.value, ),sort A.colorder,fieldName A.name,catogary B.name,bytes A.Length,lengths COLUMNPROPERTY(A.id, A.name, PRECISION),scales isnull(COLUMNPROPERTY(A.id, A.name, Scale), 0),isOrNotNull Cas…

springboot 对接 minio 分布式文件系统

1. minio介绍 Minio 是一个基于Go语言的对象存储服务。它实现了大部分亚马逊S3云存储服务接口&#xff0c;可以看做是是S3的开源版本&#xff0c;非常适合于存储大容量非结构化的数据&#xff0c;例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等&#xff0c;而一个对象…

Mac OS键盘常用快捷键

图形按键⌘Command 键⌃Control 键⌥Option 键⇧Shift 键⇪Caps Lockfn功能键 常用快捷键剪切、拷贝和粘贴 您可以在大多数 app 中使用这些快捷键来剪切、拷贝或粘贴选中的项目。其中包括文本、图片、音乐等等。您甚至可以在 Finder 中拷贝和粘贴文件&#xff0c;来将文件拷贝到…

Qt能跨多少个平台?Qt能支持多少个平台?

2023年8月5日&#xff0c;周日下午 目录 Qt所支持的平台更多关于Qt支持的信息 Qt所支持的平台 图中显示的平台都支持。 想要更详细的平台支持信息可以查看&#xff1a;Supported Platforms | Qt 5.15 更多关于Qt支持的信息 Qt - 支持的平台及语言

MongoDB 入门

1.1 数据库管理系统 在了解MongoDB之前需要先了解先数据库管理系统 1.1.1 什么是数据&#xff1f; 数据&#xff08;英语&#xff1a;data&#xff09;&#xff0c;是指未经过处理的原始记录。 一般而言&#xff0c;数据缺乏组织及分类&#xff0c;无法明确的表达事物代表的意…

Spring xml 方式整合mybatis 第三方框架

Spring整合MyBatis MyBatis提供了mybatis-spring.jar专门用于两大框架的整合。 ①&#xff1a;第一步&#xff1a; 导入MyBatis整合Spring的相关坐标&#xff1b; <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring --> <dependency><groupI…

一步一步介绍如何使用 OpenCV 创建虚拟笔和橡皮擦--附源码

文末提供相关源码下载 如果您只需在空中挥动笔即可虚拟地绘制一些东西,并且它实际上会将其绘制在屏幕上,那不是很酷吗?如果我们不使用任何特殊的硬件来实际实现这一点,可能会更有趣,只需简单的计算机视觉就可以,事实上,我们甚至不需要使用机器学习或深度学习来实…

代码随想录算法训练营第40天 343. 整数拆分 96.不同的二叉搜索树

343. 整数拆分 class Solution {public int integerBreak(int n) {if(n 2|| n 3) return n-1;if(n 4) return 4;int product 1;while( n > 4){product * 3;n-3;}return product *n;} }

服务器中了malox勒索病毒后怎么办怎么解决,malox勒索病毒解密数据恢复

服务器遭受Malox勒索病毒攻击后&#xff0c;快速解密并恢复数据至关重要&#xff0c;以便减少更大的经济损失。近期&#xff0c;新的一波malox勒索病毒正在肆虐&#xff0c;我们收到很多企业的求助&#xff0c;企业的服务器数据库遭到了malox勒索病毒攻击&#xff0c;导致系统内…

Spring框架中的Bean的生命周期

Spring Bean 的生命周期总体分为四个阶段&#xff1a;实例化 》属性注入》初始化》销毁 实例化&#xff1a; &#xff08;1&#xff09;实例化bean&#xff1a;根据配置文件中Bean的定义&#xff0c;利用java Reflection 反射技术创建Bean的实例&#xff01; 属性注入&#…

如何使用win10专业版系统自带远程桌面公司内网电脑,从而实现居家办公?

使用win10专业版自带远程桌面公司内网电脑 文章目录 使用win10专业版自带远程桌面公司内网电脑 在现代社会中&#xff0c;各类电子硬件已经遍布我们身边&#xff0c;除了应用在个人娱乐场景的消费类电子产品外&#xff0c;各项工作也离不开电脑的帮助&#xff0c;特别是涉及到数…