zoukankan      html  css  js  c++  java
  • supervisor管理flink

    异常现象

           supervisor启动flink后便无法再次管理flink supervisor无法删除flink的java进程

           启动命令方式

           

         start-cluster.sh脚本中有一些shell配置指令 不单单是一条启动指令

         flink安装包中自带启动和停止的脚本

     

       要求supervisor管理flink的时候不能使用默认的管理方式

    supervisor自定义配置

         supervisord中当有一个命令这反过来又产生另一个过程,supervisord无法杀死它
         当我运行这个从supervisord并尝试从supervisorctl停止,只有顶级的过程就会被杀死,但不是实际的Java进程
         选项stopasgroup=true应在supervisord程序段被设置为停止,不仅父进程,而且子进程

         启动flink后主进程会自动创建很多的子进程

       

       所以使用supervisord终止flink进程的时候不能使用supervisor默认只杀掉子进程中的主进程的方式 而是需要杀掉整个子进程的进程组

       flink被supervisor成功启停

       

     flink前后台启动方式设置

       前台启动   "$FLINK_BIN_DIR"/jobmanager.sh start-foreground

        

     后台启动结果

        

    前后台启动方式进程查询结果

         前台方式只启动一个进程

         

         后台方式启动了七个进程

        

       后台方式启动调试

       

      前台方式启动调试

       

     解决方式

            

            

            supervisor可以完全正常启动flink服务

            flink启动异常

               

               修改flink.ini

                   添加enviroment变量   

                  

                 

    [program:flink]
    directory=/app/taishi/flink/flink-1.11.1/
    command=/app/taishi/flink/flink-1.11.1/bin/start-cluster.sh
    environment=JAVA_HOME="/app/taishi/jdk"
    process_name=%(program_name)s
    autostart=true
    startsecs=60
    user=admin
    stopasgroup=true
    redirect_stderr=true
    stdout_logfile_maxbytes=10MB
    stdout_logfile_backups=10
    stdout_logfile=/app/taishi/logs/flink_supervisord.log
    原来的ini
    [program:flinkcluster]
    directory=/app/taishi/flink/flink-1.11.1/
    command=/app/taishi/flink/flink-1.11.1/bin/start-cluster.sh
    environment=JAVA_HOME="/app/taishi/jdk",CLASSPATH=".:/app/taishi/jdk/lib/dt.jar:/app/taishi/jdk/lib/tools.jar:/app/taishi/jdk/lib/libsigar-amd64-linux.so",PATH="/app/taishi/jdk/bin:%(ENV_PATH)s"
    priority=220
    autostart=true
    autorestart=false
    stopasgroup=true
    killasgroup=true
    process_name=%(program_name)s
    user=root
    redirect_stderr=true
    stdout_logfile_maxbytes=10MB
    stdout_logfile_backups=10
    stdout_logfile=/app/taishi/logs/flinkcluster_supervisord.log
    最新的ini
  • 相关阅读:
    Codeforces Round #319 (Div. 2) D
    因为网络请求是 异步的,
    ios真蛋疼,
    单例模式的两种实现,
    jump, jump,
    一点 误删,
    关于代理,
    button上的两个手势,
    数据,
    header 的蓝色,
  • 原文地址:https://www.cnblogs.com/yxh168/p/13964846.html
Copyright © 2011-2022 走看看