优秀的编程知识分享平台

网站首页 > 技术文章 正文

单服务器多elasticstack实例集群的使用bash脚本开机自启动

nanyue 2024-11-15 22:55:30 技术文章 1 ℃

前提

学习Elasticsearch的时候,在一台服务器上部署了一个拥有四个节点的ES集群,但是每次启动或者重启服务器都需要启动四次es和一次kibana,还是比较麻烦的,于是就写了一个脚本,在服务器启动的时候,自动启动这些服务和应用。

elasticsearch是不建议使用root启动的,所以创建了一个名为elastic的非root用户,用于启动ES。

useradd -M -s /sbin/nologin elastic

脚本的原理也很简单,利用su命令来切换用户,执行后台启动es的命令。因为是多节点,每个节点的目录都是采用node_端口号的命名方式,存放于/opt目录中。

关于es的多节点部署不是这篇文章的重点,这里就不做重点简述,也预设看到这篇文章的您是懂得如何一台服务器部署多个节点。


代码内容

下面是脚本整体内容的代码清单:

#!/bin/bash

su - elastic -c "/opt/node_9200/bin/elasticsearch -d"
su - elastic -c "/opt/node_9201/bin/elasticsearch -d"
su - elastic -c "/opt/node_9202/bin/elasticsearch -d"
su - elastic -c "/opt/node_9203/bin/elasticsearch -d"

su - elastic -c "nohup /opt/kibana/bin/kibana &"

自动开机的脚本很多的情况下是root用户启动的。所以在脚本中使用了su命令来切换到elastic用户,然后只用-c来执行命令。

最近发表
标签列表