`

解决storm进程自动停止

 
阅读更多

一:解决方案
“Launches the nimbus daemon. This command should be run under supervision with a tool like daemontools or monit. See Setting up a Storm cluster for more information.”官网上推荐我们把nimbus和supervisor运行在daemontools or monit下面。进程被kill掉,自动就会重启。

二:daemontools安装

mkdir -p /package

cd /package/

wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz

等待下载安装包,然后解压编译。

gunzip daemontools-0.76.tar.gz

tar -xpf daemontools-0.76.tar

cd admin/daemontools-0.76/

./package/install

直接编译报错了,错误信息:

 

./compile wait_pid.c
./makelib unix.a alloc.o alloc_re.o buffer.o buffer_0.o buffer_1.o \
	buffer_2.o buffer_get.o buffer_put.o buffer_read.o buffer_write.o \
	coe.o env.o error.o error_str.o fd_copy.o fd_move.o fifo.o lock_ex.o \
	lock_exnb.o ndelay_off.o ndelay_on.o open_append.o open_read.o \
	open_trunc.o open_write.o openreadclose.o pathexec_env.o \
	pathexec_run.o prot.o readclose.o seek_set.o sgetopt.o sig.o \
	sig_block.o sig_catch.o sig_pause.o stralloc_cat.o stralloc_catb.o \
	stralloc_cats.o stralloc_eady.o stralloc_opyb.o stralloc_opys.o \
	stralloc_pend.o strerr_die.o strerr_sys.o subgetopt.o wait_nohang.o \
	wait_pid.o
./load envdir unix.a byte.a 
/usr/bin/ld: errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS reference in envdir.o
/lib64/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [envdir] Error 1

 然后修改src目录下的error.h库文件。

 

vim src/error.h

找到“extern int errno;” 替换成“#include <errno.h>”,然后再编译。

./package/install

到此,提示下面信息表示成功安装。

Copying commands into ./command...
Creating symlink daemontools -> daemontools-0.76...
Making command links in /command...
Making compatibility links in /usr/local/bin...
Creating /service...
Adding svscanboot to inittab...
init should start svscan now.

三:storm ui、nimbus、supervisor配置

首先进入service目录。

cd /service/

 

storm ui的配置:

mkdir ui

cd ui/

vim run

run脚本如下:

#!/bin/bash
exec 2>&1
exec /opt/app/apache-storm-0.9.5/bin/storm ui

chmod 755 run

nimbus的配置:

cd /service/

mkdir nimbus

cd nimbus/

vim run

run脚本如下:

#!/bin/bash
exec 2>&1
exec /opt/app/apache-storm-0.9.5/bin/storm nimbus

chmod 755 run

 

supervisor的配置:

cd /service/

mkdir supervisor

cd supervisor/

vim run

run脚本如下:

#!/bin/bash
exec 2>&1
exec /opt/app/apache-storm-0.9.5/bin/storm supervisor

chmod 755 run

四:启动

 

nohup supervise /service/ui &

nohup supervise /service/nimbus &

nohup supervise /service/supervisor & 五:补充说明 如果不想让某个服务自动重启,用命令ps -ef|grep supervise查看,把相应的进程给kill掉服务就不会自动重启了。

注:我自己操作的ps -ef|grep supervise查看进程,kill不掉这几个进程,永远都kill不掉,最后导致storm变成了僵尸进程,最后用了最笨的办法,把/service/下面的run相关的文件夹删掉,然后ps -ef|grep supervise,再杀进程就可以了,如果需要后期监控,再自己制作run文件吧

转:http://blog.itpub.net/28624388/viewspace-2062528/

分享到:
评论

相关推荐

    Twitter storm

    ### Twitter Storm:实时计算系统详解 #### 背景与定义 ...无论是社交媒体分析还是金融交易处理,Storm都能够提供高效的解决方案。通过结合Spout和Bolt,开发者可以轻松构建复杂的实时数据处理流水线。

    storm原理分析

    2. **Supervisor**:运行在工作节点上的守护进程,负责监听 Nimbus 分配的任务,并启动和关闭 Worker 进程。 3. **Worker**:运行在 Supervisor 上的 Java 进程,用于执行具体的任务。每个 Worker 可以包含多个 ...

    storm0.9.0 linux安装包

    工作者在节点上运行,负责执行拓扑中的任务,而Nimbus和Supervisor是Storm集群的管理组件,Nimbus负责任务调度,Supervisor则在各个节点上管理工作者进程。 安装Storm 0.9.0在Linux上通常涉及以下几个步骤: 1. **...

    storm安装软件包

    总的来说,Apache Storm是一个强大的实时计算框架,对于需要实时处理大量数据的应用场景,如实时广告定向、社交网络分析、物联网设备数据处理等,提供了高效且灵活的解决方案。通过深入理解和实践,我们可以掌握如何...

    Storm实战培训教程.pptx

    - 如果某个处理单元出现故障,Storm能够自动恢复,确保处理单元的持续运行,除非手动停止。 - Storm的这种机制保证了即使在分布式环境中出现硬件或软件故障,数据处理仍能继续,降低了系统的单点故障风险。 5. ...

    storm实时数据分析 用到的技术分析

    工作节点运行Supervisor服务,负责启动、停止和监控工作进程(worker)。工作进程负责执行实际的数据处理任务,而任务(task)是在工作进程中的线程,执行具体的Spout或Bolt任务。 4. Storm内部运行机制:Storm通过...

    Storm配置项详解.docx

    3. **storm.local.dirstorm**:Storm在本地文件系统中使用的目录,用于存储工作目录和日志等数据,确保这个路径对Storm进程是可读写的。 4. **storm.cluster.mode**:Storm集群的运行模式,可以是分布式...

    Storm系统监控脚本

    该脚本用于监控nimbus服务的运行状态,如果检测到nimbus服务挂掉,则会自动重启服务,具有类似守护进程的功能。同时,脚本还会生成监控日志,便于事后查询和分析。 脚本内容细节: - 脚本在后台运行,可以自动检测...

    实时计算开发 - Storm从入门到精通

    2. **容错性**:Storm能够自动检测并重新启动失败的任务。 3. **简单易用**:Storm提供了简洁的API,使得开发者能够轻松编写复杂的流处理逻辑。 4. **支持多种编程语言**:Storm不仅支持Java,还支持其他多种语言,...

    twitter storm

    - **Worker Processes**(工作进程):执行具体的数据处理任务,包括启动和停止拓扑结构。 #### 结论 Twitter Storm提供了一种强大的分布式实时计算解决方案,适用于需要处理无限数据流的应用场景。通过其独特的...

    大数据分析架构师顶级培训课程 Storm基础理论与案例 共57页.pptx

    2011年,Twitter收购BackType后,进一步利用Storm解决实时数据处理问题。在中国,阿里巴巴基于Storm的核心部分使用Java重写,推出了JStorm,优化了性能。 - **特点**: - 开源且免费使用; - 支持多种编程语言; ...

    storm提交topology的过程共1页.pdf.zip

    6. **容错机制**:Storm提供了强大的容错机制,当某个worker进程失败时,它会自动重新分配任务,确保数据处理的连续性。此外,通过设置acker bolts,Storm能实现数据处理的精确一次(exactly-once)语义。 7. **...

    Storm:distributed and fault-tolerant realtime computation

    在 Storm 出现之前,通常使用队列结合多个工作进程的方式来处理实时数据流。这种方式存在诸多问题: - **扩展性差**:每次扩展都需要重新配置或重新部署整个系统。 - **容错性差**:一旦某个工作节点出现故障,整个...

    大数据学习文档.docx

    对于自动化启动和关闭,可以使用`start-dfs.sh`和`stop-dfs.sh`脚本来启动和停止HDFS服务,以及`start-yarn.sh`和`stop-yarn.sh`脚本管理YARN服务。如果遇到权限问题,可能需要在脚本开头添加指定用户身份的代码,如...

    jstorm源码解析之bolt异常处理方法.docx

    快速失败通常意味着一旦检测到错误,就立即停止执行并抛出异常,以便于快速定位和解决问题。而在JStorm中,Worker的频繁重启可能会导致资源浪费和性能影响,特别是在出现大量未知异常时。 另一方面,如果设置的超时...

    电脑蓝屏对照码

    或0xC000016A代码, 那么表示是坏簇造成的, 并且系统的磁盘检测工具无法自动修复, 这时要进入"故障恢复控制台", 用"chkdsk /r"命令进行手动修复. 19、0x0000007B:INACESSIBLE_BOOT_DEVICE ◆错误分析:Windows在启动...

    华为HCIA-大数据认证练试题与答案-202010.pdf

    12. Nimbus 在 Storm 架构中的作用:Nimbus 负责任务调度、资源分配和监控任务执行状态,但不直接启动或关闭工作进程。 13. Topology 运行机制:Storm 中的 Topology 会持续运行,直到手动停止,而不是任务完成后...

    01-Hadoop介绍及CM安装部署.pdf

    - 代理/Agent:安装在每台主机上,负责启动和停止进程、部署配置、触发安装、监控主机。 - 数据库/Database:存储配置和监控信息。通常可以在一个或多个数据库服务器上运行,Cloudera Manager服务和监控后台使用不同...

Global site tag (gtag.js) - Google Analytics