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: elasticsearch

ES_HOME=/var/local/elasticsearch

start(){                           
        su - elastic -c "$ES_HOME/bin/elasticsearch -d -p pid"
        echo "es is started"
}
stop(){                                
        pid=`cat $ES_HOME/pid`
        kill -9 $pid
        echo "es is stopped"
}
status(){
        ps aux | grep $ES_HOME
}
restart(){              
        stop
        sleep 1
        start
}
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: kibana

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

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Namecheap 便宜域名注册使用,直接购买

FREENOM免费域名不能注册了,现在只能自己动手注册便宜的域名,前面我们也记录了不能注册FREENOM免费域名不能注册怎么办,不能注册FREENOM免费域名,怎么办,这里是解决方案! 注册6元域名。 现在我们又多了一个…

tomcat上部署jpress

一.确保有jdk,tomcat和mysql环境 二.新建jpress数据库,新建jpress用户并赋予所有权限 三.将jpress的war上传到tomcat/apache-tomcat-8.5.70/webapps,具体根据你的实际tomcat安装路径为准,上传完成后他会自己解包 四.到浏览器完…

LangChain手记 Overview

整理并翻译自DeepLearning.AILangChain的官方课程:Overview 综述(Overview) LangChain是为大模型应用开发设计的开源框架 LangChain目前提供Python和JavaScript(TypeScript)两种语言的包 LangChain的主攻方向是聚合和…

探讨|使用或不使用机器学习

动动发财的小手,点个赞吧! 机器学习擅长解决某些复杂问题,通常涉及特征和结果之间的困难关系,这些关系不能轻易地硬编码为启发式或 if-else 语句。然而,在决定 ML 是否是当前给定问题的良好解决方案时,有一…

【Renpy】设置选项不满足条件禁止选择

【要求】如果某个属性不满足某个要求,则无法选择这个选项。 【版本】Renpy 8.1.1 【实现】 1.在options.rpy文件中添加 define config.menu_include_disabled True 2.在选项中增加if条件。 menu:"Yes" if money > 20: ##如果money小于20这个选项…

Docker desktop使用配置

1. 下载安装 https://www.docker.com/ 官网下载并安装doker desktop 2. 配置镜像 (1)首先去阿里云网站上进行注册:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors (2)注册完成后搜索:容…

大数据技术之Hadoop(二)

目录 一、Hadoop的诞生 二、大数据概述 三、大数据软件生态 3.1 数据存储相关技术 3.2 数据计算相关技术 3.3 数据传输相关技术 四、什么是Hadoop 本篇主要讲解大数据的核心概念以及Hadoop的基本介绍。 一、Hadoop的诞生 大数据的发展与日益庞大的数据量是密不可分的。从…

Android 网络协议与网络编程

一、TCP/IP协议 Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联 协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP 协议组成。协议采用了4层的层级结构。…

(15)Qt绘图(two)

目录 坐标变换 平移坐标轴 缩放坐标轴 旋转坐标轴 定时器加坐标轴旋转实现动画旋转 transform旋转(可设置旋转轴) 绕X轴旋转 绕Y轴旋转 绕Z轴旋转 错切 Y轴错切 X轴错切 画家的保存与坐标复原 基本图形绘制 绘制点 绘制线 绘制矩形 普…

carla中lka实现(一)

前言: 对于之前项目中工作内容进行总结,使用Carla中的车辆进行lka算法调试,整体技术路线: ①在Carla中生成车辆,并在车辆上搭载camera,通过camera采集图像数据; ②使用图像处理lka算法&#…

Python入门自学进阶-Web框架——38、redis、rabbitmq、git

缓存数据库redis: NoSQL(Not only SQL)泛指非关系型的数据库。为了解决大规模数据集合多重数据类的挑战。 NoSQL数据库的四大分类: 键值(Key-Value)存储数据库列存储数据库文档型数据库图形(…

STM32基础入门学习笔记:核心板 电路原理与驱动编程

文章目录: 一:LED灯操作 1.LED灯的点亮和熄灭 延迟闪烁 main.c led.c led.h BitAction枚举 2.LED呼吸灯(灯的强弱交替变化) main.c delay.c 3.按键控制LED灯 key.h key.c main.c 二:FLASH读写程序(有…

C语言预处理命令 #error 学习

#error命令是C/C语言的预处理命令之一,当预处理器预处理到#error命令时将停止编译并输出用户自定义的错误消息。 如下代码输出数字1000,如果加了 #error,构建时不会通过,提示出错如下; 这可能在大型项目中比较有用&am…

Ubuntu 22.04安装和使用ROS1可行吗

可行。 测试结果 ROS1可以一直使用下去的,这一点不用担心。Ubuntu会一直维护的。 简要介绍 Debian发行版^_^ AI:在Ubuntu 22.04上安装ROS1是可行的,但需要注意ROS1对Ubuntu的支持只到20.04。因此,如果要在22.04上安装ROS1&am…

使用webpack插件webpack-dev-server 出现Cannot GET/的解决办法

问题描述 文档地址深入浅出webpack 使用 DevServer运行webpack,跑起来之后提示Cannot GET/: 解决方案: 查阅官方文档 根据目录结构修改对应的配置: 然后就可以成功访问:

帆软设计器报表加载不出折线图的原因

最近在用帆软设计器做可视化图表。偶有遇到因为数据集的字段类型导致加载不出折线,现记录如下。做报表的同行可以参考。 数据库使用了 Oracle 11g。数据集的 SQL 代码片是之前用在另一个单元格报表里面的。页面上有一个率是直接计算得出,我为了方便、就…

Java开发 - Redis事务怎么用?

前言 最近博主感觉捅了Redis窝,从Redis主从,哨兵,集群,集群原理纷纷讲了一遍,不知道大家都学会了多少,想着送佛送到西,不如再添一把火,所以今天带给大家的博客是Redis事务&#xff…

Linux基本开发工具(一)

文章目录 Linux基本开发工具(一)Linux安装和卸载软件Linux 软件包管理器 yum关于sudo命令关于yum源的换源问题 vim编辑器的使用vim三种模式(常见)vim的基本操作vim配置 Linux基本开发工具(一) Linux安装和…

探秘手机隐藏的望远镜功能:开启后,观察任何你想看的地方

当今的智能手机不仅仅是通信工具,它们蕴藏着各种隐藏的功能,其中之一就是让你拥有望远镜般的观察能力。是的,你没有听错!今天我们将探秘手机中隐藏的望远镜功能,这项神奇的功能可以让你打开后,轻松观察任何…

/usr/bin/ld: 找不到 can‘t find -xxx++

ld是一个链接器文件,后面报错一般都是什么库找不到,so文件 我们去根目录下全局找一下该文件 cd / find -name *libstdc.so*一般都会在lib64下面找到,注意后面带版本号的是实际文件 我们需要把他复制到lib文件下,ld找的是软连接文…