Storm的配置文件一般存放在$STORM_HOME/conf下,通常名为storm.yaml,它符合yaml格式要求。Storm的配置参数对任务的稳定运行以及吞吐率至关重要,这里介绍一下storm常见的配置项参数。
一. storm基本配置
- storm.local.dir: nimbus 和supervisor进程存储一些状态信息(conf或者jars)的本地路径,需要每台storm node单独创建该目录并保证该目录有正确的读写权限;
- storm.log4j2.conf.dir: log4j的配置目录;
- storm.zookeeper.servers: storm严重依赖zookeeper存储状态信息,要保证zookeeper的高可用,最好设置多个zk地址;
- storm.zookeeper.port: 默认2181;
- storm.zookeeper.root: 在zookeeper中存储的根目录,如果多个storm集群公用一个zk集群,需要修改其根目录名称即可;
- storm.session.timeout: 默认20s,nimbus和supervisor和zk的session超时时间,如果log中常用sessiontimeout错误,考虑增加其值或者修改gc参数。该值并不能无限设置,zk有自己的最大session时间(默认20 ticktime);
- storm.zookeeper.connection.timeout:连接超时时间;
- storm.zookeeper.retry.times: 默认5,执行zk操作重试次数;
- storm.zookeeper.retry.interval: 默认1000,即间隔1s;</