storm配置详解

  storm的配置文件在${STORM_HOME}/conf/storm.yaml。下面详细说明storm的配置信息。

  java.libary.path:storm本身依赖包的路径,有多个路径的时候使用冒号隔开

  storm.local.dir:storm使用的本地文件系统的目录,storm进程必须对该目录拥有可写的权限

  storm.zookeeper.servers:storm集群对应的zookeeper集群的主机列表

  storm.zookeeper.port:storm集群对应的zookeeper集群的服务端口,默认的端口是2181

  storm.zookeeper.root:storm的元数据在zookeeper中存储的根目录

  nimbus.host:整个storm集群的nimbus节点

   storm.cluster.mode: storm运行模式,集群模式需要设置为distribution

  storm.messaging.transport: storm的消息传输机制,使用Netty的时候设置为backtype.storm.messaging.netty.Context

  nimbus.Supervisor.timeout.secs:storm中每个被发射出去的消息处理的超时时间,该时间影响到消息的处理,同时在Storm UI上kill掉一个topolopy的默认时间(kill动作发出多长时间后才会真正的将该Topolopy杀掉)

  ui.port: storm UI的对外提供HTTP服务的端口

  ui.childopts: storm UI 进程的JAVA参数

  logviewer.childopts: Log Viewer进程的参数设置

  logviewer.port: logviewer进程的端口号(logviewer进程也以HTTP形式提供,需要运行在每个Storm节点上)

  logviewer.appender.name: Storm log4j的appender,设置的名字对应于${STORM_HOME}/logback/cluster.xml中对应的appender,${STORM_HOME}/logback/cluster.xml中可以设置storm的log级别

  supervisor.slots.ports: Storm的slot,最好设置为OS核数的整数倍由于Storm是基于内存的实时计算框架,Solt数不要大于每台物理机可以运行的Solt数:(物理内存-虚拟内存)/每个JAVA进程最大可以暂用的内存数

  worker.childopts: Storm 的work进程的JAVA参数配置,有效的设置该参数可以在Topolopy异常的时候分析异常原因。-Xmx1g -Xms1g -server -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC

  topolopy.debug: 是否开启debug模式,线上建议不开启

  topolopy.acker.executors: Storm通过ack模式保证消息的不丢失,此参数设置每个topolopy的acker数量,建议将该该参数设置在较低的水平。参数也可以在具体的topolopy中覆盖。

  topolopy.max.spout.pending: 一个Spout Task中处于pending状态的最大的Tuple数量。该设置应用与单个Task,而不是Spout和topolopy,可以在具体的topolopy中覆盖。

  值得注意的是storm使用的是yaml做配置文件,因此在每个配置项的冒号后面要跟一个空格

  除了上述的配置外还有两个地方的配置十分的重要

  1.${STORM_HOME}/logback/cluster.xml可以配置storm的日志级别

  2.操作系统的配置,其中有两个配置很重要:open files:当前用户可以打开的文件描述符数量 max user processes:当前用户可以运行的进程数

  可以通过ulimit -a查看操作系统的配置,结果如下:

core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 160168
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65535
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 65536
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

      

原文地址:https://www.cnblogs.com/senlinyang/p/8064836.html