深入解析Storm集群资源争用问题及解决方案
1. Storm集群基础配置
Storm集群默认每个工作节点有四个工作进程,分别监听端口6701、6702、6703和6704。在搭建集群初期,这样的配置通常足够,无需立刻追求最佳配置。但如果需要添加端口,要使用如Linux上的 netstat 工具检查端口是否已被占用。
另外,集群中工作节点的数量也需要考虑。若要进行广泛的配置更改,在大量节点上更新配置并重启Supervisor进程是一项繁琐且耗时的任务。建议使用如Puppet(http://puppetlabs.com)这样的工具来自动化每个节点的部署和配置。
2. 更改工作进程(JVM)的内存分配
当遇到工作节点上工作进程内存使用方面的争用问题时,可能需要增加或减少内存分配。以下是具体的操作步骤:
- 问题描述 :工作节点上的工作进程存在内存争用,需要调整内存使用量。
- 解决方案 :可以在每个工作节点的 storm.yaml 配置文件中的 worker.childopts 属性中更改分配给所有工作进程(JVM)的内存量。该属性接受任何有效的JVM启动选项,可用于设置JVM的初始内存分配池( -Xms )和最大内存分配池( -Xmx )。示例如下:
worker.childopts: "...
-Xms512m
-Xmx1024m
...
超级会员免费看
订阅专栏 解锁全文
2113

被折叠的 条评论
为什么被折叠?



