`
gaojingsong
  • 浏览: 1182357 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【storm配置参数详解】

阅读更多

 

java.library.path: "/usr/local/lib:/opt/local/lib:/usr/lib"

 

### storm.* configs are general configurations

 

# the local dir is where jars are kept

storm.local.dir: "storm-local"

storm.log4j2.conf.dir: "log4j2"

storm.zookeeper.servers:

    - "localhost"

storm.zookeeper.port: 2181

storm.zookeeper.root: "/storm"

storm.zookeeper.session.timeout: 20000

storm.zookeeper.connection.timeout: 15000

storm.zookeeper.retry.times: 5

storm.zookeeper.retry.interval: 1000

storm.zookeeper.retry.intervalceiling.millis: 30000

storm.zookeeper.auth.user: null

storm.zookeeper.auth.password: null

storm.exhibitor.port: 8080

storm.exhibitor.poll.uripath: "/exhibitor/v1/cluster/list"

storm.cluster.mode: "distributed" # can be distributed or local

storm.local.mode.zmq: false

storm.thrift.transport: "org.apache.storm.security.auth.SimpleTransportPlugin"

storm.principal.tolocal: "org.apache.storm.security.auth.DefaultPrincipalToLocal"

storm.group.mapping.service: "org.apache.storm.security.auth.ShellBasedGroupsMapping"

storm.group.mapping.service.params: null

storm.messaging.transport: "org.apache.storm.messaging.netty.Context"

storm.nimbus.retry.times: 5

storm.nimbus.retry.interval.millis: 2000

storm.nimbus.retry.intervalceiling.millis: 60000

storm.auth.simple-white-list.users: []

storm.auth.simple-acl.users: []

storm.auth.simple-acl.users.commands: []

storm.auth.simple-acl.admins: []

storm.cluster.state.store: "org.apache.storm.cluster.ZKStateStorageFactory"

storm.meta.serialization.delegate: "org.apache.storm.serialization.GzipThriftSerializationDelegate"

storm.codedistributor.class: "org.apache.storm.codedistributor.LocalFileSystemCodeDistributor"

storm.workers.artifacts.dir: "workers-artifacts"

storm.health.check.dir: "healthchecks"

storm.health.check.timeout.ms: 5000

 

### nimbus.* configs are for the master

nimbus.seeds : ["localhost"]

nimbus.thrift.port: 6627

nimbus.thrift.threads: 64

nimbus.thrift.max_buffer_size: 1048576

nimbus.childopts: "-Xmx1024m"

nimbus.task.timeout.secs: 30

nimbus.supervisor.timeout.secs: 60

nimbus.monitor.freq.secs: 10

nimbus.cleanup.inbox.freq.secs: 600

nimbus.inbox.jar.expiration.secs: 3600

nimbus.code.sync.freq.secs: 120

nimbus.task.launch.secs: 120

nimbus.file.copy.expiration.secs: 600

nimbus.topology.validator: "org.apache.storm.nimbus.DefaultTopologyValidator"

topology.min.replication.count: 1

topology.max.replication.wait.time.sec: 60

nimbus.credential.renewers.freq.secs: 600

nimbus.queue.size: 100000

scheduler.display.resource: false

 

### ui.* configs are for the master

ui.host: 0.0.0.0

ui.port: 8080

ui.childopts: "-Xmx768m"

ui.actions.enabled: true

ui.filter: null

ui.filter.params: null

ui.users: null

ui.header.buffer.bytes: 4096

ui.http.creds.plugin: org.apache.storm.security.auth.DefaultHttpCredentialsPlugin

 

logviewer.port: 8000

logviewer.childopts: "-Xmx128m"

logviewer.cleanup.age.mins: 10080

logviewer.appender.name: "A1"

logviewer.max.sum.worker.logs.size.mb: 4096

logviewer.max.per.worker.logs.size.mb: 2048

 

logs.users: null

 

drpc.port: 3772

drpc.worker.threads: 64

drpc.max_buffer_size: 1048576

drpc.queue.size: 128

drpc.invocations.port: 3773

drpc.invocations.threads: 64

drpc.request.timeout.secs: 600

drpc.childopts: "-Xmx768m"

drpc.http.port: 3774

drpc.https.port: -1

drpc.https.keystore.password: ""

drpc.https.keystore.type: "JKS"

drpc.http.creds.plugin: org.apache.storm.security.auth.DefaultHttpCredentialsPlugin

drpc.authorizer.acl.filename: "drpc-auth-acl.yaml"

drpc.authorizer.acl.strict: false

 

transactional.zookeeper.root: "/transactional"

transactional.zookeeper.servers: null

transactional.zookeeper.port: null

 

## blobstore configs

supervisor.blobstore.class: "org.apache.storm.blobstore.NimbusBlobStore"

supervisor.blobstore.download.thread.count: 5

supervisor.blobstore.download.max_retries: 3

supervisor.localizer.cache.target.size.mb: 10240

supervisor.localizer.cleanup.interval.ms: 600000

 

nimbus.blobstore.class: "org.apache.storm.blobstore.LocalFsBlobStore"

nimbus.blobstore.expiration.secs: 600

 

storm.blobstore.inputstream.buffer.size.bytes: 65536

client.blobstore.class: "org.apache.storm.blobstore.NimbusBlobStore"

storm.blobstore.replication.factor: 3

# For secure mode we would want to change this config to true

storm.blobstore.acl.validation.enabled: false

 

### supervisor.* configs are for node supervisors

# Define the amount of workers that can be run on this machine. Each worker is assigned a port to use for communication

supervisor.slots.ports:

    - 6700

    - 6701

    - 6702

    - 6703

supervisor.childopts: "-Xmx256m"

supervisor.run.worker.as.user: false

#how long supervisor will wait to ensure that a worker process is started

supervisor.worker.start.timeout.secs: 120

#how long between heartbeats until supervisor considers that worker dead and tries to restart it

supervisor.worker.timeout.secs: 30

#how many seconds to sleep for before shutting down threads on worker

supervisor.worker.shutdown.sleep.secs: 1

#how frequently the supervisor checks on the status of the processes it's monitoring and restarts if necessary

supervisor.monitor.frequency.secs: 3

#how frequently the supervisor heartbeats to the cluster state (for nimbus)

supervisor.heartbeat.frequency.secs: 5

supervisor.enable: true

supervisor.supervisors: []

supervisor.supervisors.commands: []

supervisor.memory.capacity.mb: 4096.0

#By convention 1 cpu core should be about 100, but this can be adjusted if needed

# using 100 makes it simple to set the desired value to the capacity measurement

# for single threaded bolts

supervisor.cpu.capacity: 400.0

 

### worker.* configs are for task workers

worker.heap.memory.mb: 768

worker.childopts: "-Xmx%HEAP-MEM%m -XX:+PrintGCDetails -Xloggc:artifacts/gc.log -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=1M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=artifacts/heapdump"

worker.gc.childopts: ""

 

# Unlocking commercial features requires a special license from Oracle.

# See http://www.oracle.com/technetwork/java/javase/terms/products/index.html

# For this reason, profiler features are disabled by default.

worker.profiler.enabled: false

worker.profiler.childopts: "-XX:+UnlockCommercialFeatures -XX:+FlightRecorder"

worker.profiler.command: "flight.bash"

worker.heartbeat.frequency.secs: 1

 

# check whether dynamic log levels can be reset from DEBUG to INFO in workers

worker.log.level.reset.poll.secs: 30

 

# control how many worker receiver threads we need per worker

topology.worker.receiver.thread.count: 1

 

task.heartbeat.frequency.secs: 3

task.refresh.poll.secs: 10

task.credentials.poll.secs: 30

 

# now should be null by default

topology.backpressure.enable: true

backpressure.disruptor.high.watermark: 0.9

backpressure.disruptor.low.watermark: 0.4

 

zmq.threads: 1

zmq.linger.millis: 5000

zmq.hwm: 0

 

 

storm.messaging.netty.server_worker_threads: 1

storm.messaging.netty.client_worker_threads: 1

storm.messaging.netty.buffer_size: 5242880 #5MB buffer

# Since nimbus.task.launch.secs and supervisor.worker.start.timeout.secs are 120, other workers should also wait at least that long before giving up on connecting to the other worker. The reconnection period need also be bigger than storm.zookeeper.session.timeout(default is 20s), so that we can abort the reconnection when the target worker is dead.

storm.messaging.netty.max_retries: 300

storm.messaging.netty.max_wait_ms: 1000

storm.messaging.netty.min_wait_ms: 100

 

# If the Netty messaging layer is busy(netty internal buffer not writable), the Netty client will try to batch message as more as possible up to the size of storm.messaging.netty.transfer.batch.size bytes, otherwise it will try to flush message as soon as possible to reduce latency.

storm.messaging.netty.transfer.batch.size: 262144

# Sets the backlog value to specify when the channel binds to a local address

storm.messaging.netty.socket.backlog: 500

 

# By default, the Netty SASL authentication is set to false.  Users can override and set it true for a specific topology.

storm.messaging.netty.authentication: false

 

# Default plugin to use for automatic network topology discovery

storm.network.topography.plugin: org.apache.storm.networktopography.DefaultRackDNSToSwitchMapping

 

# default number of seconds group mapping service will cache user group

storm.group.mapping.service.cache.duration.secs: 120

 

### topology.* configs are for specific executing storms

topology.enable.message.timeouts: true

topology.debug: false

topology.workers: 1

topology.acker.executors: null

topology.eventlogger.executors: null

topology.tasks: null

# maximum amount of time a message has to complete before it's considered failed

topology.message.timeout.secs: 30

topology.multilang.serializer: "org.apache.storm.multilang.JsonSerializer"

topology.shellbolt.max.pending: 100

topology.skip.missing.kryo.registrations: false

topology.max.task.parallelism: null

topology.max.spout.pending: null

topology.state.synchronization.timeout.secs: 60

topology.stats.sample.rate: 0.05

topology.builtin.metrics.bucket.size.secs: 60

topology.fall.back.on.java.serialization: true

topology.worker.childopts: null

topology.worker.logwriter.childopts: "-Xmx64m"

topology.executor.receive.buffer.size: 1024 #batched

topology.executor.send.buffer.size: 1024 #individual messages

topology.transfer.buffer.size: 1024 # batched

topology.tick.tuple.freq.secs: null

topology.worker.shared.thread.pool.size: 4

topology.spout.wait.strategy: "org.apache.storm.spout.SleepSpoutWaitStrategy"

topology.sleep.spout.wait.strategy.time.ms: 1

topology.error.throttle.interval.secs: 10

topology.max.error.report.per.interval: 5

topology.kryo.factory: "org.apache.storm.serialization.DefaultKryoFactory"

topology.tuple.serializer: "org.apache.storm.serialization.types.ListDelegateSerializer"

topology.trident.batch.emit.interval.millis: 500

topology.testing.always.try.serialize: false

topology.classpath: null

topology.environment: null

topology.bolts.outgoing.overflow.buffer.enable: false

topology.disruptor.wait.timeout.millis: 1000

topology.disruptor.batch.size: 100

topology.disruptor.batch.timeout.millis: 1

topology.disable.loadaware: false

topology.state.checkpoint.interval.ms: 1000

 

# Configs for Resource Aware Scheduler

# topology priority describing the importance of the topology in decreasing importance starting from 0 (i.e. 0 is the highest priority and the priority importance decreases as the priority number increases).

# Recommended range of 0-29 but no hard limit set.

topology.priority: 29

topology.component.resources.onheap.memory.mb: 128.0

topology.component.resources.offheap.memory.mb: 0.0

topology.component.cpu.pcore.percent: 10.0

topology.worker.max.heap.size.mb: 768.0

topology.scheduler.strategy: "org.apache.storm.scheduler.resource.strategies.scheduling.DefaultResourceAwareStrategy"

resource.aware.scheduler.eviction.strategy: "org.apache.storm.scheduler.resource.strategies.eviction.DefaultEvictionStrategy"

resource.aware.scheduler.priority.strategy: "org.apache.storm.scheduler.resource.strategies.priority.DefaultSchedulingPriorityStrategy"

 

dev.zookeeper.path: "/tmp/dev-storm-zookeeper"

 

pacemaker.host: "localhost"

pacemaker.port: 6699

pacemaker.base.threads: 10

pacemaker.max.threads: 50

pacemaker.thread.timeout: 10

pacemaker.childopts: "-Xmx1024m"

pacemaker.auth.method: "NONE"

pacemaker.kerberos.users: []

 

#default storm daemon metrics reporter plugins

storm.daemon.metrics.reporter.plugins:

     - "org.apache.storm.daemon.metrics.reporters.JmxPreparableReporter"

 

storm.resource.isolation.plugin: "org.apache.storm.container.cgroup.CgroupManager"

# Also determines whether the unit tests for cgroup runs.  

# If storm.resource.isolation.plugin.enable is set to false the unit tests for cgroups will not run

storm.resource.isolation.plugin.enable: false

 

 

# Default plugin to use for manager worker

storm.supervisor.worker.manager.plugin: org.apache.storm.daemon.supervisor.workermanager.DefaultWorkerManager

 

# Configs for CGroup support

storm.cgroup.hierarchy.dir: "/cgroup/storm_resources"

storm.cgroup.resources:

    - "cpu"

    - "memory"

storm.cgroup.hierarchy.name: "storm"

storm.supervisor.cgroup.rootdir: "storm"

storm.cgroup.cgexec.cmd: "/bin/cgexec"

storm.cgroup.memory.limit.tolerance.margin.mb: 128.0

 

 

默认情况下,Storm启动worker进程时,JVM的最大内存是768M。

经过研究发现,可以通过在Strom的配置文件storm.yaml中设置worker的启动参数:
 worker.childopts: "-Xmx2048m"
该参数会在启动时传递给JVM,然后就可以在worker中使用2048m内存了。

0
4
分享到:
评论

相关推荐

    Storm配置项详解.docx

    11. **nimbus.childopts**:在storm-deploy项目中,用于nimbus进程的JVM选项,可以配置额外的JVM参数。 12. **nimbus.task.timeout.secs**:心跳超时时间,超时后nimbus会认为task挂掉并重新分配。 13. **nimbus....

    storm部署(包括所有依赖rpm包、集群搭建详解)

    同时,根据实际情况配置其他参数如nimbus.thrift.port等。 5. **启动Nimbus**:在Nimbus节点上,执行`storm nimbus`启动Nimbus服务。 6. **启动Supervisor**:在所有工作节点上,执行`storm supervisor`启动...

    Flume+kafka+Storm整合

    #### 四、Storm配置详解 1. **编写Java类:** - 创建一个简单的Java程序来模拟数据生产者,向Kafka发送数据。 - 创建一个消费者程序来消费Kafka中的数据。 2. **配置Flume Sink:** - 编写一个KafkaSink类,...

    批量下载】storm环境搭建v1等.zip

    6. **配置优化**:在搭建环境中,可能需要对Storm的配置参数进行调整,如worker数量、executor线程数、心跳间隔等,以适应不同的性能需求。 7. **监控和调试**:Storm提供了一套监控工具,包括Web UI,可以查看拓扑...

    storm 从零到精通 非常实用的文件

    - 这个文件包含了默认的配置参数,用于设置 Storm 的基本运行环境。 - **2.2.3 storm.yaml 文件** - 这个文件用于覆盖 defaults.yaml 中的部分配置项,以适应特定的应用场景。 - **2.2.4 Config 类** - Config 类...

    02、Storm入门到精通storm3-0.pptx

    **Storm配置详解** Storm的配置涉及多个关键参数,以确保系统的稳定运行和性能优化: - `storm.zookeeper.servers`:ZooKeeper服务器列表,用于协调和管理集群。 - `storm.zookeeper.port`:ZooKeeper服务的端口号...

    Storm深入学习.pdf

    **Storm 配置详解** Storm 的配置主要涉及 ZooKeeper 服务器、本地目录、运行模式以及其他关键参数。以下是一些重要配置项: - `storm.zookeeper.servers`:ZooKeeper 服务器列表,用于协调 Storm 集群。 - `storm...

    zk-kafka-redis-storm安装

    2. 各组件的配置文件详解,理解每个参数的作用和默认值。 3. 数据序列化和反序列化,如JSON、Avro或Protobuf,它们在组件间数据交换中的角色。 4. Java编程基础,因为大部分的配置和开发都是基于Java进行的。 5. ...

    webservice、http接口测试工具storm

    6. **使用方法**:使用Storm进行测试通常涉及配置测试环境,设置接口的URL、请求参数、期望的响应等信息,然后运行测试并分析结果。对于复杂的测试场景,可能还需要编写测试脚本,实现自动化测试。 7. **最佳实践**...

    Apache Storm-0.8.1 API 参考文档 ( Html版 )

    5. **Config**:配置类,用于设置Storm集群的参数,如超时时间、任务并行度等。 三、提交与管理Topologies 1. **StormSubmitter**:负责将构建好的Topology提交到Storm集群上运行。 2. **LocalCluster**:本地测试...

    storm集群搭建Java客户端测试代码.zip

    - **配置storm.yaml**:在Storm的conf目录下,编辑storm.yaml文件,配置nimbus、supervisor、zookeeper等相关参数,例如主机名、端口等。 - **安装Zookeeper**:Storm依赖Zookeeper进行集群协调,所以需要先搭建...

    storm集群安装

    值得注意的是,在实际部署过程中还需要考虑网络环境、硬件配置等因素对性能的影响,并根据具体需求调整配置参数以达到最佳效果。此外,持续监控集群状态及性能表现,及时调整优化方案也是保持集群高效稳定运行的关键...

    storma集群安装手册(包含zookeeper集群安装和storm集群安装)

    ### Storma集群安装手册知识点详解 #### 一、概述 本文档主要介绍如何在多台服务器上部署一个完整的Storm集群,其中包括JDK安装、Zookeeper集群安装以及Storm集群的搭建。整个过程分为三个主要部分:Java环境(JDK)...

    storm集群部署手册

    - 配置每台虚拟机的网络参数以实现互连。 #### 三、集群环境配置 **知识点7:配置hosts文件** - **目的:** - 使各节点之间可以通过主机名互相识别。 - **配置示例:** - 在每台虚拟机上编辑`/etc/hosts`文件...

    ZooKeeper分布式过程协同技术详解

    - **配置优化**:根据实际需求调整ZooKeeper的配置参数,如数据存储路径、会话超时时间等。 通过学习《ZooKeeper:分布式过程协同技术详解》,开发者能够掌握如何在分布式环境中利用ZooKeeper解决一致性问题,提升...

    Rain Storm Effects 1.2.rar

    在"Rain Storm Effects 1.2"中,开发者已经预先配置了适合不同强度和类型的雨滴粒子,包括雨滴的形状、大小、速度、透明度变化等参数,使得雨滴的视觉效果更加丰富多样。 其次,雨滴的运动轨迹和碰撞效果是影响真实...

    storm-demo:风暴演示应用程序

    这涉及设置拓扑名称、配置参数,以及使用 `StormSubmitter` 将拓扑提交到集群。 5. **运行环境**:为了运行这个示例,你需要在本地或远程集群上安装和配置 Storm。对于本地测试,可以使用 `LocalCluster` 类,而在...

    OLT配置命令手册

    - **使能/关闭端口风暴抑制功能、配置端口风暴抑制参数**:使用命令“port storm-control enable/disable threshold value”配置端口风暴抑制功能。 2. **端口配置管理** - **进入主控卡端口管理模式**:使用命令...

    大数据课程体系

    - **Storm配置文件配置项讲解**:详解Storm配置文件中的各项参数。 - **集群搭建常见问题解决**:解决集群搭建过程中可能遇到的问题。 - **Storm常用组件和编程API**: - **Topology**:拓扑是Storm中的核心概念之...

    大数据课程体系.docx

    - **Storm配置文件配置项讲解**:解释Storm配置文件中的各项配置参数及其作用。 - **集群搭建常见问题解决**:总结集群搭建过程中可能遇到的问题及其解决方案。 - **Storm常用组件和编程API**:介绍Topology、Spout...

Global site tag (gtag.js) - Google Analytics