Skip to content

configuration.zh_CN

Ady Liu edited this page May 15, 2020 · 7 revisions

#配置指南

文档>>配置指南

Jafka 配置参数格式类似于 java.util.Properties,因此这些参数可以通过 properties 文件存放,或者在进程中通过构造 Properties 对象进行配置和传递。

##1. 名词解释

  • 服务端/broker
    • 消息存储、中转的地方;生产者将消息发送给服务端,消费者则从服务端接收/获取消息。
  • 生产者/producer
    • 产生消息的角色,是消息的来源。
  • 消费者/consumer
    • 有时候也称之为接收者。在消息系统中的角色是消费消息或者说从服务端接收消息。

##2. Zookeeper 通用配置 处理 zookeeper 连接的配置参数,服务端、生产者、消费者都可以配置此参数。

  • zk.connect
    • :string,null
    • zookeeper 连接字符串,例如:localhost:2181 或者 192.168.1.1:2181,192.168.1.2:2181/jafka
  • zk.sessiontimeout.ms
    • :int,6000
    • zookeeper 会话超时,单位毫秒
  • zk.connectiontimeout.ms
    • :int,6000
    • zookeeper 的连接超时,单位毫秒
  • zk.synctime.ms

##3. 服务端配置

配置一个服务端(broker)的最少参数:

brokerid=1

也就是说只有 brokerid 是必须的,其它参数都是可选的。

  • brokerid
    • :int
    • broker 唯一标识
  • port
    • :int,9092
    • jafka 服务端默认端口
  • http.port
    • :int, 9093
    • jafka http 服务器的默认端口
  • hostname
    • :string,null
    • jafka 绑定的主机名,默认为自动计算
  • max.connections
  • socket.send.buffer
  • socket.receive.buffer
  • max.socket.request.bytes
  • num.threads
  • monitoring.period.secs
  • num.partitions
    • :int,1
    • topic 的默认分区数
  • log.dir
    • string
    • 日志存放目录
  • log.file.size
  • log.flush.interval
  • log.retention.hours
  • log.retention.size
  • topic.log.retention.hours
  • log.cleanup.interval.mins
  • enable.zookeeper
    • :boolean,false
    • 是否启动 zookeeper 配置
  • topic.flush.intervals.ms
  • log.default.flush.scheduler.interval.ms
  • log.default.flush.interval.ms
    • 每次强制刷新 log 文件的时间间隔
  • topic.partition.count.map
  • log.rolling.strategy

##4. 生产者配置

发送消息有两种方式:

  1. 直接配置发送
  • 在这种情况下只需要最少的配置参数是: broker.list=0:localhost:9092
  1. 通过 zookeeper 配置发送
  • 在这种情况下只需要最少的配置参数是:

    zk.connect=localhost:2181

显然这两种方式只能二选一。

###4.1 同步发送的配置

  • buffer.size
  • connect.timeout.ms
  • socket.timeout.ms
  • reconnect.interval
  • reconnect.time.interval.ms
  • max.message.size
  • host
  • port

###4.2 异步发送的配置

  • queue.time
  • queue.size
  • queue.enqueueTimeout.ms
  • batch.size
  • serializer.class
  • callback.handler
  • callback.handler.props
  • event.handler
  • event.handler.props

###4.3 其它配置参数

  • broker.list
    • :string,null
    • 发送消息的目的地,格式为: brokerid:host:port[,brokerid:host,port...]
  • partitioner.class
  • compression.codec
  • compressed.topics
  • producer.type
    • :string,sync
    • 消息发送的方式,同步(sync)或者异步(async)
  • zk.read.num.retries
  • num.retries

##5. 消费者配置

和发送消息类似,消费消息也有两种方式:

  1. 直接配置消费消息

在这种情况下最少的配置参数是:

构造 com.sohu.jafka.consumer.SimpleConsumer.SimpleConsumer 对象只需要两个参数: host,port

  1. 使用 zookeeper

在这种情况下最少的配置参数是:

groupid=adyliu
zk.connect=localhost:2181

所有参数

  • groupid
    • :string
    • 消费者分组信息
  • consumerid
    • :string,null
    • 消费者唯一标识
  • socket.timeout.ms
    • :int,30*1000
    • socket 超时时间,默认 30 秒
  • socket.buffersize
  • fetchsize
  • fetcher.backoff.ms
    • 每次抓取之后如果没有抓取到增加抓取时间间隔的毫秒数
  • fetcher.backoff.ms.max
    • 增加抓取时间间隔的最大毫秒数
  • autocommit.enable
  • autocommit.interval.ms
  • queuedchunks.max
  • rebalance.retries.max
  • rebalance.backoff.ms
  • autooffset.reset
  • consumer.timeout.ms
  • mirror.topics.whitelist
  • mirror.topics.blacklist
  • mirror.consumer.numthreads

Language: English | Simple Chinese

Clone this wiki locally