storm如何以后台的方式启动?


最近在学习storm,在配置安装的时候有一些疑问。

正常情况下使用 storm nibums 启动一个 master 节点,如果把终端关掉程序也就停掉了,同样的 kafka 启动也是这样,如果我同时要操作其它的需要再打开一个终端。

而像启动 zookeeper 节点,使用 kServer.sh start 便是以后台方式的运行。找了很久没有看到自带命令如何后台方式运行,而是用 Linux 中的 nohup 的方式,但这样事实上是在后台运行一个 job ,使用 jobs 可以看到当前正在后台运行的任务。

我的问题是:
有没有类似于 zookeeper 那样的自带命令启动就是会以后台的方式运行?

java storm zookeeper

Flaya 9 years, 10 months ago

@Dana_Young 所说,可以自己写一个脚本,像zookeeper的启动脚本一样。个人觉得更好的方式是使用进程管理工具来启动,我使用 supervisor 来启动 storm

  1. 安装 supervisor ;

  2. 添加 supervisor storm 的配置,如下:

      
       [program:storm-nimbus]
    command=/data/storm/bin/storm nimbus
    user=admin
    autostart=false
    autorestart=true
    startsecs=10
    startretries=999
    log_stdout=true
    log_stderr=true
    logfile=/var/log/storm/nimbus.out
    logfile_maxbytes=20MB
    logfile_backups=10
      
     
      
       [program:storm-ui]
    command=/data/storm/bin/storm ui
    user=admin
    autostart=false
    autorestart=true
    startsecs=10
    startretries=999
    log_stdout=true
    log_stderr=true
    logfile=/var/log/storm/ui.out
    logfile_maxbytes=20MB
    logfile_backups=10
      
     
      
       [program:storm-supervisor]
    command=/data/storm/bin/storm supervisor
    user=admin
    autostart=false
    autorestart=true
    startsecs=10
    startretries=999
    log_stdout=true
    log_stderr=true
    logfile=/var/log/storm/supervisor.out
    logfile_maxbytes=20MB
    logfile_backups=10
      
     
  3. 使用 supervisorctl 启动storm:

      
       supervisorctl start storm-nimbus
    supervisorctl start storm-supervisor
    supervisorctl start storm-ui
      
     
エロ階級は曹長 answered 9 years, 10 months ago

没有吧,写个shell脚本不就行了。

flyang answered 9 years, 10 months ago

Your Answer