Storm配置文件中主要参数配置说明
生活随笔
收集整理的這篇文章主要介紹了
Storm配置文件中主要参数配置说明
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
配置項 配置說明
storm.zookeeper.servers :ZooKeeper服務器列表
storm.zookeeper.port :ZooKeeper連接端口
storm.local.dir :storm使用的本地文件系統(tǒng)目錄(必須存在并且storm進程可讀寫)
storm.cluster.mode :Storm集群運行模式([distributed或local])
storm.local.mode.zmq :Local模式下是否使用ZeroMQ作消息系統(tǒng),如果設置為false則使用java消息系統(tǒng)。默認為false
storm.zookeeper.root :ZooKeeper中Storm的根目錄位置
storm.zookeeper.session.timeout :客戶端連接ZooKeeper超時時間
storm.id :運行中拓撲的id,由storm name和一個唯一隨機數(shù)組成。
nimbus.host :nimbus服務器地址
nimbus.thrift.port :nimbus的thrift監(jiān)聽端口
nimbus.childopts :通過storm-deploy項目部署時指定給nimbus進程的jvm選項
nimbus.task.timeout.secs :心跳超時時間,超時后nimbus會認為task死掉并重分配給另一個地址。
nimbus.monitor.freq.secs :nimbus檢查心跳和重分配任務的時間間隔.注意如果是機器宕掉nimbus會立即接管并處理。
nimbus.supervisor.timeout.secs :supervisor的心跳超時時間,一旦超過nimbus會認為該supervisor已死并停止為它分發(fā)新任務.
nimbus.task.launch.secs task :啟動時的一個特殊超時設置.在啟動后第一次心跳前會使用該值來臨時替代nimbus.task.timeout.secs
nimbus.reassign :當發(fā)現(xiàn)task失敗時nimbus是否重新分配執(zhí)行。默認為真,不建議修改。
nimbus.file.copy.expiration.secs :nimbus判斷上傳/下載鏈接的超時時間,當空閑時間超過該設定時nimbus會認為鏈接死掉并主動斷開
ui.port Storm :UI的服務端口
drpc.servers :DRPC服務器列表,以便DRPCSpout知道和誰通訊
drpc.port Storm :DRPC的服務端口
supervisor.slots.ports :supervisor上能夠運行workers的端口列表.每個worker占用一個端口,且每個端口只運行一個worker.通過這項配置可以調(diào)整每臺機器上運行的worker數(shù).(調(diào)整slot數(shù)/每機)
supervisor.childopts :在storm-deploy項目中使用,用來配置supervisor守護進程的jvm選項
supervisor.worker.timeout.secs :supervisor中的worker心跳超時時間,一旦超時supervisor會嘗試重啟worker進程.
supervisor.worker.start.timeout.secs :supervisor初始啟動時,worker的心跳超時時間,當超過該時間supervisor會嘗試重啟worker。因為JVM初始啟動和配置會帶來的額外消耗,從而使得第一次心跳會超過supervisor.worker.timeout.secs的設定
supervisor.enable :supervisor是否應當運行分配給他的workers.默認為true,該選項用來進行Storm的單元測試,一般不應修改.
supervisor.heartbeat.frequency.secs :supervisor心跳發(fā)送頻率(多久發(fā)送一次)
supervisor.monitor.frequency.secs :supervisor檢查worker心跳的頻率
worker.childopts :supervisor啟動worker時使用的jvm選項.所有的”%ID%”字串會被替換為對應worker的標識符
worker.heartbeat.frequency.secs :worker的心跳發(fā)送時間間隔
task.heartbeat.frequency.secs :task匯報狀態(tài)心跳時間間隔
task.refresh.poll.secs :task與其他tasks之間鏈接同步的頻率.(如果task被重分配,其他tasks向它發(fā)送消息需要刷新連接).一般來講,重分配發(fā)生時其他tasks會理解得到通知。該配置僅僅為了防止未通知的情況。
topology.debug :如果設置成true,Storm將記錄發(fā)射的每條信息。
topology.optimize :master是否在合適時機通過在單個線程內(nèi)運行多個task以達到優(yōu)化topologies的目的.
topology.workers :執(zhí)行該topology集群中應當啟動的進程數(shù)量.每個進程內(nèi)部將以線程方式執(zhí)行一定數(shù)目的tasks.topology的組件結(jié)合該參數(shù)和并行度提示來優(yōu)化性能
topology.ackers :topology中啟動的acker任務數(shù).Acker保存由spout發(fā)送的tuples的記錄,并探測tuple何時被完全處理.當Acker探測到tuple被處理 完畢時會向spout發(fā)送確認信息.通常應當根據(jù)topology的吞吐量來確定acker的數(shù)目,但一般不需要太多.當設置為0時,相當于禁用了消息可 靠性,storm會在spout發(fā)送tuples后立即進行確認.
topology.message.timeout.secs :topology中spout發(fā)送消息的最大處理超時時間.如果一條消息在該時間窗口內(nèi)未被成功ack,Storm會告知spout這條消息失敗。而部分spout實現(xiàn)了失敗消息重播功能。
topology.kryo.register :注冊到Kryo(Storm底層的序列化框架)的序列化方案列表.序列化方案可以是一個類名,或者是com.esotericsoftware.kryo.Serializer的實現(xiàn).
topology.skip.missing.kryo.registrations :Storm是否應該跳過它不能識別的kryo序列化方案.如果設置為否task可能會裝載失敗或者在運行時拋出錯誤.
topology.max.task.parallelism :在一個topology中能夠允許的最大組件并行度.該項配置主要用在本地模式中測試線程數(shù)限制.
topology.max.spout.pending :一個spout task中處于pending狀態(tài)的最大的tuples數(shù)量.該配置應用于單個task,而不是整個spouts或topology.
topology.state.synchronization.timeout.secs :組件同步狀態(tài)源的最大超時時間(保留選項,暫未使用)
topology.stats.sample.rate :用來產(chǎn)生task統(tǒng)計信息的tuples抽樣百分比
topology.fall.back.on.java.serialization :topology中是否使用java的序列化方案
zmq.threads :每個worker進程內(nèi)zeromq通訊用到的線程數(shù)
zmq.linger.millis :當連接關(guān)閉時,鏈接嘗試重新發(fā)送消息到目標主機的持續(xù)時長.這是一個不常用的高級選項,基本上可以忽略.
java.library.path :JVM啟動(如Nimbus,Supervisor和workers)時的java.library.path設置.該選項告訴JVM在哪些路徑下定位本地庫.
分類: 大數(shù)據(jù)
總結(jié)
以上是生活随笔為你收集整理的Storm配置文件中主要参数配置说明的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 锂电池MAAH什么意思?
- 下一篇: phoenix数据类型,语法,方法