Jstorm运维经验

简介: Jstorm运维经验

1.启动supervisor或nimbus最好是以后台方式启动, 避免终端退出时向jstorm发送信号,导致jstorm莫名其妙的退出

nohup jstorm supervisor >/dev/null 2>&1 &

2.推荐使用admin用户启动所有的程序, 尤其是不要用root用户启动web ui
3.在安装目录下,建议使用jstorm-current链接, 比如当前使用版本是jstorm 0.9.4, 则创建链接指向jstorm-0.9.4, 当以后升级时, 只需要将jstorm-current链接指向新的jstorm版本。

ln -s jstorm-0.9.4 jstorm-current

4.将JStorm的本地目录和日志配置到一个公共目录下, 比如/home/admin/jstorm_data 和/home/admin/logs, 不要配置到JSTORMHOME/data和JSTORMHOME/data和JSTORM_HOME/logs,当升级时,替换整个目录时, 容易丢失所有的本地数据和日志。

5.JStorm支持环境变量JSTORM_CONF_DIR, 当设置了该变量时, 会从该目录里读取storm.yaml文件, 因此建议设置该变量,该变量指定的目录存放配置文件storm.yaml, 以后每次升级时,就可以简单的替换目录就可以了
6.建议不超过1个月,强制重启一下supervisor, 因为supervisor是一个daemon进程, 不停的创建子进程,当使用时间过长时, 文件打开的句柄会非常多,导致启动worker的时间会变慢,因此,建议每隔一周,强制重启一次supervisor
7.Storm web ui推荐使用apache tomcat 7.x, 默认的端口是8080, 如果需要将80 端口重定向到8080时, 可以用root执行命令:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

8.Jvm GC 需要使用CMS GC 方式, JStorm默认已经设置, 使用Storm的朋友需要类似的设置,

worker.childopts: "-Xms1g -Xmx1g -Xmn378m -XX:SurvivorRatio=2 -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=65"

9.对于一些重要的应用,可以对大集群进行分组, 修改配置文件的 “storm.zookeeper.root” 和 “nimbus.host”

10.Zeromq推荐2.1.7

64位java 就需要使用64位zeromq
在64位OS上使用32位java, 编译zeromq 增加flag –m32

11.对于应用使用ZK较频繁的,需要将JStorm的ZK 和应用的ZK 隔离起来,不混在一起使用

12.nimbus节点上建议不运行supervisor, 并建议把nimbus放置到ZK 所在的机器上运行
13.推荐slot数为 ”CPU 核 - 1“, 假设24核CPU, 则slot为23
14.配置cronjob,定时检查nimbus和supervisor,一旦进程死去,自动重启
15.ZK 的maxClientCnxns=500
16.Linux对外连接端口数限制,TCP client对外发起连接数达到28000左右时,就开始大量抛异常,需要

# echo "10000 65535" > /proc/sys/net/ipv4/ip_local_port_range

作者:glowd
原文:https://blog.csdn.net/zengqiang1/article/details/78450956

相关文章
|
运维 Apache 流计算
《基于Apache Flink的平台化构建及运维优化经验》电子版地址
基于Apache Flink的平台化构建及运维优化经验
116 0
《基于Apache Flink的平台化构建及运维优化经验》电子版地址
|
运维
分享一些个人总结的阿里云产品使用和运维的经验
个人最近三年阿里云使用和运维经验的总结分享。年底我终于把它写成了一个文档,希望分享给大家。我做的都是基础的运维,没什么高深的内容。可能还会有错误,请大家批评指正!
422 0
|
监控 关系型数据库 应用服务中间件
|
10天前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
32 4
|
6天前
|
存储 运维 监控
高效运维:从基础架构到自动化管理的全面指南
【10月更文挑战第11天】 本文将深入探讨如何通过优化基础架构和引入自动化管理来提升企业IT运维效率。我们将从服务器的选择与配置、存储解决方案的评估,到网络的设计与监控,逐一解析每个环节的关键技术点。同时,重点讨论自动化工具在现代运维中的应用,包括配置管理、持续集成与部署(CI/CD)、自动化测试及故障排除等方面。通过实际案例分析,展示这些技术如何协同工作,实现高效的运维管理。无论是IT初学者还是经验丰富的专业人员,都能从中获得有价值的见解和实操经验。
17 1

热门文章

最新文章