zoukankan      html  css  js  c++  java
  • Supervisor 安装配置

    Supervisor的简介

    Supervisor是一个客户端/服务器系统,允许其用户控制类似UNIX的操作系统上的许多进程。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制

     

    Supervisor的安装

     1)安装supervisor

    pip install supervisor --user

     2)  创建配置文件supervisord.conf (建议在root用户下进行,如果之前有机器再用,你可以偷个懒,直接把supervisord.conf文件考过来就可以)

     echo_supervisord_conf > supervisord.conf

     心得:我在部署这一步的时候很奇怪,在root用户下无论怎样执行  pip install supervisor --user这一步,都说  supervisor不存在,具体报错忘记截图了然后我就去了admin用户下,果然,在admin用户下执行就没问题,默认生成的supervisord.conf在admin的家目录下。但是为了不会出现权限问题,我们还是在root用户下就行吧。

    3)关于/etc/supervisord.conf 的配置

    图中红线框起来的位置你需要提前创建否则会报各种错误

    关于这个报错我参考了这篇文章:https://blog.csdn.net/kkevinyang/article/details/80539940

    4)然后执行supervisord -c  /etc/supervisord.conf  ,如果出现报错-bash: supervisord: command not found并且你应经执行过 pip install supervisor --user,你那么你需要自己找一下这个命令的路劲,他可能在admin用户的路径之下,所以执行

    [root@test-hadoop01 ~]# which supervisord
    /usr/bin/which: no supervisord in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/cronolog/sbin:/usr/local/java/bin:/root/bin)
    [root@test-hadoop01 ~]# cd /
    [root@test-hadoop01 /]# find -name [root@test-hadoop01 ~]# which supervisord
    find: paths must precede expression: ~]#
    Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
    [root@test-hadoop01 /]# find -name supervisord
    ./root/.local/share/Trash/files/cloudera-manage/cm-5.16.1/lib64/cmf/agent/build/env/bin/supervisord
    ./root/.local/bin/supervisord
    ./opt/cloudera-manager/cm-5.16.1/lib64/cmf/agent/build/env/bin/supervisord
    find: ‘./proc/13398’: No such file or directory
    ./home/admin/.local/bin/supervisord

    这里就可以发现supervisord命令藏在/home/admin/.local/bin/这个目录之下,所以执行的时候加上全路径就可以

    /home/admin/.local/bin/supervisord -c  /etc/supervisord.conf   其实这里还有坑你的python可能版本不对我在直接执行的时候会出现用python2执行的情况‘,我看了一下原来的机器,用的是python执行的,所以我又在执行命令中加了python的全目录’

    /usr/bin/python /home/admin/.local/bin/supervisord -c /etc/supervisord.conf

    执行完以上命令以后我们可以查看一下是否启动成功

    [root@test-hadoop01 /]# ps -ef |grep supervisord
    root 5237 1 0 Oct30 ? 00:03:42 /usr/bin/python /home/admin/.local/bin/supervisord -c /etc/supervisord.conf  #此处可以看出命令已经启动成功
    root 15985 11736 0 11:04 pts/2 00:00:00 grep --color=auto supervisord
    root 29331 1 0 Oct25 ? 00:04:46 /opt/cloudera-manager/cm-5.16.1/lib64/cmf/agent/build/env/bin/python /opt/cloudera-manager/cm-5.16.1/lib64/cmf/agent/build/env/bin/supervisord
    [root@test-hadoop01 /]#

    关于这个报错我参考了这篇文章:https://blog.csdn.net/kkevinyang/article/details/80539940

     error: <class 'socket.error'>, [Errno 2] No such file or directory: file: <string> line: 1
    
    Error: .ini file does not include supervisorctl section
    
    Exited too quickly (process log may have details) 
    
    CRIT Server 'unix_http_server' running without any HTTP authentication checking

    Unlinking stale socket /var/run/supervisor/supervisor.sock

    解决方案:执行以下命令
    unlink /var/run/supervisor/supervisor.sock
    
    这四个解决方式都是在我上文中有体现的,按照我说的做都是可以避免的。

     最后给大家推荐一篇关于supervisor的博客 他写的非常详细,如果我的博客没能解决您的困惑您可以去他那看一下

    https://www.cnblogs.com/ruanraun/p/supervisor.html
  • 相关阅读:
    推荐系统中相似度综述与对比
    vue+elementui进阶之路eltable中显示图片
    机器学习
    kali (vm虚拟机)桥接模式无法上网
    win10系统怎么删除远程桌面连接记录
    图像相似度匹配——距离大全
    element UI表格单元格展示多张图片
    elementui table中的图片的显示 解决方案
    elementui去掉行选中背景颜色以及单元格合并
    elementplus引入无效 vue3
  • 原文地址:https://www.cnblogs.com/xuziyu/p/11770669.html
Copyright © 2011-2022 走看看