본문 바로가기
Kafka

kafka CLI 사용하기 - kafka-console-producer.(sh | bat)

by Soono991 2023. 3. 28.

이번에는 kafka-console-producer.(sh|bat)을 사용해보겠습니다.

 

kafka-console-producer는 CLI 환경에서 메시지를 topic에 전송하기 위해 사용합니다.

 

kafka-console-producer는 어떤 옵션들이 있는지 확인해보겠습니다.

This tool helps to read data from standard input and publish it to Kafka.

→ 이 도구는 표준 입력(키보드)에서 데이터를 읽고 kafka에게 publish 할 수 있도록 도와준다.
This tool helps to read data from standard input and publish it to Kafka.      --> 파일 설명
Option                                   Description
------                                   -----------
--batch-size <Integer: size>             Number of messages to send in a single
                                           batch if they are not being sent
                                           synchronously. please note that this
                                           option will be replaced if max-
                                           partition-memory-bytes is also set
                                           (default: 16384)
--bootstrap-server <String: server to    REQUIRED unless --broker-list
  connect to>                              (deprecated) is specified. The server
                                           (s) to connect to. The broker list
                                           string in the form HOST1:PORT1,HOST2:
                                           PORT2.
--broker-list <String: broker-list>      DEPRECATED, use --bootstrap-server
                                           instead; ignored if --bootstrap-
                                           server is specified.  The broker
                                           list string in the form HOST1:PORT1,
                                           HOST2:PORT2.
--compression-codec [String:             The compression codec: either 'none',
  compression-codec]                       'gzip', 'snappy', 'lz4', or 'zstd'.
                                           If specified without value, then it
                                           defaults to 'gzip'
--help                                   Print usage information.
--line-reader <String: reader_class>     The class name of the class to use for
                                           reading lines from standard in. By
                                           default each line is read as a
                                           separate message. (default: kafka.
                                           tools.
                                           ConsoleProducer$LineMessageReader)
--max-block-ms <Long: max block on       The max time that the producer will
  send>                                    block for during a send request.
                                           (default: 60000)
--max-memory-bytes <Long: total memory   The total memory used by the producer
  in bytes>                                to buffer records waiting to be sent
                                           to the server. This is the option to
                                           control `buffer.memory` in producer
                                           configs. (default: 33554432)
--max-partition-memory-bytes <Integer:   The buffer size allocated for a
  memory in bytes per partition>           partition. When records are received
                                           which are smaller than this size the
                                           producer will attempt to
                                           optimistically group them together
                                           until this size is reached. This is
                                           the option to control `batch.size`
                                           in producer configs. (default: 16384)
--message-send-max-retries <Integer>     Brokers can fail receiving the message
                                           for multiple reasons, and being
                                           unavailable transiently is just one
                                           of them. This property specifies the
                                           number of retries before the
                                           producer give up and drop this
                                           message. This is the option to
                                           control `retries` in producer
                                           configs. (default: 3)
--metadata-expiry-ms <Long: metadata     The period of time in milliseconds
  expiration interval>                     after which we force a refresh of
                                           metadata even if we haven't seen any
                                           leadership changes. This is the
                                           option to control `metadata.max.age.
                                           ms` in producer configs. (default:
                                           300000)
--producer-property <String:             A mechanism to pass user-defined
  producer_prop>                           properties in the form key=value to
                                           the producer.
--producer.config <String: config file>  Producer config properties file. Note
                                           that [producer-property] takes
                                           precedence over this config.
--property <String: prop>                A mechanism to pass user-defined
                                           properties in the form key=value to
                                           the message reader. This allows
                                           custom configuration for a user-
                                           defined message reader.
Default
                                           properties include:
 parse.key=false
                                            parse.headers=false
 ignore.
                                           error=false
 key.separator=\t
                                           headers.delimiter=\t
 headers.
                                           separator=,
 headers.key.separator=:
                                            null.marker=   When set, any fields
                                           (key, value and headers) equal to
                                           this will be replaced by null
                                           Default parsing pattern when:
 parse.
                                           headers=true and parse.key=true:
                                           "h1:v1,h2:v2...\tkey\tvalue"
 parse.
                                           key=true:
  "key\tvalue"
 parse.
                                           headers=true:
  "h1:v1,h2:v2...
                                           \tvalue"
--request-required-acks <String:         The required `acks` of the producer
  request required acks>                   requests (default: -1)
--request-timeout-ms <Integer: request   The ack timeout of the producer
  timeout ms>                              requests. Value must be non-negative
                                           and non-zero. (default: 1500)
--retry-backoff-ms <Long>                Before each retry, the producer
                                           refreshes the metadata of relevant
                                           topics. Since leader election takes
                                           a bit of time, this property
                                           specifies the amount of time that
                                           the producer waits before refreshing
                                           the metadata. This is the option to
                                           control `retry.backoff.ms` in
                                           producer configs. (default: 100)
--socket-buffer-size <Integer: size>     The size of the tcp RECV size. This is
                                           the option to control `send.buffer.
                                           bytes` in producer configs.
                                           (default: 102400)
--sync                                   If set message send requests to the
                                           brokers are synchronously, one at a
                                           time as they arrive.
--timeout <Long: timeout_ms>             If set and the producer is running in
                                           asynchronous mode, this gives the
                                           maximum amount of time a message
                                           will queue awaiting sufficient batch
                                           size. The value is given in ms. This
                                           is the option to control `linger.ms`
                                           in producer configs. (default: 1000)
--topic <String: topic>                  REQUIRED: The topic id to produce
                                           messages to.
--version                                Display Kafka version.

 

--batch-size

더보기
--batch-size Number of messages to send in a single batch if they are not being sent synchronously. please note that this option will be replaced if max- partition-memory-bytes is also set (default: 16384)

→ 동기적으로 전송되지 않는 경우 단일 일괄 처리로 전송할 메시지 수입니다.
→ max-partition-memory-bytes(기본값: 16384)도 설정되어 있으면 이 옵션이 대체됩니다.

 

--bootstrap-server

더보기
--bootstrap-server  REQUIRED unless --broker-list (deprecated) is specified. The server (s) to connect to. The broker list string in the form HOST1:PORT1,HOST2: PORT2.

→ --broker-list(더 이상 사용되지 않음) 가 설정되지 않는 한 필수값입니다. 연결할 서버이며 목록을 ,(comma)로 나열합니다.

 

--broker-list

더보기
--broker-list  DEPRECATED, use --bootstrap-server instead; ignored if --bootstrap- server is specified. The broker list string in the form HOST1:PORT1, HOST2:PORT2.

→ 더 이상 사용되지 않으며, --bootstrap-server가 지정되면 무시됩니다.

 

--compression-codec

더보기
--compression-codec  The compression codec: either 'none', 'gzip', 'snappy', 'lz4', or 'zstd'. If specified without value, then it defaults to 'gzip'

→ 압축 코덱: 'none', 'gzip', 'snappy', 'lz4' 또는 'zstd'. 값 없이 지정하면 기본값은 'gzip'입니다.

 

--line-reader

더보기
--line-reader  The class name of the class to use for reading lines from standard in. By default each line is read as a separate message. (default: kafka. tools. ConsoleProducer$LineMessageReader)

→ 표준 입력에서 줄을 읽는 데 사용할 클래스의 클래스 이름입니다. 기본적으로 각 줄은 별도의 메시지로 읽습니다. (기본값: kafka.tools.ConsoleProducer$LineMessageReader)

 

--max-block-ms

더보기
--max-block-ms  The max time that the producer will block for during a send request. (default: 60000)

→ 전송 요청 중 생산자가 차단하는 최대 시간입니다. (기본값: 60000)

 

--max-memory-bytes

더보기
--max-memory-bytes  The total memory used by the producer to buffer records waiting to be sent to the server. This is the option to control `buffer.memory` in producer configs. (default: 33554432)

→ 서버로 전송되기를 기다리는 레코드를 버퍼링하기 위해 생산자가 사용하는 총 메모리입니다. 생산자 구성에서 `buffer.memory`를 제어하는 ​​옵션입니다. (기본값: 33554432)

 

--max-partition-memory-bytes

더보기
--max-partition-memory-bytes   The buffer size allocated for a partition. When records are received which are smaller than this size the producer will attempt to optimistically group them together until this size is reached. This is the option to control `batch.size` in producer configs. (default: 16384)

→ 파티션에 할당된 버퍼 크기입니다. 이 크기보다 작은 레코드가 수신되면 생산자는 이 크기에 도달할 때까지 레코드를 낙관적으로 그룹화하려고 시도합니다. 생산자 구성에서 `batch.size`를 제어하는 ​​옵션입니다. (기본값: 16384)

 

--message-send-max-retries

더보기
--message-send-max-retries  Brokers can fail receiving the message for multiple reasons, and being unavailable transiently is just one of them. This property specifies the number of retries before the producer give up and drop this message. This is the option to control `retries` in producer configs. (default: 3)

→ 브로커는 여러 가지 이유로 메시지 수신에 실패할 수 있으며 일시적으로 사용할 수 없는 것은 그 중 하나일 뿐입니다. 이 속성은 생산자가 이 메시지를 포기하고 삭제하기 전에 재시도 횟수를 지정합니다. 생산자 구성에서 '재시도'를 제어하는 ​​옵션입니다. (기본값: 3)

 

--metadata-expiry-ms

더보기
--metadata-expiry-ms  The period of time in milliseconds after which we force a refresh of metadata even if we haven't seen any leadership changes. This is the option to control `metadata.max.age. ms` in producer configs. (default: 300000)

→ 리더십 변경 사항이 없는 경우에도 강제로 메타데이터를 새로 고치는 시간(밀리초)입니다. `metadata.max.age를 제어하는 ​​옵션입니다. 생산자 구성에서 ms`. (기본값: 300000)

 

--producer-property

더보기
--producer-property  A mechanism to pass user-defined properties in the form key=value to the producer.

→ key=value 형식의 사용자 정의 속성을 생산자에게 전달하는 메커니즘입니다.

 

--producer.config

더보기
--producer.config  Producer config properties file. Note that [producer-property] takes precedence over this config.

→ 생산자 구성 속성 파일. [Producer-property]가 이 구성보다 우선합니다.

 

--property

더보기
--property A mechanism to pass user-defined properties in the form key=value to the message reader. This allows custom configuration for a user- defined message reader.

→ key=value 형식의 사용자 정의 속성을 message reader에 전달하는 메커니즘입니다. 이를 통해 사용자 정의 message reader에 대한 사용자 지정 구성이 가능합니다.

 

--request-required-acks

더보기
--request-required-acks  The required `acks` of the producer requests (default: -1)

→ producer 요청의 필수 값입니다. (기본값 -1)

 

--request-timeout-ms

더보기
--request-timeout-ms request The ack timeout of the producer requests. Value must be non-negative and non-zero. (default: 1500)

→ request 생산자 요청의 ack 시간 제한입니다. 값은 음수가 아니거나 0이 아니어야 합니다. (기본값: 1500)

 

--retry-backoff-ms

더보기
--retry-backoff-ms  Before each retry, the producer refreshes the metadata of relevant topics. Since leader election takes a bit of time, this property specifies the amount of time that the producer waits before refreshing the metadata. This is the option to control `retry.backoff.ms` in producer configs. (default: 100)

→ 각 재시도 전에 생산자는 관련 항목의 메타데이터를 새로 고칩니다. 리더 선택에는 약간의 시간이 걸리므로 이 속성은 생산자가 메타데이터를 새로 고치기 전에 대기하는 시간을 지정합니다. 생산자 구성에서 `retry.backoff.ms`를 제어하는 ​​옵션입니다. (기본값: 100)

 

--socket-buffer-size

더보기
--socket-buffer-size  The size of the tcp RECV size. This is the option to control `send.buffer. bytes` in producer configs. (default: 102400)

→ tcp RECV의 크기입니다. 이것은 `send.buffer를 제어하는 ​​옵션입니다. 생산자 구성의 바이트`. (기본값: 102400)

 

--sync

더보기
--sync If set message send requests to the brokers are synchronously, one at a time as they arrive.

→ 브로커에 설정된 메시지 전송 요청이 동기적으로 발생하면 한 번에 하나씩 도착합니다.

 

--timeout

더보기
--timeout  If set and the producer is running in asynchronous mode, this gives the maximum amount of time a message will queue awaiting sufficient batch size. The value is given in ms. This is the option to control `linger.ms` in producer configs. (default: 1000)

→ 설정되고 생산자가 비동기 모드에서 실행 중인 경우 메시지가 충분한 배치 크기를 기다리며 대기하는 최대 시간을 제공합니다. 값은 ms 단위로 제공됩니다. 생산자 구성에서 `linger.ms`를 제어하는 ​​옵션입니다. (기본값: 1000)

 

--topic

더보기
--topic REQUIRED: The topic id to produce messages to.

→ 메시지를 전달할 Topic을 입력합니다.

 

'Kafka' 카테고리의 다른 글

Producer  (0) 2023.04.03
kafka CLI 사용하기 - kafka-console-consumer.(sh | bat)  (0) 2023.03.28
kafka CLI 사용하기 - kafka-topics.(sh | bat)  (0) 2023.03.28
kafka 설치  (0) 2023.03.27
kafka 시작하기  (0) 2023.03.27

댓글