NameServer配置属性

参数名

参数类型

描述

默认参数(时间为单位ms,数据单位为byte)

rocketmqHome

String

RockerMQ主目录,默认用户主目录


namesrvAddr

String

NameServer地址


kvConfigPath

String

kv配置文件路径,包含顺序消息主题的配置信息


configStorePath

String

NameServer配置文件路径,建议使用-c指定NameServer配置文件路径


clusterTest

boolean

是否开启集群测试,默认为false


orderMessageEnable

boolean

是否支持顺序消息,默认为false


NameServer、Broker、filter网络配置属性

accessMessageInMemoryMaxRatio

int

访问消息在内存中比率,默认为40

40

adminBrokerThreadPoolNums

int

服务端处理控制台管理命令线程池线程数量

16

autoCreateSubscriptionGroup

boolean

是否自动创建消费组

true

autoCreateTopicEnable

boolean

是否自动创建主题

true

bitMapLengthConsumeQueueExt

int

ConsumeQueue扩展过滤bitmap大小

112

brokerClusterName

String

Broker集群名称

TestCluster

brokerFastFailureEnable

boolean

是否支持broker快速失败 如果为true表示会立即清除发送消息线程池,消息拉取线程池中排队任务 ,直接返回系统错误

true

brokerId

int

brokerID 0表示主节点 大于0表示从节点

0

brokerIP1

String

Broker服务地址

 

brokerIP2

String

BrokerHAIP地址,供slave同步消息的地址

 

brokerName

String

Broker服务器名称morning服务器hostname

broker-a

brokerPermission

int

Broker权限 默认为6表示可读可写

6

brokerRole

enum

broker角色,分为 ASYNC_MASTER SYNC_MASTER, SLAVE

ASYNC_MASTER

brokerTopicEnable

boolean

broker名称是否可以用做主体使用

true

channelNotActiveInterval

long


60000

checkCRCOnRecover

boolean

文件恢复时是否校验CRC

true

cleanFileForciblyEnable

boolean

是否支持强行删除过期文件

true

cleanResourceInterval

int

清除过期文件线程调度频率

10000

clientAsyncSemaphoreValue

int


65535

clientCallbackExecutorThreads

int


8

clientChannelMaxIdleTimeSeconds

int


120

clientCloseSocketIfTimeout

boolean


false

clientManagerThreadPoolQueueCapacity

int

客户端管理线程池任务队列初始大小

1000000

clientManageThreadPoolNums

int

服务端处理客户端管理(心跳 注册 取消注册线程数量)

32

clientOnewaySemaphoreValue

int


65535

clientPooledByteBufAllocatorEnable

boolean


false

clientSocketRcvBufSize

long

客户端socket接收缓冲区大小

131072

clientSocketSndBufSize

long

客户端socket发送缓冲区大小

131072

clientWorkerThreads

int


4

clusterTopicEnable

boolean

集群名称是否可用在主题使用

true

commercialBaseCount

int


1

commercialBigCount

int


1

commercialEnable

boolean


true

commercialTimerCount

int


1

commercialTransCount

int


1

commitCommitLogLeastPages

int

一次提交至少需要脏页的数量,默认4页,针对 commitlog文件

4

commitCommitLogThoroughInterval

int

Commitlog两次提交的最大间隔,如果超过该间隔,将忽略commitCommitLogLeastPages直接提交

200

commitIntervalCommitLog

int

commitlog提交频率

200

compressedRegister

boolean


false

connectTimeoutMillis

long

链接超时时间

3000

consumerFallbehindThreshold

long

消息消费堆积阈值默认16GB在disableConsumeifConsumeIfConsumerReadSlowly为true时生效

17179869184

consumerManagerThreadPoolQueueCapacity

int

消费管理线程池任务队列大小

1000000

consumerManageThreadPoolNums

int

服务端处理消费管理 获取消费者列表 更新消费者进度查询消费进度等 

32

debugLockEnable

boolean

是否支持 PutMessage Lock锁打印信息

false

defaultQueryMaxNum

int

查询消息默认返回条数,默认为32

32

defaultTopicQueueNums

int

主体在一个broker上创建队列数量

8

deleteCommitLogFilesInterval

int

删除commitlog文件的时间间隔,删除一个文件后等一下再删除一个文件

100

deleteConsumeQueueFilesInterval

int

删除consumequeue文件时间间隔

100

deleteWhen

String

磁盘文件空间充足情况下,默认每天什么时候执行删除过期文件,默认04表示凌晨4点

04

destroyMapedFileIntervalForcibly

int

销毁MappedFile被拒绝的最大存活时间,默认120s。清除过期文件线程在初次销毁mappedfile时,如果该文件被其他线程引用,引用次数大于0.则设置MappedFile的可用状态为false,并设置第一次删除时间,下一次清理任务到达时,如果系统时间大于初次删除时间加上本参数,则将ref次数一次减1000,知道引用次数小于0,则释放物理资源

120000

disableConsumeIfConsumerReadSlowly

boolean

如果消费组消息消费堆积是否禁用该消费组继续消费消息

false

diskFallRecorded

boolean

是否统计磁盘的使用情况,默认为true

true

diskMaxUsedSpaceRatio

int

commitlog目录所在分区的最大使用比例,如果commitlog目录所在的分区使用比例大于该值,则触发过期文件删除

75

duplicationEnable

boolean

是否允许重复复制,默认为 false

false

enableCalcFilterBitMap

boolean

是否开启比特位映射,这个属性不太明白

false

enableConsumeQueueExt

boolean

是否启用ConsumeQueue扩展属性

false

enablePropertyFilter

boolean

是否支持根据属性过滤 如果使用基于标准的sql92模式过滤消息则改参数必须设置为true

false

endTransactionPoolQueueCapacity

int

处理提交和回滚消息线程池线程队列大小

100000

endTransactionThreadPoolNums

int

处理提交和回滚消息线程池

24

expectConsumerNumUseFilter

boolean

布隆过滤器参数

32

fastFailIfNoBufferInStorePool

boolean

从 transientStorepool中获取 ByteBuffer是否支持快速失败

false

fetchNamesrvAddrByAddressServer

boolean

是否支持从服务器获取nameServer

false

fileReservedTime

String

文件保留时间,默认72小时,表示非当前写文件最后一次更新时间加上filereservedtime小与当前时间,该文件将被清理

120

filterDataCleanTimeSpan

long

清除过滤数据的时间间隔

86400000

filterServerNums

int

broker服务器过滤服务器数量

0

filterSupportRetry

boolean

消息过滤是否支持重试

false

flushCommitLogLeastPages

int

一次刷盘至少需要脏页的数量,针对commitlog文件

4

flushCommitLogThoroughInterval

int

commitlog两次刷盘的最大间隔,如果超过该间隔,将fushCommitLogLeastPages要求直接执行刷盘操作

10000

flushCommitLogTimed

boolean

表示await方法等待FlushIntervalCommitlog,如果为true表示使用Thread.sleep方法等待

false

flushConsumeQueueLeastPages

int

一次刷盘至少需要脏页的数量,默认2页,针对 Consume文件

2

flushConsumeQueueThoroughInterval

int

Consume两次刷盘的最大间隔,如果超过该间隔,将忽略

60000

flushConsumerOffsetHistoryInterval

int

fushConsumeQueueLeastPages直接刷盘

60000

flushConsumerOffsetInterval

int

持久化消息消费进度 consumerOffse.json文件的频率ms

5000

flushDelayOffsetInterval

long

延迟队列拉取进度刷盘间隔。默认10s

10000

flushDiskType

enum

刷盘方式,默认为 ASYNC_FLUSH(异步刷盘),可选值SYNC_FLUSH(同步刷盘)

ASYNC_FLUSH

flushIntervalCommitLog

int

commitlog刷盘频率

500

flushIntervalConsumeQueue

int

consumuQueue文件刷盘频率

1000

flushLeastPagesWhenWarmMapedFile

int

用字节0填充整个文件的,每多少页刷盘一次。默认4096页,异步刷盘模式生效

4096

forceRegister

boolean

是否强制注册

true

haHousekeepingInterval

int

Master与save长连接空闲时间,超过该时间将关闭连接

20000

haListenPort

int

Master监听端口,从服务器连接该端口,默认为10912

10912

haMasterAddress

String

Master服务器IP地址与端口号


haSendHeartbeatInterval

int

Master与Slave心跳包发送间隔

5000

haSlaveFallbehindMax

int

允许从服务器落户的最大偏移字节数,默认为256M。超过该值则表示该Slave不可用

268435456

haTransferBatchSize

int

一次HA主从同步传输的最大字节长度,默认为32K

32768

heartbeatThreadPoolNums

int

心跳线程池线程数

8

heartbeatThreadPoolQueueCapacity

int

心跳线程队列数量

50000

highSpeedMode

boolean

当前版本未使用

false

listenPort

int

服务端监听端口

10911

longPollingEnable

boolean

是否开启长轮训

true

mapedFileSizeCommitLog

int

单个conmmitlog文件大小默认1GB

1073741824

mapedFileSizeConsumeQueue

int

单个consumequeue文件大小默认30W*20表示单个Consumequeue文件中存储30W个ConsumeQueue条目

6000000

mappedFileSizeConsumeQueueExt

int

ConsumeQueue扩展文件大小默认48MB

50331648

maxDelayTime

int

当前版本未使用

40

maxErrorRateOfBloomFilter

int

布隆过滤器参数

20

maxHashSlotNum

int

单个索引文件hash槽的个数,默认为五百万

5000000

maxIndexNum

int

单个索引文件索引条目的个数,默认为两千万

20000000

maxMessageSize

int

默认允许的最大消息体默认4M

4194304

maxMsgsNumBatch

int

一次查询消息最大返回消息条数,默认64条

64

maxTransferBytesOnMessageInDisk


一次服务消息端消息拉取,消息在磁盘中传输允许的最大字节

65536

maxTransferBytesOnMessageInMemory

int

一次服务端消息拉取,消息在内存中传输允许的最大传输字节数默认256kb

262144

maxTransferCountOnMessageInDisk

int

一次消息服务端消息拉取,消息在磁盘中传输允许的最大条数,默认为8条

8

maxTransferCountOnMessageInMemory

int

一次服务消息拉取,消息在内存中传输运行的最大消息条数,默认为32条

32

messageDelayLevel

String

延迟队列等级(s=秒,m=分,h=小时)

1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h

messageIndexEnable

boolean

是否支持消息索引文件

true

messageIndexSafe

boolean

消息索引是否安全,默认为 false,文件恢复时选择文件检测点(commitlog.consumeque)的最小的与文件最后更新对比,如果为true,文件恢复时选择文件检测点保存的索引更新时间作为对比

false

messageStorePlugIn

String

消息存储插件地址默认为空字符串


namesrvAddr

String

nameServer地址


notifyConsumerIdsChangedEnable


消费者数量变化后是否立即通知RebalenceService线程,以便马上进行重新负载

true

offsetCheckInSlave

boolean

从服务器是否坚持 offset检测

false

osPageCacheBusyTimeOutMills

long

putMessage锁占用超过该时间,表示 PageCache忙

1000

pullMessageThreadPoolNums

int

服务端处理消息拉取线程池线程数量 默认为16加上当前操作系统CPU核数的两倍

32

pullThreadPoolQueueCapacity

int

消息拉去线程池任务队列初始大小

100000

putMsgIndexHightWater

int

当前版本未使用

600000

queryMessageThreadPoolNums

int

服务端处理查询消息线程池数量默认为8加上当前操作系统CPU核数的两倍

16

queryThreadPoolQueueCapacity

int

查询消息线程池任务队列初始大小

20000

redeleteHangedFileInterval

int

重试删除文件间隔,配合destorymapedfileintervalforcibly

120000

regionId

String

消息区域

DefaultRegion

registerBrokerTimeoutMills

int

注册broker超时时间

6000

registerNameServerPeriod

int

broker注册频率 大于1分钟为1分钟小于10秒为10秒

30000

rejectTransactionMessage

boolean

是否拒绝事物消息

false

rocketmqHome

String

RocketMQ主目录

/home/rocketmq/rocketmq-all-4.3.2-bin-release

sendMessageThreadPoolNums

int

服务端处理消息发送线程池数量

1

sendThreadPoolQueueCapacity

int

消息发送线程池任务队列初始大小

10000

serverAsyncSemaphoreValue

int

异步消息发送最大并发度

64

serverCallbackExecutorThreads

int

netty public任务线程池个数,netty网络设计没根据业务类型会创建不同线程池毛笔如处理发送消息,消息消费心跳检测等。如果业务类型(RequestCode)未注册线程池,则由public线程池执行

0

serverChannelMaxIdleTimeSeconds

int

网络连接最大空闲时间。如果链接空闲时间超过此参数设置的值,连接将被关闭

120

serverOnewaySemaphoreValue

int

send oneway消息请求并发度

256

serverPooledByteBufAllocatorEnable

boolean

ByteBuffer是否开启缓存

true

serverSelectorThreads

int

IO线程池线程个数,主要是NameServer.broker端解析请求,返回相应的线程个数,这类县城主要是处理网络请求的,解析请求包。然后转发到各个业务线程池完成具体的业务无操作,然后将结果在返回调用方

3

serverSocketRcvBufSize

int

netty网络socket接收缓存区大小16MB

131072

serverSocketSndBufSize

int

netty网络socket发送缓存区大小16MB

131072

serverWorkerThreads

int

netty业务线程池个数

8

shortPollingTimeMills

long

短轮训等待时间

1000

slaveReadEnable

boolean

从节点是否可读

false

startAcceptSendRequestTimeStamp

int


0

storePathCommitLog

String

Commitlog存储目录默认为${storePathRootDir}/commitlog

/home/rocketmq/store/commitlog

storePathRootDir

String

broker存储目录 默认为用户的主目录/store

/home/rocketmq/store

syncFlushTimeout

long

同步刷盘超时时间

5000

traceOn

boolean


true

transactionCheckInterval

long

事物回查周期

60000

transactionCheckMax

int

事物回查次数

15

transactionTimeOut

long

事物回查超时时间

6000

transferMsgByHeap

boolean

消息传输是否使用堆内存

true

transientStorePoolEnable

boolean

Commitlog是否开启 transientStorePool机制,默认为 false

false

transientStorePoolSize

int

transientStorePool中缓存 ByteBuffer个数,默认5个

5

useEpollNativeSelector

boolean

是否启用Epoll IO模型。Linux环境建议开启

false

useReentrantLockWhenPutMessage

boolean

消息存储到commitlog文件时获取锁类型,如果为true使用ReentrantLock否则使用自旋锁

false

useTLS

boolean

是否使用安全传输层协议

false

waitTimeMillsInHeartbeatQueue

long

清理broker心跳线程等待时间

31000

waitTimeMillsInPullQueue

long

清除消息拉取线程池任务队列的等待时间。如果系统时间减去任务放入队列中的时间小于waitTimeMillsInPullQueue,本次请求任务暂时不移除该任务

5000

waitTimeMillsInSendQueue

long

清除发送线程池任务队列的等待时间。如果系统时间减去任务放入队列中的时间小于waitTimeMillsInSendQueue,本次请求任务暂时不移除该任务

200

waitTimeMillsInTransactionQueue

long

清理提交和回滚消息线程队列等待时间

3000

warmMapedFileEnable

boolean

是否温和地使用 MappedFile如果为true,将不强制将内存映射文件锁定在内存中

false

connectWhichBroker

String

FilterServer连接的Broker地址


filterServerIP

String

FilterServerIP地址,默认为本地服务器IP


compressMsgBodyOverHowmuch

int

如果消息Body超过该值则启用


zipCompresslevel

int

Zip压缩方式,默认为5,详细定义请参考java.util.Deflate中的定义


clientUploadFilterClassEnable

boolean

是否支持客户端上传 FilterClass代码


filterClassRepertoryUrl

String

filterClass服务地址,如果 clientUploadFilterClassEnable为false,则需要提供一个地址从该服务器获取过滤类的代码


fsServerAsyncSemaphorevalue

int

FilterServer异步请求并发度,默认为2048


fsServerCallbackExecutorThreads

int

处理回调任务的线程池数量,默认为64


fsServerWorkerThreads

int

远程服务调用线程池数量,默认为64