storm任务启动过程中一个worker启动失败,通过supervisor日志发现一直在尝试启动,最后定位到时worker的端口被其他进程占用了导致启动失败,尤其是当机器上有大量短连接时会增加worker端口被占的几率。
解决办法
- 其他服务避开worker端口
- 通过内核参数配置将storm使用到的端口配置成以监听的方式启动
三种查看随机端口范围
sysctl net.ipv4.ip_local_port_range net.ipv4.ip_local_port_range = 1024 65000 cat /etc/sysctl.conf |grep local net.ipv4.ip_local_port_range = 1024 65000 cat /proc/sys/net/ipv4/ip_local_port_range 1024 65000
如果storm使用的端口在这个范围内就有冲突的几率。
配置预留端口
echo "5710-5714,15710-15714" > /proc/sys/net/ipv4/ip_local_reserved_ports shell> vim /etc/sysctl.conf net.ipv4.ip_local_reserved_ports = 5710-5714,15710-15714 shell> sysctl -p
net.ipv4.ip_local_reserved_ports描述
ip_local_reserved_ports - list of comma separated ranges Specify the ports which are reserved for known third-party applications. These ports will not be used by automatic port assignments (e.g. when calling connect() or bind() with port number 0). Explicit port allocation behavior is unchanged. The format used for both input and output is a comma separated list of ranges (e.g. "1,2-4,10-10" for ports 1, 2, 3, 4 and 10). Writing to the file will clear all previously reserved ports and update the current list with the one given in the input. Note that ip_local_port_range and ip_local_reserved_ports settings are independent and both are considered by the kernel when determining which ports are available for automatic port assignments. You can reserve ports which are not in the current ip_local_port_range, e.g.: $ cat /proc/sys/net/ipv4/ip_local_port_range 32000 61000 $ cat /proc/sys/net/ipv4/ip_local_reserved_ports 8080,9148 although this is redundant. However such a setting is useful if later the port range is changed to a value that will include the reserved ports. Default: Empty
相关推荐
一次特殊的storm端口占用storm任务迁移, 老集群下线迁移到新集群, 出现一个诡异的问题, 任务死活起不来总是卡主, 卡在链接其他worker上, 也没细
- **supervisor.slots.ports**:定义worker进程可以使用的端口列表,决定了每台worker机器可运行的worker进程数量。例如,`[6700, 6701, 6702, 6703]`表示最多可运行4个worker进程。 5. **启动后台进程**: 最后...
* Worker:Storm 的执行节点,负责执行具体的计算任务。 Storm 属性 Storm 的主要属性包括: * fault-tolerant:Storm 可以自动恢复故障节点,保证系统的高可用性。 * scalable:Storm 可以根据需要水平扩展,...
### Storm简介及安装知识点梳理 #### 一、Storm简介 **Storm** 是一款由BackType公司开发的分布式实时计算系统,后被Twitter收购并开源。它主要用于处理大规模的数据流,能够简单、高效、可靠地处理实时数据。...
Storm通过Master/Worker架构实现分布式部署,主要由以下几部分组成: - **Nimbus**:Storm集群的主节点,负责管理整个集群,分配任务到各个Worker节点上执行。 - **Supervisor**:每个Worker节点上的管理进程,负责...
4. **Storm/supervisors/**:存储 Supervisor 机器的运行统计信息,包括最近一次更新时间、主机名、supervisor-id、已使用的端口列表、所有端口列表和运行时间等。 5. **Storm/errors/<topology-id>/<component-id>...
"Web Worker版调用Face-Api.js"是一个解决方案,它利用Web Worker技术来封装并异步执行Face-API.js库,从而避免阻塞主线程,提供高性能的用户体验。以下是关于这个主题的详细知识点: 1. **Web Worker**:Web ...
NextJS Worker示例这是使Web Worker在NextJS项目中运行的示例。 要使用worker-loader将Web Worker加载到NextJS站点上,并允许在其worker上运行babel等webpack加载器,必须覆盖构建输出路径。 感谢。 // next.config....
Apache Storm 是一个分布式实时计算系统,它被设计用于处理大规模数据流,提供高吞吐量、低延迟的数据处理能力。在大数据领域,Storm 被广泛应用于实时分析、在线机器学习、持续计算、数据集成以及任何需要实时处理...
Apache Storm 是一个开源的分布式实时计算系统,它允许开发者处理无界数据流,提供高度容错性和可扩展性。在本教程中,我们将详细介绍如何安装和配置Apache Storm 1.0.6版本。 首先,了解Storm的核心概念是必要的。...
2. **配置ThinkPHP5**:在`config.php`中添加GatewayWorker的配置项,包括服务器地址、端口、业务逻辑工作进程数等。 3. **创建WebSocket服务**:在ThinkPHP5的应用目录下创建一个WebSocket服务入口文件,如`public...
Storm 的架构主要由四个组件组成:Nimbus、Supervisor、Worker 和 Zookeeper。 * Nimbus:负责接收用户提交的 topology,并将其分配给 Supervisor。 * Supervisor:负责管理多个 Worker,监控 Worker 的状态,并将...
命令php think worker:gateway在windows下运行...根据GatewayWorker-for-win提供的demo修改的 本资源依赖GatewayWorker扩展,请先安装扩展。 使用方法,把解压后的文件夹放到项目根目录,双击start_for_win.bat,启动
在Storm中,数据流被抽象为持续不断的Tuple(元组)序列,这些Tuple在网络中的worker节点间进行分布式处理,保证每个消息至少被处理一次(At-Least-Once Processing Guarantees)。这使得Storm非常适合于实时数据...
本文档是关于Storm源码的详细走读笔记,主要分析了Storm的启动场景、Topology提交过程、worker进程中的线程使用情况、消息传递机制以及 TridentTopology的创建和ack机制等多个方面。 首先,文档提到了Storm集群中的...
**Storm笔记概述** Storm是一个分布式实时计算系统,由Twitter开源并广泛应用于实时数据处理领域。本笔记主要围绕Storm的核心概念、起源、架构、组件、原理以及应用场景进行详细讲解。 **一、Storm概念** Storm...
21. **supervisor.slots.ports**:supervisor上可用于运行workers的端口列表,每个worker占用一个端口。 22. **supervisor.childopts**:配置supervisor守护进程的JVM选项。 23. **supervisor.worker.timeout.secs...
Storm的核心组件包括:Nimbus(主控节点)、Supervisor(工作节点)、Worker进程以及Spout和Bolt。Nimbus负责任务调度,Supervisor管理worker进程,而worker则执行实际的计算任务。Spout是数据源,负责生成数据流;...
1. **Storm架构**:Storm的核心组件包括nimbus(主控节点)、supervisor(工作节点)、worker进程、spout(数据源)和bolt(处理逻辑)。Nimbus负责任务调度,Supervisor管理worker进程,worker运行spout和bolt实例...