supervisor---elasticsearch 采坑回顾
supervisor 是一个可以管理进程的软件,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。比如我们要用它管理elasticsearch 就可以把管理es的专属用户密码 写入配置文件。
- 网上有很多supervisor的安装教程,也比较简单。这里就不再赘述。开始使用的时候需要先看一看 配置文件 路径:/etc/supervisord.conf 。

因为我们可能会用 supervisor 管理很多进程 写在一个文件会很大,所以通常需要 每一个 进程独立出一个 以 .ini 为后缀的配置文件 单独管理。
按照配置文件默认的加载路径 supervisord.d/ 下创建了 elasticsearch.ini 文件。

command=/usr/local/elasticsearch-6.6.1/bin/elasticsearch ; 运行程序的命令
autorestart=true ; 程序意外退出是否自动重启
autostart=true ; 是否自动启动
stderr_logfile=/var/log/supervisor/elasticsearch_err.log ; 错误日志文件
stdout_logfile=/var/log/supervisor/elasticsearch_out.log ; 输出日志文件
environment=JAVA_HOME=/usr/local/jdk1.8.0_201 ; 进程环境变量
user=ela ; 进程执行的用户身份
password=ela
stopsignal=INT
startsecs=10 ; 自动重启间隔
写入上图中的配置信息(当时没有写 environment JAVA_HOME 的配置)
所以 执行 supervisorctl reload 、 supervisorctl restart elasticsearch 总是失败。
2、开始排错 (在坑里的感觉真不好)

第一个直觉就是去查看 supervisor的日志了 以为 elasticsearch 根本就没启动 也不会输出 日志


所以一直在查 exit status 1; not expected elasticsearch entered FATAL state, too many start retries too quickly 这个问题 ,然后 会发现管理很多其他的 进程 出错时也会 报这种错 也试了很多 搜到的 解决方法 ,但是结果肯定都不适用。
3、出坑
找解决方法找的 都眼疼了 。 偶然的契机我去 看了眼 elasticsearch.ini 配置文件中 指定的 输出日志 和 错误 输出日志 。惊奇的发现 人家已经默默滴 记录了好多日志啦(手动捂脸) 。

所以 直接打开 error 日志

所以 真相浮出水面 直接去配置文件添加 JAVA_HOME 环境变量 再重新reload 、 start 终于运行了。

supervisor---elasticsearch 采坑回顾的更多相关文章
- java采坑之路
判断相等 字符串判断相等 String str1 = null; String str2 = "java金融"; // str1.eq ...
- Redis集群搭建采坑总结
背景 先澄清一下,整个过程问题都不是我解决的,我在里面就是起了个打酱油的角色.因为实际上我负责这个项目,整个过程也比较清楚.之前也跟具体负责的同事说过,等过段时间带他做做项目复盘.结果一直忙,之前做的 ...
- Cloudera Manager 5.9 和 CDH 5.9 离线安装指南及个人采坑填坑记
公司的CDH早就装好了,一直想自己装一个玩玩,最近组了台电脑,笔记本就淘汰下来了,加上之前的,一共3台,就在X宝上买了CPU和内存升级了下笔记本,就自己组了个集群. 话说,好想去捡垃圾,捡台8核16线 ...
- angular采坑记录
在angular中会遇到一些莫名的问题,导致不能完成想要的功能,可能是某项用法使用错误,或许是angular相对应不支持,或者是我们功力根本就没有达到.为了在每次采坑之后能有所收获,再遇到时能理解其根 ...
- 分布式改造剧集之Redis缓存采坑记
Redis缓存采坑记 前言 这个其实应该属于分布式改造剧集中的一集(第一集见前面博客:http://www.cnblogs.com/Kidezyq/p/8748961.html),本来按照顺序 ...
- 采坑:python base64
需求: 读取文本内容,对字符串进行base64加密 >>> str = 'aaaaaaaaaaaaaaaaaaa\nbbbbbbbbbbbbbbbbbbbbbbbbbbb\nccc ...
- Hadoop环境搭建--Docker完全分布式部署Hadoop环境(菜鸟采坑吐血整理)
系统:Centos 7,内核版本3.10 本文介绍如何从0利用Docker搭建Hadoop环境,制作的镜像文件已经分享,也可以直接使用制作好的镜像文件. 一.宿主机准备工作 0.宿主机(Centos7 ...
- Spring Cloud Config采坑记
1. Spring Cloud Config采坑记 1.1. 问题 在本地运行没问题,本地客户端服务能连上本地服务端服务,可一旦上线,发现本地连不上线上的服务 服务端添加security登录加密,客户 ...
- rabbitmq在ios中实战采坑
1. rabbitmq在ios中实战采坑 1.1. 问题 ios使用rabbitmq连接,没过多久就断开,并报错.且用android做相同的步骤并不会报错,错误如下 Received connecti ...
随机推荐
- DOS命令将黑框中查询到的信息保存到TXT等文件里
- android Service not registered
Caused by: java.lang.IllegalArgumentException: Service not registered:com.broadcom.bt.app.settings.S ...
- css中的绝对定位和相对定位(详解,总结)
css中的绝对定位和相对定位(详解,总结) 总结: 设置绝对定位或者相对定位后都从文档中浮起来了,区别是相对定位还占着原来的位置,绝对定位不占着原来的位置,可以种z-index来改变元素的浮动的堆叠次 ...
- [python基础] Flasky-表单WTForms支持的html字段和内建函数
WTForms 支持的HTML 标准字段如表4-1 所示.表4-1 WTForms支持的HTML标准字段字段类型 说 明StringField 文本字段T ...
- bzoj4373 算术天才⑨与等差数列——线段树+set
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4373 一个区间有以 k 为公差的数列,有3个条件: 1.区间 mx - mn = (r-l) ...
- Java -JVM:JVM百科
ylbtech-Java -JVM:JVM百科 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机 ...
- Watchcow(欧拉回路)
http://poj.org/problem?id=2230 题意:给出n个field及m个连接field的边,然后要求遍历每条边仅且2次,求出一条路径来. #include <stdio.h& ...
- C/C++中输入多组数据方法
--------开始-------- 对于刚开始学编程的人来说每次基本上就是一次数据输入,多次的话基本也是会给定一个数组的大小,但随着做刷算法题开始,题目有的会不直接告诉输入几组数据,基本输入都是多组 ...
- [编码]ASCII、GBK、Unicode(万国码) 和 UTF-8
American ASCII编码 (American Standard Code for Information Interchange,美国信息互换标准代码) China gbk编码 ...
- Vue掉坑记
本文章汇总学习过程中掉入和不理解的坑,会持续更新,请保持关注 1.过滤器类 搜索过滤 2.修饰符 修饰符汇总 3.webpack webpack+vuecli打包路径 4.Vue后台管理框架 组件后台 ...