Kafka 구성 속성
구성 속성을 사용하여 Kafka 구성 요소 구성
초록
머리말 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat 문서에 관한 피드백 제공 링크 복사링크가 클립보드에 복사되었습니다!
문서 개선을 위한 의견에 감사드립니다.
개선 사항을 제안하려면 Jira 문제를 열고 제안된 변경 사항을 설명합니다. 귀하의 요청을 신속하게 처리할 수 있도록 가능한 한 자세한 정보를 제공하십시오.
사전 요구 사항
-
Red Hat 고객 포털 계정이 있어야 합니다. 이 계정을 사용하면 Red Hat Jira Software 인스턴스에 로그인할 수 있습니다.
계정이 없는 경우 계정을 생성하라는 메시지가 표시됩니다.
프로세스
- 다음: 생성 문제를 클릭합니다.
- 요약 텍스트 상자에 문제에 대한 간략한 설명을 입력합니다.
설명 텍스트 상자에 다음 정보를 입력합니다.
- 문제를 발견한 페이지의 URL입니다.
-
문제에 대한 자세한 설명입니다.
다른 필드에 있는 정보는 기본값에 따라 그대로 둘 수 있습니다.
- 보고자 이름을 추가합니다.
- 생성 을 클릭하여 Jira 문제를 문서 팀에 제출합니다.
피드백을 제공하기 위해 시간을 내어 주셔서 감사합니다.
1장. 브로커 구성 속성 링크 복사링크가 클립보드에 복사되었습니다!
advertised.listenerstype: string
default: null
Importance: high
Dynamic update: per-broker
리스너 config 속성과 다른 경우 클라이언트가 사용할 수 있도록 Zoo Cryostat에 게시하는
리스너입니다. IaaS 환경에서는 브로커가 바인딩하는 인터페이스와 다를 수 있습니다. 이 값을 설정하지 않으면리스너값이 사용됩니다.리스너와 달리 0.0.0.0 메타 주소를 알리는 것은 유효하지 않습니다. 또한리스너와 달리 이 속성에 중복된 포트가 있으므로 다른 리스너의 주소를 알리도록 하나의 리스너를 구성할 수 있습니다. 이는 외부 로드 밸런서가 사용되는 경우에 유용할 수 있습니다.auto.create.topics.enable유형: boolean
Default: true
Importance: high
Dynamic update: read-only
서버에서 주제 자동 생성을 활성화합니다.
auto.leader.rebalance.enable유형: boolean
Default: true
Importance: high
Dynamic update: read-only
자동 리더의 균형을 활성화합니다. 백그라운드 스레드는 정기적으로 파티션 리더의 배포를 확인하고 leader.imbalance.check.interval.seconds로 구성할 수 있습니다. 리더의 불균형이 leader.imbalance.per.broker.percentage를 초과하면 파티션의 기본 리더에 재조정됩니다.
background.threads유형: int
default: 10
유효한 값: [1,…]
Importance: high
동적 업데이트: 클러스터 전체
다양한 백그라운드 처리 작업에 사용할 스레드 수입니다.
broker.id유형: int
Default: -1
Importance: high
Dynamic update: read-only
이 서버의 브로커 ID입니다. 설정되지 않은 경우 고유한 브로커 ID가 생성됩니다. Zoo Cryostat 생성 브로커 ID와 사용자 구성된 브로커 ID 간의 충돌을 방지하기 위해 reserved.broker.max.id + 1에서 시작되는 브로커 ID가 생성됩니다.
compression.type유형: 문자열
Default: producer
유효한 값: [uncompressed, zstd, lz4, snappy, gzip, producer]
Importance: high
동적 업데이트: 클러스터 전체
지정된 항목에 대한 최종 압축 유형을 지정합니다. 이 구성에서는 표준 압축 codecs('gzip', 'snappy', 'lz4', 'zstd')를 허용합니다. 압축하지 않은 것과 동일한 '압축되지 않음' 및 'producer'도 사용할 수 있습니다. 즉, 생산자가 설정한 원래 압축 codec를 유지합니다.
control.plane.listener.nametype: string
default: null
Importance: high
Dynamic update: read-only
컨트롤러와 브로커 간 통신에 사용되는 리스너 이름입니다. 브로커는
control.plane.listener.name을 사용하여 리스너 목록에서 끝점을 찾아 컨트롤러의 연결을 수신 대기합니다. 예를 들어 브로커의 구성이 다음과 같은 경우입니다.listeners = INTERNAL://192.1.1.8:9092, EXTERNAL://10.1.1.5:9093, CONTROLLER://192.1.1.8:9094listener.security.protocol.map = INTERNAL:PLAINTEXT, EXTERNAL:SSL, CONTROLLER:SSLcontrol.listener.name = CONTROLLERon startup, 브로커는 보안 프로토콜 "SSL"을 사용하여 "192.1.1.8:9094"에서 수신 대기 시작합니다. 컨트롤러 측에서 Zoo Cryostat를 통해 브로커의 게시된 엔드포인트를 발견하면control.plane.listener.name을 사용하여 브로커에 대한 연결을 설정하는 데 사용할 엔드포인트를 찾습니다. 예를 들어, Zoo Cryostat에 브로커의 게시 엔드포인트가 있는 경우 다음과 같습니다."endpoints" : ["INTERNAL://broker1.example.com:9092","EXTERNAL://broker1.example.com:9093","CONTROLLER://broker1.example.com:9094"]및 컨트롤러의 구성은 다음과 같습니다.listener.security.protocol.map = INTERNAL:PLAINTEXT, EXTERNAL:SSL, CONTROLLER:SSLcontrol.plane.listener.name = CONTROLLER를 사용하면 컨트롤러는 보안 프로토콜 "SSL"과 함께 "broker1.example.com:9094"를 사용하여 브로커에 연결합니다. 명시적으로 구성되지 않은 경우 기본값은 null이며 컨트롤러 연결에 대한 전용 끝점이 없습니다. 명시적으로 구성된 경우 값은inter.broker.listener.name값과 같을 수 없습니다.controller.listener.namestype: string
default: null
Importance: high
Dynamic update: read-only
컨트롤러에서 사용하는 리스너 이름 쉼표로 구분된 목록입니다. 이는 KRaft 모드에서 실행되는 경우 필요합니다. 컨트롤러 쿼럼과 통신할 때 브로커는 항상 이 목록의 첫 번째 리스너를 사용합니다. 참고: Zoo Cryostat 기반 컨트롤러는 이 구성을 설정하지 않아야 합니다.
controller.quorum.election.backoff.max.ms유형: int
Default: 1000 (1 second)
Importance: high
Dynamic update: read-only
새 선택을 시작하기 전의 최대 시간(밀리초)입니다. 이는 그리드 잠금 선택을 방지하는 데 도움이 되는 바이너리 지수 백오프 메커니즘에 사용됩니다.
controller.quorum.election.timeout.ms유형: int
Default: 1000 (1 second)
Importance: high
Dynamic update: read-only
새 선택을 트리거하기 전에 리더에서 가져오지 않고 대기하는 최대 시간(밀리초)입니다.
controller.quorum.fetch.timeout.ms유형: int
기본값: 2000(2초)
중요도: high
동적 업데이트: 읽기 전용
후보가 되기 전에 현재 리더에서 성공적으로 가져오지 않고 선택을 트리거하는 최대 시간; 리더가 다시 서명하기 전에 대다수의 쿼럼에서 유효한 페치 또는 fetchSnapshot 요청을 받지 않고 갈 수 있는 최대 시간.
controller.quorum.voterstype: list
default: ""
Valid Values: non-empty list
Importance: high
Dynamic update: read-only
{id}@{host}:{port}항목의 쉼표로 구분된 목록에 있는 후보 집합의 ID/endpoint 정보를 매핑합니다. 예:1@localhost:9092,2@localhost:9093,3@localhost:9094.delete.topic.enable유형: boolean
Default: true
Importance: high
Dynamic update: read-only
주제 삭제를 활성화합니다. 이 구성이 꺼져 있으면 관리자 툴을 통해 주제를 삭제해도 적용되지 않습니다.
early.start.listenerstype: string
default: null
Importance: high
Dynamic update: read-only
승인자가 초기화를 완료하기 전에 시작할 수 있는 쉼표로 구분된 리스너 이름 목록입니다. 이는 인증자가 부트스트랩을 위해 클러스터 자체에 의존하는 경우(메타데이터 로그에 ACL을 저장하는) StandardAuthorizer의 경우와 같이 유용합니다. 기본적으로 controller.listener.names에 포함된 모든 리스너도 초기 시작 리스너입니다. 외부 트래픽을 수락하는 경우 리스너가 이 목록에 표시되지 않아야 합니다.
eligible.leader.replicas.enable유형: 부울
기본값: false
중요성: high
Dynamic update: read-only
Eligible leader 복제본을 활성화합니다.
leader.imbalance.check.interval.seconds유형: long
default: 300
유효한 값: [1,…]
Importance: high
동적 업데이트: 읽기 전용
파티션 재조정 검사를 수행하는 빈도는 컨트롤러에 의해 트리거됩니다.
leader.imbalance.per.broker.percentage유형: int
Default: 10
Importance: high
Dynamic update: read-only
브로커당 허용되는 리더 불균형의 비율입니다. 컨트롤러는 브로커당 이 값을 초과하면 리더 균형을 트리거합니다. 이 값은 백분율로 지정됩니다.
리스너유형: 문자열
기본값: PLAINTEXT://:9092
가져오기: high
동적 업데이트: per-broker
리스너 목록 - 당사가 수신 대기할 URI와 리스너 이름을 쉼표로 구분한 목록입니다. 리스너 이름이 보안 프로토콜이 아닌 경우
listener.security.protocol.map도 설정해야 합니다. 리스너가 IPv4 주소이고 다른 리스너는 IPv6 주소(동일 포트의 경우)가 아닌 경우 리스너 이름 및 포트 번호는 고유해야 합니다. 모든 인터페이스에 바인딩하려면 호스트 이름을 0.0.0.0으로 지정합니다. 기본 인터페이스에 바인딩하려면 호스트 이름을 비워 둡니다. 법적 리스너 목록의 예로는PLAINTEXT://myhost:9092,SSL://:9091CLIENT://0.0.0.0:9092,REPLICATION://localhost:9093PLAINTEXT://127.0.0.1:9092,SSL://[::1]:9092.log.dirtype: string
Default: /tmp/kafka-logs
Importance: high
Dynamic update: read-only
로그 데이터가 보관되는 디렉터리입니다(log.dirs 속성의 경우 추가 기능).
log.dirstype: string
default: null
Importance: high
Dynamic update: read-only
로그 데이터가 저장되는 쉼표로 구분된 디렉터리 목록입니다. 설정되지 않은 경우 log.dir의 값이 사용됩니다.
log.flush.interval.messages유형: long
기본값: 92233720368775807
유효한 값: [1,…]
Importance: high
동적 업데이트: cluster-wide
메시지가 디스크에 플러시되기 전에 로그 파티션에 누적된 메시지 수입니다.
log.flush.interval.ms유형: long
default: null
Importance: high
Dynamic update: cluster-wide
모든 주제의 메시지가 디스크에 플러시되기 전에 메모리에 유지되는 ms의 최대 시간입니다. 설정되지 않은 경우 log.flush.scheduler.interval.ms의 값이 사용됩니다.
log.flush.offset.checkpoint.interval.ms유형: int
Default: 60000 (1 minute)
유효한 값: [0,…]
중요도: high
동적 업데이트: 읽기 전용
로그 복구 지점 역할을 하는 마지막 플러시의 영구 레코드를 업데이트하는 빈도입니다.
log.flush.scheduler.interval.ms유형: long
기본값: 9223372036854775807
중요: high
동적 업데이트: 읽기 전용
로그 플러시기가 로그를 디스크에 플러시해야 하는지 확인하는 ms의 빈도입니다.
log.flush.start.offset.checkpoint.interval.ms유형: int
Default: 60000 (1 minute)
유효한 값: [0,…]
중요도: high
동적 업데이트: 읽기 전용
로그 시작 오프셋의 영구 레코드를 업데이트하는 빈도입니다.
log.retention.bytes유형: long
기본값: -1
Importance: high
동적 업데이트: 클러스터 전체
삭제하기 전에 로그의 최대 크기입니다.
log.retention.hours유형: int
Default: 168
Importance: high
Dynamic update: read-only
로그 파일을 삭제하기 전에(시간 단위), log.retention.ms 속성을 삭제하는 시간(시간)입니다.
log.retention.minutes유형: int
default: null
Importance: high
Dynamic update: read-only
로그 파일을 삭제하기 전에 로그 파일을 유지하는 분 수(분 단위), secondary to log.retention.ms 속성입니다. 설정되지 않은 경우 log.retention.hours의 값이 사용됩니다.
log.retention.ms유형: long
default: null
Importance: high
Dynamic update: cluster-wide
로그 파일을 삭제하기 전에 로그 파일을 유지하는 시간(밀리초)입니다. 설정되지 않은 경우 log.retention.minutes의 값이 사용됩니다. -1로 설정하면 시간 제한이 적용되지 않습니다.
log.roll.hours유형: int
기본값: 168
유효한 값: [1,…]
중요도: high
동적 업데이트: 읽기 전용
새 로그 세그먼트가 롤아웃되기 전의 최대 시간(시간 단위), log.roll.ms 속성의 보조입니다.
log.roll.jitter.hourstype: int
Default: 0
Valid Values: [0,…]
Importance: high
Dynamic update: read-only
logRollTimeMillis (시간 단위), log.roll.jitter.ms 속성을 뺀 최대 jitter입니다.
log.roll.jitter.ms유형: long
default: null
Importance: high
Dynamic update: cluster-wide
logRollTimeMillis(밀리초)에서 뺀 최대 jitter입니다. 설정되지 않은 경우 log.roll.jitter.hours의 값이 사용됩니다.
log.roll.ms유형: long
default: null
Importance: high
Dynamic update: cluster-wide
새 로그 세그먼트가 롤아웃되기 전의 최대 시간(밀리초)입니다. 설정되지 않은 경우 log.roll.hours의 값이 사용됩니다.
log.segment.bytes유형: int
기본값: 1073741824 (1gibibyte)
유효한 값: [14,…]
Importance: high
동적 업데이트: 클러스터 전체
단일 로그 파일의 최대 크기입니다.
log.segment.delete.delay.ms유형: long
기본값: 60000 (1 minute)
유효한 값: [0,…]
중요도: high
동적 업데이트: 클러스터 전체
파일 시스템에서 파일을 삭제하기 전에 대기하는 시간입니다.
message.max.bytes유형: int
기본값: 1048588
유효한 값: [0,…]
중요도: high
동적 업데이트: 클러스터 전체
Kafka에서 허용하는 가장 큰 레코드 배치 크기입니다(압축이 활성화된 경우 압축 후). 이 문제가 증가되고 0.10.2보다 오래된 소비자가 있는 경우 이 대규모 레코드 일괄 처리를 가져올 수 있도록 소비자의 가져오기 크기도 늘려야 합니다. 최신 메시지 형식 버전에서는 효율성을 위해 항상 레코드를 일괄 처리로 그룹화합니다. 이전 메시지 형식 버전에서는 압축되지 않은 레코드가 일괄 처리로 그룹화되지 않으며 이 제한은 단일 레코드에만 적용됩니다. 이는 주제 수준
max.message.bytes구성을 사용하여 주제별로 설정할 수 있습니다.metadata.log.dirtype: string
default: null
Importance: high
Dynamic update: read-only
이 구성은 KRaft 모드에서 클러스터의 메타데이터 로그를 배치할 위치를 결정합니다. 설정되지 않은 경우 메타데이터 로그는 log.dirs의 첫 번째 로그 디렉터리에 배치됩니다.
metadata.log.max.record.bytes.between.snapshots유형: long
기본값: 20971520
유효한 값: [1,…]
중요도: high
동적 업데이트: 읽기 전용
이는 새 스냅샷을 생성하기 전에 필요한 최신 스냅샷과 high-watermark 간의 로그의 최대 바이트 수입니다. 기본값은 20971520입니다. 경과된 시간을 기반으로 스냅샷을 생성하려면
metadata.log.max.snapshot.interval.ms구성을 참조하십시오. 최대 시간 간격에 도달하거나 최대 바이트 제한에 도달하면 Kafka 노드에서 스냅샷을 생성합니다.metadata.log.max.snapshot.interval.ms유형: long
Default: 3600000 (1 hour)
유효한 값: [0,…]
중요: high
동적 업데이트: 읽기 전용
최신 스냅샷에 포함되지 않은 로그에 커밋된 레코드가 있는 경우 스냅샷을 생성하기 위해 대기할 최대 시간(밀리초)입니다. 값이 0이면 시간 기반 스냅샷 생성이 비활성화됩니다. 기본값은 3600000입니다. 메타데이터 바이트 수를 기반으로 스냅샷을 생성하려면
metadata.log.max.record.bytes.crossween.snapshots구성을 참조하십시오. 최대 시간 간격에 도달하거나 최대 바이트 제한에 도달하면 Kafka 노드에서 스냅샷을 생성합니다.metadata.log.segment.bytes유형: int
기본값: 1073741824 (1gibibyte)
유효한 값: [12,…]
Importance: high
동적 업데이트: 읽기 전용
단일 메타데이터 로그 파일의 최대 크기입니다.
metadata.log.segment.ms유형: long
Default: 604800000 (7 days)
Importance: high
Dynamic update: read-only
새 메타데이터 로그 파일이 롤아웃되기 전의 최대 시간(밀리초)입니다.
metadata.max.retention.bytes유형: long
기본값: 104857600(100 메비바이트)
중요성: high
동적 업데이트: 읽기 전용
이전 스냅샷 및 로그 파일을 삭제하기 전에 메타데이터 로그 및 스냅샷의 최대 결합된 크기입니다. 로그를 삭제하기 전에 하나 이상의 스냅샷이 있어야 하므로 이는 소프트 제한입니다.
metadata.max.retention.ms유형: long
Default: 604800000 (7 days)
Importance: high
Dynamic update: read-only
메타데이터 로그 파일 또는 스냅샷을 삭제하기 전에 유지하는 시간(밀리초)입니다. 로그를 삭제하기 전에 하나 이상의 스냅샷이 있어야 하므로 이는 소프트 제한입니다.
min.insync.replicas유형: int
default: 1
유효한 값: [1,…]
Importance: high
동적 업데이트: 클러스터 전체
생산자가 소켓을 "all"(또는 "-1")로 설정하면
min.insync.replicas는 쓰기가 성공으로 간주되기 위해 쓰기를 승인해야 하는 최소 복제본 수를 지정합니다. 이 최소값을 충족할 수 없는 경우 생산자는 예외를 발생시킵니다(NotEnoughReplicas또는NotEnoughReplicasAfterAppend).min.insync.replicas및 acks를 함께 사용하면 더 큰 지속성 보장을 적용할 수 있습니다. 일반적인 시나리오는 복제 인수가 3인 주제를 만들고min.insync.replicas를 2로 설정하고, acks of "all"을 생성하는 것입니다. 이렇게 하면 대부분의 복제본에서 쓰기를 수신하지 못하는 경우 생산자가 예외를 발생시킵니다.node.id유형: int
Default: -1
Importance: high
Dynamic update: read-only
process.roles가 비어 있지 않을 때 이 프로세스가 수행하는 역할과 연결된 노드 ID입니다. 이는 KRaft 모드에서 실행할 때 필요한 구성입니다.num.io.threads유형: int
기본값: 8
유효한 값: [1,…]
Importance: high
동적 업데이트: 클러스터 전체
서버가 요청을 처리하는 데 사용하는 스레드 수이며 디스크 I/O를 포함할 수 있습니다.
num.network.threads유형: int
default: 3
유효한 값: [1,…]
Importance: high
동적 업데이트: 클러스터 전체
서버가 네트워크에서 요청을 수신하고 네트워크에 응답을 전송하는 데 사용하는 스레드 수입니다. 참고: 각 리스너(컨트롤러 리스너 제외)는 자체 스레드 풀을 생성합니다.
num.recovery.threads.per.data.dir유형: int
default: 1
유효한 값: [1,…]
Importance: high
동적 업데이트: 클러스터 전체
시작 시 로그 복구 및 종료 시 플러시에 사용할 데이터 디렉터리당 스레드 수입니다.
num.replica.alter.log.dirs.threads유형: int
default: null
Importance: high
Dynamic update: read-only
로그 디렉토리 간에 복제본을 이동할 수 있는 스레드 수로, 디스크 I/O를 포함할 수 있습니다.
num.replica.fetchers유형: int
Default: 1
Importance: high
Dynamic update: cluster-wide
각 소스 브로커에서 레코드를 복제하는 데 사용되는 가져오기 스레드 수입니다. 각 브로커의 총 가져오기 수는
num.replica.fetchers에 클러스터의 브로커 수를 곱한 값입니다.이 값을 늘리면 CPU 및 메모리 사용률이 높은 비용으로 팔로워 및 리더 브로커의 I/O 병렬 처리 수준이 증가할 수 있습니다.offset.metadata.max.bytes유형: int
Default: 4096 (4kibibytes)
Importance: high
Dynamic update: read-only
오프셋 커밋과 연결된 메타데이터 항목의 최대 크기입니다.
offsets.commit.required.acks유형: short
기본값: -1
Importance: high
Dynamic update: read-only
커밋을 승인하기 전에 필요한 양말입니다. 일반적으로 기본값(-1)을 재정의해서는 안 됩니다.
offsets.commit.timeout.ms유형: int
Default: 5000 (5 seconds)
유효한 값: [1,…]
중요도: high
동적 업데이트: 읽기 전용
오프셋된 주제의 모든 복제본이 커밋을 수신하거나 이 시간 초과에 도달할 때까지 오프셋 커밋이 지연됩니다. 이는 생산자 요청 시간 초과와 유사합니다.
offsets.load.buffer.size유형: int
기본값: 5242880
유효한 값: [1,…]
중요도: high
동적 업데이트: 읽기 전용
오프셋을 캐시에 로드할 때 오프셋 세그먼트에서 읽기 위한 배치 크기입니다(기록이 너무 큰 경우soft-limit, 재정의).
offsets.retention.check.interval.ms유형: long
기본값: 600000(10분)
유효한 값: [1,…]
중요도: high
동적 업데이트: 읽기 전용
오래된 오프셋을 확인하는 빈도입니다.
offsets.retention.minutestype: int
default: 10080
Valid Values: [1,…]
Importance: high
Dynamic update: read-only
구독된 소비자의 경우 특정 파티션의 커밋된 오프셋이 만료되고 삭제될 때 1) 소비자 그룹이 모든 소비자를 손실한 후 이 보존 기간이 만료되고(즉, 비어 있음); 2) 파티션에 대한 오프셋이 커밋되고 그룹이 해당 항목에 더 이상 가입되지 않으므로 이 보존 기간이 경과됩니다. 독립 실행형 소비자의 경우(수동 할당 사용) 마지막 커밋 이후 이 보존 기간이 경과한 후 오프셋이 만료됩니다. 삭제 그룹 요청을 통해 그룹을 삭제하면 커밋된 오프셋도 추가 보존 기간 없이 삭제됩니다. 삭제 요청을 통해 주제를 삭제한 경우에도 해당 항목에 대한 그룹의 커밋된 오프셋도 추가 보존 기간 없이 삭제됩니다.
offsets.topic.compression.codec유형: int
Default: 0
Importance: high
Dynamic update: read-only
오프셋 항목에 대한 압축 코드c - 압축이 "atomic" 커밋을 달성하는 데 사용될 수 있습니다.
offsets.topic.num.partitions유형: int
default: 50
유효한 값: [1,…]
Importance: high
동적 업데이트: 읽기 전용
오프셋 커밋 주제의 파티션 수(배포 후 변경되지 않음).
offsets.topic.replication.factor유형: short
기본값: 3
유효한 값: [1,…]
Importance: high
동적 업데이트: 읽기 전용
오프셋 주제의 복제 요소(가용성을 보장하기 위해 더 높은 설정). 클러스터 크기가 이 복제 요인 요구 사항을 충족할 때까지 내부 주제 생성이 실패합니다.
offsets.topic.segment.bytes유형: int
기본값: 104857600(100 메비바이트)
유효한 값: [1,…]
Importance: high
동적 업데이트: 읽기 전용
더 빠른 로그 압축 및 캐시 로드를 용이하게 하려면 오프셋 주제 세그먼트 바이트는 상대적으로 작아야 합니다.
process.rolestype: list
default: ""
유효한 값: [broker, controller]
Importance: high
동적 업데이트: 읽기 전용
이 프로세스가 수행하는 역할: 'broker', 'controller' 또는 'broker,controller'가 둘 다 있는 경우입니다. 이 구성은 KRaft(Kafka Raft) 모드의 클러스터(파운드 대신)에만 적용됩니다. Zoo Cryostat 클러스터에 대해 이 구성을 정의되지 않았거나 비워 둡니다.
queued.max.requeststype: int
Default: 500
Valid Values: [1,…]
Importance: high
Dynamic update: read-only
네트워크 스레드를 차단하기 전에 데이터 플레인에 허용되는 대기 중인 요청 수입니다.
replica.fetch.min.bytes유형: int
Default: 1
Importance: high
Dynamic update: read-only
각 가져오기 응답에 예상되는 최소 바이트 수입니다. 바이트가 충분하지 않은 경우
replica.fetch.wait.max.ms(broker config)까지 기다립니다.replica.fetch.wait.max.ms유형: int
Default: 500
Importance: high
Dynamic update: read-only
follower 복제본에서 발행한 각 fetcher 요청에 대한 최대 대기 시간입니다. 처리량이 낮은 항목에 대해 ISR을 자주 축소하지 않도록 이 값은 항상 replica.lag.time.max.ms보다 작아야 합니다.
replica.high.watermark.checkpoint.interval.ms유형: long
Default: 5000 (5초)
중요: high
Dynamic update: read-only
높은 워터마크가 디스크에 저장되는 빈도입니다.
replica.lag.time.max.ms유형: long
기본값: 30000(30초)
중요도: high
동적 업데이트: 읽기 전용
후속자가 가져오기 요청을 보내지 않았거나 적어도 현재 리더 로그 엔드 오프셋까지 소비하지 않은 경우 리더는 isr에서 후속 요청을 제거합니다.
replica.socket.receive.buffer.bytes유형: int
기본값: 65536 (64 kibibytes)
중요성: high
동적 업데이트: 읽기 전용
소켓은 데이터를 복제하기 위해 리더에게 네트워크 요청에 대한 네트워크 요청을 수신합니다.
replica.socket.timeout.ms유형: int
Default: 30000 (30 seconds)
Importance: high
Dynamic update: read-only
네트워크 요청에 대한 소켓 제한 시간입니다. 해당 값은 replica.fetch.wait.max.ms 이상이어야 합니다.
request.timeout.ms유형: int
Default: 30000 (30 seconds)
Importance: high
Dynamic update: read-only
구성은 클라이언트가 요청 응답을 기다리는 최대 시간을 제어합니다. 시간 초과가 경과하기 전에 응답을 수신하지 않으면 필요한 경우 클라이언트가 요청을 다시 전송하거나 재시도가 소진되면 요청을 다시 보냅니다.
sasl.mechanism.controller.protocol유형: 문자열
기본값: GSSAPI
Importance: high
Dynamic update: read-only
컨트롤러와의 통신에 사용되는 SASL 메커니즘입니다. 기본값은 GSSAPI입니다.
socket.receive.buffer.bytes유형: int
Default: 102400 (100 kibibytes)
Importance: high
Dynamic update: read-only
소켓 서버 소켓의 SO_RCVBUF 버퍼입니다. 값이 -1이면 OS 기본값이 사용됩니다.
socket.request.max.bytes유형: int
기본값: 104857600(100 메비바이트)
유효한 값: [1,…]
Importance: high
동적 업데이트: 읽기 전용
소켓 요청의 최대 바이트 수입니다.
socket.send.buffer.bytes유형: int
Default: 102400 (100 kibibytes)
Importance: high
Dynamic update: read-only
소켓 서버 소켓의 SO_SNDBUF 버퍼입니다. 값이 -1이면 OS 기본값이 사용됩니다.
transaction.max.timeout.ms유형: int
기본값: 900000 (15 분)
유효한 값: [1,…]
중요도: high
동적 업데이트: 읽기 전용
트랜잭션에 허용되는 최대 시간 초과입니다. 클라이언트의 요청된 트랜잭션 시간이 이 값을 초과하면 브로커는 InitProducerIdRequest에서 오류를 반환합니다. 이렇게 하면 클라이언트가 시간 초과가 너무 커지므로 트랜잭션에 포함된 항목에서 읽는 모든 소비자를 중단할 수 있습니다.
transaction.state.log.load.buffer.size유형: int
기본값: 5242880
유효한 값: [1,…]
중요도: high
동적 업데이트: 읽기 전용
생산자 ID 및 트랜잭션을 캐시에 로드할 때 트랜잭션 로그 세그먼트에서 읽기 위한 배치 크기입니다(기록이 너무 큰 경우soft-limit, 재정의).
transaction.state.log.min.isr유형: int
default: 2
유효한 값: [1,…]
Importance: high
동적 업데이트: 읽기 전용
트랜잭션 주제의 min.insync.replicas 구성을 덮어씁니다.
transaction.state.log.num.partitions유형: int
default: 50
유효한 값: [1,…]
Importance: high
동적 업데이트: 읽기 전용
트랜잭션 주제의 파티션 수(배포 후 변경되지 않음).
transaction.state.log.replication.factor유형: short
기본값: 3
유효한 값: [1,…]
Importance: high
동적 업데이트: 읽기 전용
트랜잭션 주제의 복제 요소(가용성을 보장하기 위해 더 높은 설정). 클러스터 크기가 이 복제 요인 요구 사항을 충족할 때까지 내부 주제 생성이 실패합니다.
transaction.state.log.segment.bytes유형: int
기본값: 104857600(100 메비바이트)
유효한 값: [1,…]
Importance: high
동적 업데이트: 읽기 전용
더 빠른 로그 압축 및 캐시 로드를 용이하게 하려면 트랜잭션 주제 세그먼트 바이트는 비교적 작게 유지되어야 합니다.
transactional.id.expiration.ms유형: int
Default: 604800000 (7 days)
유효한 값: [1,…]
Importance: high
Dynamic update: read-only
트랜잭션 코디네이터가 트랜잭션 ID를 만료하기 전에 현재 트랜잭션에 대한 트랜잭션 상태를 업데이트하지 않고 대기하는 ms의 시간입니다. 트랜잭션이 계속 진행되는 동안 트랜잭션 ID는 만료되지 않습니다.
unclean.leader.election.enable유형: 부울
기본값: false
중요성: high
동적 업데이트: 클러스터 전체
ISR 세트의 복제본이 마지막 수단으로 리더로 선택되지 않도록 활성화할지 여부를 나타내며, 이렇게 하면 데이터가 손실될 수 있습니다.
zookeeper.connecttype: string
default: null
Importance: high
Dynamic update: read-only
hostname:port형식으로 Zoo Cryostat 연결 문자열을 지정합니다. 여기서 호스트와 포트는 Zoo Cryostat 서버의 호스트 및 포트입니다. Zoo Cryostat 머신이 다운되었을 때 다른 Zoo Cryostat 노드를 통해 연결할 수 있도록hostname1:port1,hostname2:port2,hostname3:port3형식으로 여러 호스트를 지정할 수도 있습니다. 서버는 또한 Zoo Cryostat 연결 문자열의 일부로 Zoo Cryostat chroot 경로를 가질 수 있으며, 이는 글로벌 Zoo Cryostat 네임스페이스의 경로 아래에 해당 데이터를 넣습니다. 예를 들어 chroot 경로/chroot/path를 제공하려면 연결 문자열을hostname1:port1,hostname2:port2,hostname3:port3/chroot/path로 지정합니다.zookeeper.connection.timeout.ms유형: int
default: null
Importance: high
Dynamic update: read-only
클라이언트가 Zoo Cryostat에 대한 연결을 설정하는 데 대기하는 최대 시간입니다. 설정되지 않은 경우 zookeeper.session.timeout.ms의 값이 사용됩니다.
zookeeper.max.in.flight.requests유형: int
기본값: 10
유효한 값: [1,…]
중요도: high
동적 업데이트: 읽기 전용
클라이언트가 차단하기 전에 클라이언트가 Zoo Cryostat로 전송할 수 없는 최대 요청 수입니다.
zookeeper.metadata.migration.enable유형: 부울
기본값: false
중요성: high
Dynamic update: read-only
ZK에서 KRaft 마이그레이션을 활성화합니다.
zookeeper.session.timeout.ms유형: int
기본값: 18000(18초)
중요도: high
동적 업데이트: 읽기 전용
Zookeeper 세션 시간 초과
zookeeper.set.acl유형: 부울
기본값: false
중요성: high
Dynamic update: read-only
보안 ACL을 사용하도록 클라이언트를 설정합니다.
broker.heartbeat.interval.ms유형: int
기본값: 2000(2초)
중요도: 중간
동적 업데이트: 읽기 전용
브로커 하트비트 사이의 시간(밀리초)입니다. KRaft 모드에서 실행할 때 사용됩니다.
broker.id.generation.enabletype: boolean
Default: true
Importance: medium
Dynamic update: read-only
서버에서 자동 브로커 ID 생성을 활성화합니다. reserved.broker.max.id에 대해 구성된 값을 검토해야 합니다.
broker.racktype: string
Default: null
Importance: medium
Dynamic update: read-only
브로커의 Rack of the Broker 이는 랙에서 내결함성에 대한 복제 할당을 인식하는 데 사용됩니다. 예:
RACK1,us-east-1d.broker.session.timeout.ms유형: int
Default: 9000 (9 seconds)
Importance: medium
Dynamic update: read-only
하트비트가 이루어지지 않은 경우 브로커 리스가 지속되는 시간(밀리초)입니다. KRaft 모드에서 실행할 때 사용됩니다.
connections.max.idle.ms유형: long
기본값: 600000(10분)
중요도: 중간
동적 업데이트: 읽기 전용
유휴 연결 시간 초과: 서버 소켓 프로세서 스레드는 이 이상의 유휴 연결을 종료합니다.
connections.max.reauth.mstype: long
Default: 0
Importance: medium
Dynamic update: read-only
명시적으로 양수로 설정되는 경우(기본값은 양수가 아님), 구성된 값을 초과하지 않는 세션 수명은 v2.2.0 이상 클라이언트에 전달됩니다. 브로커는 세션 수명 내에 재인증되지 않은 이러한 연결을 끊고 나중에 재인증 이외의 용도로 사용됩니다. 구성 이름 앞에는 필요한 경우 리스너 접두사 및 SASL 메커니즘 이름 접두어를 사용할 수 있습니다. 예를 들어 listener.name.sasl_ssl.oauthbearer.connections.max.reauth.ms=3600000입니다.
controlled.shutdown.enabletype: boolean
Default: true
Importance: medium
Dynamic update: read-only
서버의 제어된 종료를 활성화합니다.
controlled.shutdown.max.retries유형: int
Default: 3
Importance: medium
Dynamic update: read-only
제어 종료는 여러 가지 이유로 실패할 수 있습니다. 이렇게 하면 이러한 오류가 발생할 때 재시도 횟수가 결정됩니다.
controlled.shutdown.retry.backoff.ms유형: long
Default: 5000 (5초)
중요: 중간
동적 업데이트: 읽기 전용
각 재시도 전에 시스템은 이전 실패 (Controller fail over, replica delay 등)를 발생시킨 상태에서 복구할 시간이 필요합니다. 이 구성에서는 재시도하기 전에 대기할 시간을 결정합니다.
controller.quorum.append.linger.ms유형: int
Default: 25
Importance: medium
Dynamic update: read-only
리더가 디스크에 플러시하기 전에 누적 쓰기를 기다리는 시간(밀리초)입니다.
controller.quorum.request.timeout.ms유형: int
기본값: 2000(2초)
중요도: 중간
동적 업데이트: 읽기 전용
구성은 클라이언트가 요청 응답을 기다리는 최대 시간을 제어합니다. 시간 초과가 경과하기 전에 응답을 수신하지 않으면 필요한 경우 클라이언트가 요청을 다시 전송하거나 재시도가 소진되면 요청을 다시 보냅니다.
controller.socket.timeout.ms유형: int
기본값: 30000(30초)
중요도: 매체
동적 업데이트: 읽기 전용
controller-to-broker 채널의 소켓 시간 초과입니다.
default.replication.factor유형: int
Default: 1
Importance: medium
Dynamic update: read-only
자동으로 생성된 주제의 기본 복제 요인입니다.
delegation.token.expiry.time.ms유형: long
기본값: 86400000 (1 day)
유효한 값: [1,…]
중요도: 중간
동적 업데이트: 읽기 전용
토큰을 갱신하기 전에 토큰 유효 시간(밀리초)입니다. 기본값은 1일입니다.
delegation.token.master.key유형: password
Default: null
Importance: medium
Dynamic update: read-only
DEPRECATED: 이 구성 대신 사용해야 하는 delegation.token.secret.key의 별칭입니다.
delegation.token.max.lifetime.ms유형: long
Default: 604800000 (7 days)
유효한 값: [1,…]
Importance: medium
Dynamic update: read-only
토큰은 최대 수명을 가지며 더 이상 갱신할 수 없습니다. 기본값은 7일입니다.
delegation.token.secret.key유형: password
Default: null
Importance: medium
Dynamic update: read-only
위임 토큰을 생성하고 확인하는 시크릿 키입니다. 동일한 키는 모든 브로커에 걸쳐 구성되어야 합니다. KRaft와 함께 Kafka를 사용하는 경우 키를 모든 컨트롤러에도 설정해야 합니다. 키를 설정하지 않거나 빈 문자열로 설정하면 브로커에서 위임 토큰 지원을 비활성화합니다.
delete.records.purgatory.purge.interval.requests유형: int
Default: 1
Importance: medium
Dynamic update: read-only
삭제 레코드의 제거 간격(요청 수)입니다.
fetch.max.bytes유형: int
기본값: 57671680 (55 메비바이트)
유효한 값: [1024,…]
가져오기: 중간
동적 업데이트: 읽기 전용
fetch 요청에 대해 반환할 최대 바이트 수입니다. 1024 이상이어야 합니다.
fetch.purgatory.purge.interval.requests유형: int
Default: 1000
Importance: medium
Dynamic update: read-only
fetch 요청 시행의 제거 간격(요청 수)입니다.
group.consumer.assignorstype : list
Default: org.apache.kafka.coordinator.group.assignor.UniformAssignor,org.apache.kafka.coordinator.group.assignor.assignor.RangeAssignor
가져오기: medium
Dynamic update: read-only
서버 측 할당자는 전체 클래스 이름 목록으로 사용됩니다. 목록의 첫 번째 항목은 소비자가 할당자를 지정하지 않는 경우 사용할 기본 할당자로 간주됩니다.
group.consumer.heartbeat.interval.ms유형: int
Default: 5000 (5 seconds)
유효한 값: [1,…]
중요도: 중간
동적 업데이트: 읽기 전용
소비자 그룹의 멤버에게 제공되는 하트비트 간격입니다.
group.consumer.max.heartbeat.interval.ms유형: int
Default: 15000 (15 seconds)
유효한 값: [1,…]
중요도: 중간
동적 업데이트: 읽기 전용
등록된 소비자의 최대 하트비트 간격입니다.
group.consumer.max.session.timeout.ms유형: int
Default: 60000 (1 minute)
유효한 값: [1,…]
중요도: 중간
동적 업데이트: 읽기 전용
등록된 소비자에 대해 허용되는 최대 세션 시간 초과입니다.
group.consumer.max.size유형: int
기본값: 2147483647
유효한 값: [1,…]
중요도: 중간
동적 업데이트: 읽기 전용
단일 소비자 그룹이 수용할 수 있는 최대 소비자 수입니다.
group.consumer.min.heartbeat.interval.ms유형: int
Default: 5000 (5 seconds)
유효한 값: [1,…]
중요도: 중간
동적 업데이트: 읽기 전용
등록된 소비자의 최소 하트비트 간격입니다.
group.consumer.min.session.timeout.ms유형: int
기본값: 45000(45초)
유효한 값: [1,…]
중요도: 중간
동적 업데이트: 읽기 전용
등록된 소비자에 대해 허용되는 최소 세션 시간 초과입니다.
group.consumer.session.timeout.ms유형: int
기본값: 45000(45초)
유효한 값: [1,…]
중요도: 중간
동적 업데이트: 읽기 전용
소비자 그룹 프로토콜을 사용할 때 클라이언트 오류를 감지하는 제한 시간입니다.
group.coordinator.rebalance.protocolstype: list
default: classic
유효한 값: [consumer, classic]
중요도: 중간
동적 업데이트: 읽기 전용
활성화된 리밸런스 프로토콜 목록입니다. 지원되는 프로토콜: consumer,classic. 소비자 리밸런스 프로토콜은 조기에 액세스하므로 프로덕션에서 사용해서는 안 됩니다.
group.coordinator.threads유형: int
default: 1
유효한 값: [1,…]
Importance: medium
Dynamic update: read-only
그룹 코디네이터에서 사용하는 스레드 수입니다.
group.initial.rebalance.delay.ms유형: int
Default: 3000 (3초)
Importance: medium
Dynamic update: read-only
그룹 코디네이터가 첫 번째 리밸런스를 수행하기 전에 더 많은 소비자가 새 그룹에 참여할 때까지 기다립니다. 지연 시간이 길어지면 잠재적으로 리밸런스가 줄어들지만 처리가 시작될 때까지 시간이 증가합니다.
group.max.session.timeout.ms유형: int
Default: 1800000 (30 분)
중요도: 중간
동적 업데이트: 읽기 전용
등록된 소비자에 대해 허용되는 최대 세션 시간 초과입니다. 시간 초과 시간이 길어짐에 따라 소비자가 오류를 감지하는 데 더 오랜 시간 동안 하트비트 간에 메시지를 처리할 수 있는 시간을 확보할 수 있습니다.
group.max.size유형: int
기본값: 2147483647
유효한 값: [1,…]
중요도: 중간
동적 업데이트: 읽기 전용
단일 소비자 그룹이 수용할 수 있는 최대 소비자 수입니다.
group.min.session.timeout.ms유형: int
기본값: 6000 (6 초)
중요도: 중간
동적 업데이트: 읽기 전용
등록된 소비자에 대해 허용되는 최소 세션 시간 초과입니다. 짧은 시간 초과로 인해 더 빈번한 소비자 하트비 상태 발생 시 실패 탐지가 빨라지므로 브로커 리소스를 덮어쓸 수 있습니다.
initial.broker.registration.timeout.ms유형: int
Default: 60000 (1 minute)
Importance: medium
Dynamic update: read-only
처음에 컨트롤러 쿼럼에 등록할 때 실패로 선언하고 브로커 프로세스를 종료하기 전에 대기할 시간(밀리초)입니다.
inter.broker.listener.nametype: string
Default: null
Importance: medium
Dynamic update: read-only
브로커 간 통신에 사용되는 리스너 이름입니다. 설정되지 않은 경우 리스너 이름은 security.inter.broker.protocol에 의해 정의됩니다. 이 및 security.broker.protocol 속성을 동시에 설정하는 것은 오류입니다.
inter.broker.protocol.version유형: 문자열
Default: 3.7-IV4
Valid Values: [0.8.0, 0.8.2, 0.9.0, 0.10.0-IV0, 0.10.0-IV0, 0.10.0-IV0, 0.10.1-IV0, 0.10.1-IV2, 0.10.1-IV2, 0.10.1-IV0, 0.11.0-IV0, 0.11.0-IV1, 0.11.0-IV0, 0.10.0 0.11.0-iv2, 1.0-iv0, 1.1-iv0, 2.0-iv0, 2.0-iv0, 2.0-iv0, 2.1-iv0, 2.1-iv2, 2.2-iv1, 2.2-iv1, 2.3-iv0, 2.3-iv1, 2.4-iv0, 2.4-iv0, 2.4-iv0, 2.0-iv0, 2.7-iv0, 2.7-iv0, 2.7-iv0, 2.7-iv0, 2.7-iv0, 2.7-iv2, 2.8-iv0, 2.8-iv0, 3.0-iv0, 3.0-iv0, 3-iv0, 3.3-iv0, 3.3-iv0, 3.3-iv3, 3.3-iv3, 3.4-iv0, 3.5-iv0, 3.5-iv0, 3.5-iv2, 3.6-iv0, 3.6-iv1, 3.6-iv1, 3.7-iv0, 3.7-iv0, 3.7-iv0, 3.7-iv0, 3.7-iv0, 3.7-iv2, 3.7-iv0, 3.7-iv2, 3.7-IV3, 3.7-IV4, 3.8-IV0]
Importance: medium
Dynamic update: read-only
사용할 inter-broker 프로토콜 버전을 지정합니다. 일반적으로 모든 브로커가 새 버전으로 업그레이드된 후 이 문제가 발생합니다. 일부 유효한 값의 예는 0.8.0, 0.8.1, 0.8.1.1, 0.8.2, 0.8.2.0, 0.8.2.1, 0.9.0.0, 0.9.0.1 Check MetadataVersion입니다.
log.cleaner.backoff.ms유형: long
Default: 15000 (15 seconds)
유효한 값: [0,…]
중요도: 중간
동적 업데이트: 클러스터 전체
정리할 로그가 없을 때 유휴 상태의 시간입니다.
log.cleaner.dedupe.buffer.size유형: long
기본값: 134217728
Importance: medium
Dynamic update: cluster-wide
모든 정리된 스레드에서 로그 중복 제거에 사용되는 총 메모리입니다.
log.cleaner.delete.retention.ms유형: long
기본값: 86400000 (1 day)
유효한 값: [0,…]
중요도: 중간
동적 업데이트: 클러스터 전체
로그 압축 주제를 위해 tombstone 메시지 마커를 유지하는 시간입니다. 이 설정은 또한 소비자가 오프셋 0에서 시작하는 경우 읽기를 완료해야 하는 시간에 바인딩된 값을 제공하여 최종 단계의 유효한 스냅샷을 얻을 수 있도록 합니다(다른 방법으로 tombstones 메시지가 스캔이 완료되기 전에 수집될 수 있음).
log.cleaner.enabletype: boolean
Default: true
Importance: medium
Dynamic update: read-only
로그 정리 프로세스를 서버에서 실행할 수 있도록 활성화합니다. 내부 오프셋 주제를 포함하여 cleanup.policy=compact과 함께 주제를 사용하는 경우 활성화해야 합니다. 비활성화된 경우 해당 주제는 압축되지 않고 크기가 지속적으로 증가합니다.
log.cleaner.io.buffer.load.factor유형: double
Default: 0.9
Importance: medium
Dynamic update: cluster-wide
로그 정리 dedupe 버퍼 로드 요소. dedupe 버퍼가 가득 찬 백분율이 될 수 있습니다. 값이 클수록 더 많은 로그를 한 번에 정리할 수 있지만 해시 충돌이 발생할 수 있습니다.
log.cleaner.io.buffer.size유형: int
기본값: 524288
유효한 값: [0,…]
중요도: 중간
동적 업데이트: 클러스터 전체
모든 정리된 스레드에서 로그 정리 I/O 버퍼에 사용되는 총 메모리입니다.
log.cleaner.io.max.bytes.per.second유형: double
기본값: 1.7976931348623157E308
중요: 중간
동적 업데이트: 클러스터 전체
로그 정리기가 제한되므로 읽기 및 쓰기 i/o의 합계가 평균 이 값보다 작아집니다.
log.cleaner.max.compaction.lag.ms유형: long
기본값: 92233720368775807
유효한 값: [1,…]
Importance: medium
동적 업데이트: 클러스터 전체
메시지가 로그에 압축할 수 없는 최대 시간입니다. 압축되는 로그에만 적용할 수 있습니다.
log.cleaner.min.cleanable.ratio유형: 두 번
기본값: 0.5
유효한 값: [0,…,1]
중요도: 중간
동적 업데이트: 클러스터 전체
로그의 총 로그에 대한 더티 로그의 최소 비율로 정리할 수 있습니다. log.cleaner.max.compaction.lag.ms 또는 log.cleaner.min.compaction.lag.ms 구성도 지정되면 로그 압축기는 로그를 즉시 압축할 수 있는 것으로 간주합니다. (i) 더티 비율 임계값이 충족되고 로그는 최소 log.cleaner.min.compaction.glams, durationlams에 대한 더티(uncompacted) 레코드가 있는 것으로 간주합니다. 또는 (ii) 로그에 대부분의 log.cleaner.max.compaction.lag.ms 기간에 대해 더티(복합되지 않음) 레코드가 있는 경우
log.cleaner.min.compaction.lag.ms유형: long
기본값: 0
유효한 값: [0,…]
중요도: 중간
동적 업데이트: 클러스터 전체
메시지가 로그에 컴파일되지 않은 상태로 유지되는 최소 시간입니다. 압축되는 로그에만 적용할 수 있습니다.
log.cleaner.threads유형: int
기본값: 1
유효한 값: [0,…]
중요도: 중간
동적 업데이트: 클러스터 전체
로그 정리에 사용할 백그라운드 스레드 수입니다.
log.cleanup.policytype: list
default: delete
유효한 값: [compact, delete]
Importance: medium
Dynamic update: cluster-wide
보존 창 이외의 세그먼트의 기본 정리 정책입니다. 쉼표로 구분된 유효한 정책 목록입니다. 유효한 정책은 "삭제" 및 "복제"입니다.
log.index.interval.bytes유형: int
Default: 4096 (4kibibytes)
유효한 값: [0,…]
Importance: medium
Dynamic update: cluster-wide
오프셋 인덱스에 항목을 추가하는 간격입니다.
log.index.size.max.bytes유형: int
기본값: 10485760(10MB)
유효한 값: [4,…]
Importance: medium
Dynamic update: cluster-wide
오프셋 인덱스의 최대 크기(바이트)입니다.
log.local.retention.bytes유형: long
기본값: -2
유효한 값: [-2,…]
중요도: 중간
동적 업데이트: 클러스터 전체
삭제를 받기 전에 파티션에 대해 증가할 수 있는 로컬 로그 세그먼트의 최대 크기입니다. 기본값은 -2이며 사용할
log.retention.bytes값을 나타냅니다. 유효 값은 항상log.retention.bytes값보다 작거나 같아야 합니다.log.local.retention.ms유형: long
기본값: -2
유효한 값: [-2,…]
중요도: 중간
동적 업데이트: 클러스터 전체
삭제할 수 있을 때까지 로컬 로그 세그먼트를 유지하는 시간(밀리초)입니다. 기본값은 -2입니다.
log.retention.ms값을 사용할 수 있습니다. 유효 값은 항상log.retention.ms값보다 작거나 같아야 합니다.log.message.format.version유형: 문자열
기본값: 3.0-IV1
유효한 값: [0.8.0, 0.8.2, 0.9.0, 0.10.0-IV0, 0.10.0-IV0, 0.10.0-IV0, 0.10.1-IV0, 0.10.1-IV2, 0.10.1-IV2, 0.10.1-IV0, 0.11.0-IV0, 0.11.0-IV1, 0.11.0-IV1, 0.10.0-IV0, 0.10.0 0.11.0-iv2, 1.0-iv0, 1.1-iv0, 2.0-iv0, 2.0-iv0, 2.0-iv0, 2.1-iv0, 2.1-iv2, 2.2-iv1, 2.2-iv1, 2.3-iv0, 2.3-iv1, 2.4-iv0, 2.4-iv0, 2.4-iv0, 2.0-iv0, 2.7-iv0, 2.7-iv0, 2.7-iv0, 2.7-iv0, 2.7-iv0, 2.7-iv2, 2.8-iv0, 2.8-iv0, 3.0-iv0, 3.0-iv0, 3-iv0, 3.3-iv0, 3.3-iv0, 3.3-iv3, 3.3-iv3, 3.4-iv0, 3.5-iv0, 3.5-iv0, 3.5-iv2, 3.6-iv0, 3.6-iv1, 3.6-iv1, 3.7-iv0, 3.7-iv0, 3.7-iv0, 3.7-iv0, 3.7-iv0, 3.7-iv2, 3.7-iv0, 3.7-iv2, 3.7-IV3, 3.7-IV4, 3.8-IV0]
Importance: medium
Dynamic update: read-only
브로커가 로그에 메시지를 추가하는 데 사용할 메시지 형식 버전을 지정합니다. 값은 유효한 MetadataVersion이어야 합니다. 다음은 0.8.2, 0.9.0.0, 0.10.0입니다. 자세한 내용은 MetadataVersion 확인입니다. 특정 메시지 형식 버전을 설정하면 디스크의 기존 메시지가 지정된 버전보다 작거나 같은지 사용자가 인증하고 있습니다. 이 값을 잘못 설정하면 이전 버전의 소비자가 이해할 수 없는 형식의 메시지를 수신하므로 중단됩니다.
log.message.timestamp.after.max.ms유형: long
기본값: 92233720368775807
유효한 값: [0,…]
Importance: medium
Dynamic update: cluster-wide
이 구성은 메시지 타임스탬프와 브로커의 타임 스탬프 간의 허용 가능한 타임스탬프 차이를 설정합니다. 메시지 타임스탬프는 브로커의 타임스탬프보다 크거나 같을 수 있으며 이 구성에서 설정된 값에 따라 허용되는 최대 차이가 결정됩니다. log.message.timestamp.type=CreateTime인 경우 타임스탬프의 차이가 이 지정된 임계값을 초과하면 메시지가 거부됩니다. log.message.timestamp.type=LogAppendTime인 경우 이 구성은 무시됩니다.
log.message.timestamp.before.max.ms유형: long
기본값: 92233720368775807
유효한 값: [0,…]
Importance: medium
Dynamic update: cluster-wide
이 구성은 브로커의 타임스탬프와 메시지 타임스탬프 간의 허용 타임스탬프 차이를 설정합니다. 메시지 타임스탬프는 브로커의 타임스탬프보다 빠르거나 같을 수 있으며 이 구성에서 설정된 값에 따라 허용되는 최대 차이가 결정됩니다. log.message.timestamp.type=CreateTime인 경우 타임스탬프의 차이가 이 지정된 임계값을 초과하면 메시지가 거부됩니다. log.message.timestamp.type=LogAppendTime인 경우 이 구성은 무시됩니다.
log.message.timestamp.difference.max.ms유형: long
기본값: 92233720368775807
유효한 값: [0,…]
Importance: medium
Dynamic update: cluster-wide
[DEPRECATED] 브로커가 메시지를 수신할 때 타임스탬프 간에 허용되는 최대 차이점과 메시지에 지정된 타임스탬프입니다. log.message.timestamp.type=CreateTime은 타임스탬프의 차이가 이 임계값을 초과하면 메시지가 거부됩니다. log.message.timestamp.type=LogAppendTime.
log.message.timestamp.type유형: 문자열
기본값: CreateTime
유효한 값: [CreateTime, LogAppendTime]
Importance: medium
Dynamic update: cluster-wide
메시지의 타임 스탬프가 메시지 생성 시간인지 또는 로그 추가 시간을 정의합니다. 값은
CreateTime또는LogAppendTime이어야 합니다.log.preallocate유형: 부울
기본값: false
Importance: medium
Dynamic update: cluster-wide
새 세그먼트를 만들 때 파일을 미리 할당해야 합니까? Windows에서 Kafka를 사용하는 경우 true로 설정해야 합니다.
log.retention.check.interval.ms유형: long
기본값: 300000 (5 분)
유효한 값: [1,…]
중요도: 중간
동적 업데이트: 읽기 전용
로그 정리기가 로그를 삭제할 수 있는지 확인하는 빈도(밀리초)입니다.
max.connection.creation.rate유형: int
기본값: 2147483647
유효한 값: [0,…]
중요도: 중간
동적 업데이트: 클러스터 전체
브로커에서 언제든지 허용하는 최대 연결 생성 속도입니다. 리스너 수준 제한은 리스너 접두사를 사용하여 구성 이름을 접두사로 지정하여 구성할 수도 있습니다(예:
listener.name.internal.max.connection.rate.Broker-wide 연결 속도 제한은 애플리케이션 요구 사항에 따라 브로커 용량을 기반으로 구성되어야 합니다. broker 리스너를 제외하고 리스너 또는 브로커 제한에 도달하면 새 연결이 제한됩니다. broker 리스너 간 연결은 리스너 수준 제한에 도달할 때만 제한됩니다.max.connections유형: int
기본값: 2147483647
유효한 값: [0,…]
중요도: 중간
동적 업데이트: 클러스터 전체
브로커에서 언제든지 허용하는 최대 연결 수입니다. 이 제한은 max.connections.per.ip를 사용하여 구성된 모든 per-ip 제한에 더하여 적용됩니다. 리스너 수준 제한은 구성 이름 앞에 리스너 접두사(예:
listener.name.internal.max.connections)를 추가하여 구성할 수도 있습니다. 브로커 전체 제한은 브로커 용량을 기반으로 구성되어야 하지만 애플리케이션 요구 사항에 따라 리스너 제한을 구성해야 합니다. 리스너 또는 브로커 제한에 도달하면 새 연결이 차단됩니다. 브로커 전체 제한에 도달한 경우에도broker 리스너의 연결이 허용됩니다. 이 경우 다른 리스너에서 가장 최근에 사용된 연결이 종료됩니다.max.connections.per.ip유형: int
기본값: 2147483647
유효한 값: [0,…]
중요도: 중간
동적 업데이트: 클러스터 전체
각 IP 주소에서 허용하는 최대 연결 수입니다. max.connections.per.ip.overrides 속성을 사용하여 재정의하는 경우 0으로 설정할 수 있습니다. 제한에 도달하면 ip 주소의 새 연결이 삭제됩니다.
max.connections.per.ip.overridestype: string
Default: ""
Importance: medium
Dynamic update: cluster-wide
콤마로 구분된 IP 또는 호스트 이름 목록은 기본 최대 연결 수를 덮어씁니다. 예제 값은 "hostName:100,127.0.0.1:200"입니다.
max.incremental.fetch.session.cache.slots유형: int
기본값: 1000
유효한 값: [0,…]
중요도: 중간
동적 업데이트: 읽기 전용
유지 관리할 최대 증분 가져오기 세션 수입니다.
num.partitions유형: int
default: 1
유효한 값: [1,…]
Importance: medium
Dynamic update: read-only
주제당 기본 로그 파티션 수입니다.
password.encoder.old.secret유형: password
Default: null
Importance: medium
Dynamic update: read-only
동적으로 구성된 암호를 인코딩하는 데 사용된 이전 시크릿입니다. 이는 시크릿을 업데이트할 때만 필요합니다. 지정하면 동적으로 인코딩된 모든 암호가 이 이전 시크릿을 사용하여 디코딩되고 브로커가 시작될 때 password.encoder.secret을 사용하여 다시 인코딩됩니다.
password.encoder.secret유형: password
Default: null
Importance: medium
Dynamic update: read-only
이 브로커에 대해 동적으로 구성된 암호를 인코딩하는 데 사용되는 시크릿입니다.
principal.builder.class유형: class
Default: apache.kafka.common.security.security.authenticator.DefaultKafkaPrincipalBuilder
Importance: medium
Dynamic update: per-broker
권한 부여 중에 사용되는 KafkaPrincipalBuilder 인터페이스를 구현하는 데 사용되는 정규화된 클래스의 이름입니다. 보안 주체 빌더가 정의되지 않은 경우 기본 동작은 사용 중인 보안 프로토콜에 따라 달라집니다. SSL 인증의 경우 주체는 클라이언트 인증서와 고유 이름에 적용된
ssl.principal.mapping.rules에서 정의한 규칙을 사용하여 파생됩니다. 그렇지 않으면 클라이언트 인증이 필요하지 않은 경우 주 이름은 ANONYMOUS가 됩니다. SASL 인증의 경우 GSSAPI가 사용 중인 경우sasl.kerberos.principal.to.local.rules에서 정의한 규칙을 사용하고 다른 메커니즘에 대해 SASL 인증 ID를 사용하여 파생됩니다. PLAINTEXT의 경우 주체는 ANONYMOUS가 됩니다.producer.purgatory.purge.interval.requests유형: int
Default: 1000
Importance: medium
Dynamic update: read-only
생산자 요청 순차(요청 수)의 제거 간격(요청 수)입니다.
queued.max.request.bytes유형: long
기본값: -1
Importance: medium
Dynamic update: read-only
더 이상 요청을 읽지 않기 전에 허용되는 대기 중인 바이트 수입니다.
remote.log.manager.thread.pool.size유형: int
기본값: 10
유효한 값: [1,…]
중요도: 중간
동적 업데이트: 읽기 전용
세그먼트를 복사하고 원격 로그 인덱스를 가져오고 원격 로그 세그먼트를 정리하는 데 사용되는 스레드 풀의 크기입니다.
remote.log.metadata.manager.class.nametype : string
Default: apache.kafka.server.log.remote.metadata.storage.TopicBasedRemoteLogMetadataManager
Valid Values: non-empty string
Importance: medium
Dynamic update: read-only
정규화된 클래스 이름은
RemoteLogMetadataManager구현입니다.remote.log.metadata.manager.class.pathtype: string
Default: null
Importance: medium
Dynamic update: read-only
RemoteLogMetadataManager구현의 클래스 경로입니다. 지정된 경우 RemoteLogMetadataManager 구현 및 해당 종속 라이브러리는 Kafka 브로커 클래스 경로 전에 이 클래스 경로를 검색하는 전용 클래스 로더에 의해 로드됩니다. 이 매개변수의 구문은 표준 Java 클래스 경로 문자열과 동일합니다.remote.log.metadata.manager.impl.prefix유형: 문자열
기본값: rlmm.config.
유효한 값: 비어 있지 않은 문자열
Importance: medium
Dynamic update: read-only
RemoteLogMetadataManager 구현에 전달할 속성에 사용되는 접두사입니다. 예를 들어 이 값은
rlmm.config일 수 있습니다.remote.log.metadata.manager.listener.nametype: string
default: null
Valid Values: non-empty string
Importance: medium
Dynamic update: read-only
RemoteLogMetadataManager 구현에 필요한 경우 연결해야 하는 로컬 브로커의 리스너 이름입니다.
remote.log.reader.max.pending.tasks유형: int
기본값: 100
유효한 값: [1,…]
중요도: 중간
동적 업데이트: 읽기 전용
최대 원격 로그 리더 스레드 풀 작업 대기열 크기입니다. 작업 큐가 가득 차면 가져오기 요청이 오류와 함께 제공됩니다.
remote.log.reader.threads유형: int
기본값: 10
유효한 값: [1,…]
중요도: 중간
동적 업데이트: 읽기 전용
원격 로그 읽기 처리를 위해 할당된 스레드 풀의 크기입니다.
remote.log.storage.manager.class.nametype: string
default: null
Valid Values: non-empty string
Importance: medium
Dynamic update: read-only
RemoteStorageManager구현의 정규화된 클래스 이름입니다.remote.log.storage.manager.class.pathtype: string
Default: null
Importance: medium
Dynamic update: read-only
RemoteStorageManager구현의 클래스 경로입니다. 지정된 경우 RemoteStorageManager 구현 및 해당 종속 라이브러리는 Kafka 브로커 클래스 경로 전에 이 클래스 경로를 검색하는 전용 클래스 로더에 의해 로드됩니다. 이 매개변수의 구문은 표준 Java 클래스 경로 문자열과 동일합니다.remote.log.storage.manager.impl.prefix유형: 문자열
기본값: rsm.config.
유효한 값: 비어 있지 않은 문자열
Importance: medium
Dynamic update: read-only
RemoteStorageManager 구현에 전달할 속성에 사용되는 접두사입니다. 예를 들어 이 값은
rsm.config일 수 있습니다.remote.log.storage.system.enabletype: boolean
Default: false
Importance: medium
Dynamic update: read-only
브로커에서 계층화된 스토리지 기능을 활성화할지 여부입니다. 유효한 값은
true또는false이고 기본값은 false입니다. true 브로커는 계층화된 스토리지 기능에 필요한 모든 서비스를 시작합니다.replica.fetch.backoff.ms유형: int
기본값: 1000 (1 second)
유효한 값: [0,…]
중요도: 중간
동적 업데이트: 읽기 전용
파티션 가져오기 오류가 발생할 때 유휴 상태로 설정할 시간입니다.
replica.fetch.max.bytes유형: int
기본값: 1048576 (1bibyte)
유효한 값: [0,…]
가져오기: 중간
동적 업데이트: 읽기 전용
각 파티션에 대해 가져올 메시지의 바이트 수입니다. 이는 절대 최대값이 아니며, pull의 첫 번째 레코드 배치가 이 값보다 크면 레코드 일괄 처리가 여전히 반환되어 진행 상황을 확인할 수 있습니다. 브로커가 허용하는 최대 레코드 배치 크기는
message.max.bytes(broker config) 또는max.message.bytes(topic config)를 통해 정의됩니다.replica.fetch.response.max.bytes유형: int
기본값: 10485760(10MB)
유효한 값: [0,…]
Importance: medium
Dynamic update: read-only
전체 가져오기 응답에 예상되는 최대 바이트 수입니다. 레코드는 일괄적으로 가져오고, 비어 있지 않은 첫 번째 파티션의 첫 번째 레코드 배치가 이 값보다 크면 레코드 배치가 계속 반환되어 진행 상황을 확인할 수 있습니다. 따라서 이는 절대 최대값이 아닙니다. 브로커가 허용하는 최대 레코드 배치 크기는
message.max.bytes(broker config) 또는max.message.bytes(topic config)를 통해 정의됩니다.replica.selector.classtype: string
Default: null
Importance: medium
Dynamic update: read-only
ReplicaSelector를 구현하는 정규화된 클래스 이름입니다. 브로커에서 선호하는 읽기 복제본을 찾는 데 사용됩니다. 기본적으로 리더를 반환하는 구현을 사용합니다.
reserved.broker.max.id유형: int
기본값: 1000
유효한 값: [0,…]
중요도: 중간
동적 업데이트: 읽기 전용
broker.id에 사용할 수 있는 최대 번호입니다.
sasl.client.callback.handler.class유형: class
Default: null
Importance: medium
Dynamic update: read-only
AuthenticateCallbackHandler 인터페이스를 구현하는 SASL 클라이언트 콜백 처리기 클래스의 정규화된 이름입니다.
sasl.enabled.mechanismstype: list
Default: GSSAPI
Importance: medium
Dynamic update: per-broker
Kafka 서버에서 활성화된 SASL 메커니즘 목록입니다. 목록에는 보안 공급자를 사용할 수 있는 모든 메커니즘이 포함될 수 있습니다. 기본적으로 GSSAPI만 활성화됩니다.
sasl.jaas.config유형: password
Default: null
Importance: medium
Dynamic update: per-broker
JAAS 구성 파일에서 사용하는 형식의 SASL 연결에 대한 JAAS 로그인 컨텍스트 매개변수입니다. JAAS 구성 파일 형식은 여기에 설명되어 있습니다. 값 형식은
loginModuleClass controlFlag (optionName=optionValue)*;입니다. 브로커의 경우 구성 앞에 리스너 접두사 및 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule이 필요합니다.sasl.kerberos.kinit.cmdtype: string
Default: /usr/bin/kinit
Importance: medium
Dynamic update: per-broker
Kerberos kinit 명령 경로입니다.
sasl.kerberos.min.time.before.relogin유형: long
기본값: 60000
Importance: medium
Dynamic update: per-broker
새로 고침 시도 사이의 로그인 스레드 수면 시간입니다.
sasl.kerberos.principal.to.local.rulestype: list
default: DEFAULT
Importance: medium
Dynamic update: per-broker
보안 주체 이름에서 짧은 이름(일반적으로 운영 체제 사용자 이름)으로 매핑하기 위한 규칙 목록입니다. 규칙은 순서대로 평가되며 보안 주체 이름과 일치하는 첫 번째 규칙은 짧은 이름에 매핑됩니다. 목록의 이후 규칙은 무시됩니다. 기본적으로
{username}/{hostname}@{REALM}형식의 주체 이름은{username}에 매핑됩니다. 형식에 대한 자세한 내용은 보안 권한 부여 및 acl을 참조하십시오.KafkaPrincipalBuilder의 확장 기능이principal.builder.class구성에서 제공하는 경우 이 구성은 무시됩니다.sasl.kerberos.service.nametype: string
default: null
Importance: medium
Dynamic update: per-broker
Kafka가 실행되는 Kerberos 주체 이름입니다. Kafka의 JAAS config 또는 Kafka의 config에서 정의할 수 있습니다.
sasl.kerberos.ticket.renew.jitter유형: 두 번
기본값: 0.05
Importance: medium
Dynamic update: per-broker
갱신 시간에 임의 지터의 백분율이 추가되었습니다.
sasl.kerberos.ticket.renew.window.factor유형: double
Default: 0.8
Importance: medium
Dynamic update: per-broker
로그인 스레드는 지정된 시간 요소가 마지막으로 새로 고침에서 티켓 만료로 도달할 때까지 유휴 상태가 되고 이 기간 동안 티켓을 갱신하려고 합니다.
sasl.login.callback.handler.class유형: class
Default: null
Importance: medium
Dynamic update: read-only
AuthenticateCallbackHandler 인터페이스를 구현하는 SASL 로그인 콜백 처리기 클래스의 정규화된 이름입니다. 브로커의 경우 로그인 콜백 처리기 구성 앞에 리스너 접두사 및 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler입니다.
sasl.login.class유형: class
Default: null
Importance: medium
Dynamic update: read-only
로그인 인터페이스를 구현하는 클래스의 정규화된 이름입니다. 브로커의 경우 로그인 구성 앞에는 리스너 접두사와 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin입니다.
sasl.login.refresh.buffer.seconds유형: short
Default: 300
Importance: medium
Dynamic update: per-broker
인증 정보를 새로 고칠 때 유지 관리하는 인증 정보 만료 전의 버퍼 시간(초)입니다. 새로 고침이 버퍼 초 수보다 만료되는 경우 새로 고침은 가능한 한 많은 버퍼 시간을 유지하기 위해 이동합니다. 법적 값은 0에서 3600(1시간) 사이입니다. 값이 지정되지 않은 경우 기본값 300(5분)이 사용됩니다. 이 값과 sasl.login.refresh.min.period.seconds 값은 합계가 인증 정보의 나머지 수명을 초과하면 둘 다 무시됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.min.period.seconds유형: short
기본값: 60
Importance: medium
Dynamic update: per-broker
로그인 새로 고침 스레드가 인증 정보를 새로 고치기 전에 대기하는 최소 시간(초)입니다. 법적 값은 0에서 900 (15 분) 사이입니다. 값이 지정되지 않은 경우 기본값 60 (1 분)이 사용됩니다. 이 값과 sasl.login.refresh.buffer.seconds 값은 합계가 인증 정보의 나머지 수명을 초과하면 둘 다 무시됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.window.factor유형: double
Default: 0.8
Importance: medium
Dynamic update: per-broker
로그인 새로 고침 스레드는 인증 정보의 수명을 기준으로 지정된 창 요인에 도달할 때까지 유휴 상태가 되어 인증 정보를 새로 고치려고 합니다. 법적 값은 0.5(50%)와 1.0(100%)을 포함합니다. 값이 지정되지 않은 경우 기본값 0.8(80%)가 사용됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.window.jitter유형: 두 번
기본값: 0.05
Importance: medium
Dynamic update: per-broker
로그인 새로 고침 스레드의 수면 시간에 추가되는 인증 정보의 수명을 기준으로 임의 지터의 최대 양입니다. 법적 값은 0에서 0.25 (25 %) 사이이며, 값이 지정되지 않은 경우 기본값 0.05 (5%)가 사용됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.mechanism.inter.broker.protocol유형: 문자열
기본값: GSSAPI
Importance: medium
Dynamic update: per-broker
broker 간 통신에 사용되는 SASL 메커니즘입니다. 기본값은 GSSAPI입니다.
sasl.oauthbearer.jwks.endpoint.urltype: string
Default: null
Importance: medium
Dynamic update: read-only
공급자의 JWKS(JSON 웹 키 세트) 를 검색할 수 있는 OAuth/OIDC 공급자 URL입니다. URL은 HTTP(S) 기반 또는 파일 기반일 수 있습니다. URL이 HTTP(S) 기반인 경우 브로커 시작 시 구성된 URL을 통해 OAuth/OIDC 제공업체에서 JWKS 데이터가 검색됩니다. 이후의 모든 최신 키는 들어오는 요청을 위해 브로커에 캐시됩니다. 캐시에 아직 없는 "kid" 헤더 클레임 값을 포함하는 JWT에 대한 인증 요청이 수신되면 필요에 따라 JWKS 엔드포인트가 다시 쿼리됩니다. 그러나 브로커는 모든 sasl.oauthbearer.jwks.endpoint.refresh.ms 밀리초를 폴링하여 해당 URL을 포함하는 JWT 요청이 수신되기 전에 향후 키로 캐시를 새로 고칩니다. URL이 파일 기반이면 브로커는 시작 시 구성된 위치에서 JWKS 파일을 로드합니다. JWT에 JWKS 파일에 없는 "kid" 헤더 값이 포함된 경우 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.token.endpoint.urltype: string
Default: null
Importance: medium
Dynamic update: read-only
OAuth/OIDC ID 공급자의 URL입니다. URL이 HTTP(S) 기반인 경우 sasl.jaas.config의 구성에 따라 로그인할 요청의 발행자 토큰 끝점 URL입니다. URL이 파일 기반인 경우 권한 부여에 사용할 OAuth/OIDC ID 공급자가 발행한 액세스 토큰( JWT로 직렬화된 양식)이 포함된 파일을 지정합니다.
sasl.server.callback.handler.class유형: class
Default: null
Importance: medium
Dynamic update: read-only
AuthenticateCallbackHandler 인터페이스를 구현하는 SASL 서버 콜백 처리기 클래스의 정규화된 이름입니다. 서버 콜백 처리기는 소문자로 리스너 접두사 및 SASL 메커니즘 이름을 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.plain.sasl.server.callback.handler.class=com.example.CustomPlainCallbackHandler입니다.
sasl.server.max.receive.size유형: int
Default: 524288
Importance: medium
Dynamic update: read-only
초기 SASL 인증 전후에 허용되는 최대 수신 크기입니다. 기본 수신 크기는 512KB입니다. GSSAPI는 요청을 64K로 제한하지만 사용자 정의 SASL 메커니즘에 대해 기본적으로 최대 512KB까지 허용합니다. 실제로 PLAIN, SCRAM 및 OAUTH 메커니즘은 훨씬 더 작은 제한을 사용할 수 있습니다.
security.inter.broker.protocol유형: 문자열
기본값: PLAINTEXT
유효한 값: [PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL]
Importance: medium
동적 업데이트: 읽기 전용
브로커 간 통신에 사용되는 보안 프로토콜입니다. 유효한 값은 PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL입니다. 이 속성과 inter.broker.listener.name 속성을 동시에 설정하는 것은 오류입니다.
socket.connection.setup.timeout.max.ms유형: long
기본값: 30000(30초)
중요도: 매체
동적 업데이트: 읽기 전용
클라이언트가 소켓 연결이 설정될 때까지 대기하는 최대 시간입니다. 연결 설정 시간 초과는 연속 연결 오류마다 이 최대값까지 기하급수적으로 증가합니다. 연결 불란을 방지하기 위해 0.2의 무작위화 요소가 시간 초과에 적용되어 계산된 값보다 20% 이하에서 20% 사이의 임의 범위가 됩니다.
socket.connection.setup.timeout.ms유형: long
기본값: 10000(10초)
중요도: 중간
동적 업데이트: 읽기 전용
클라이언트가 소켓 연결이 설정될 때까지 대기하는 시간입니다. 시간 초과가 경과하기 전에 연결이 빌드되지 않으면 클라이언트가 소켓 채널을 종료합니다. 이 값은 초기 백오프 값이며
socket.connection.setup.timeout.max.ms값까지 연속된 각 연결 오류에 대해 기하급수적으로 증가합니다.socket.listen.backlog.size유형: int
기본값: 50
유효한 값: [1,…]
중요도: 중간
동적 업데이트: 읽기 전용
소켓에서 보류 중인 최대 연결 수입니다. Linux에서는 설정이 적용되도록
somaxconn및tcp_max_syn_backlog커널 매개변수를 구성해야 할 수도 있습니다.ssl.cipher.suitestype: list
Default: ""
Importance: medium
Dynamic update: per-broker
암호화 제품군 목록입니다. 이는 TLS 또는 SSL 네트워크 프로토콜을 사용하여 네트워크 연결에 대한 보안 설정을 협상하는 데 사용되는 인증, 암호화, MAC 및 키 교환 알고리즘의 이름이 지정된 조합입니다. 기본적으로 사용 가능한 모든 암호화 제품군이 지원됩니다.
ssl.client.authtype: string
default: none
유효한 값: [required, requested, none]
Importance: medium
Dynamic update: per-broker
클라이언트 인증을 요청하도록 kafka 브로커를 구성합니다. 다음은 일반적인 설정입니다.
-
SSL.client.auth=required필수 클라이언트 인증으로 설정된 경우. -
SSL.client.auth=requested이는 클라이언트 인증이 선택 사항임을 의미합니다. 이 옵션이 설정된 경우 클라이언트는 자체적으로 인증 정보를 제공하지 않도록 선택할 수 있습니다. -
SSL.client.auth=none이는 클라이언트 인증이 필요하지 않음을 의미합니다.
-
ssl.enabled.protocolstype: list: list
default: TLSv1.2,TLSv1.3
Importance: medium
Dynamic update: per-broker
SSL 연결에 활성화된 프로토콜 목록입니다. Java 11 이상에서 실행하는 경우 기본값은 'TLSv1.2,TLSv1.3'이며, 그렇지 않으면 'TLSv1.2'입니다. Java 11의 기본값을 사용하면 클라이언트와 서버는 TLSv1.2를 지원하고 그 대신 TLSv1.2를 모두 지원하는 경우 TLSv1.3을 선호합니다(적어도 TLSv1.2 이상 지원). 대부분의 경우 이 기본값은 정상이어야 합니다.
ssl.protocol의 구성 문서를 참조하십시오.ssl.key.password유형: password
Default: null
Importance: medium
Dynamic update: per-broker
키 저장소 파일의 개인 키 또는 'ssl.keystore.key'에 지정된 PEM 키의 암호입니다.
ssl.keymanager.algorithmtype: string
Default: SunX509
Importance: medium
Dynamic update: per-broker
SSL 연결에 대해 키 관리자 팩토리에서 사용하는 알고리즘입니다. 기본값은 Java Virtual Machine에 대해 구성된 키 관리자 팩토리 알고리즘입니다.
ssl.keystore.certificate.chain유형: password
Default: null
Importance: medium
Dynamic update: per-broker
'ssl.keystore.type'에 지정된 형식의 인증서 체인입니다. 기본 SSL 엔진 팩토리에서는 X.509 인증서 목록이 있는 PEM 형식만 지원합니다.
ssl.keystore.key유형: password
Default: null
Importance: medium
Dynamic update: per-broker
'ssl.keystore.type'에 지정된 형식의 개인 키입니다. 기본 SSL 엔진 팩토리에서는 PKCS#8 키가 있는 PEM 형식만 지원합니다. 키가 암호화된 경우 'ssl.key.password'를 사용하여 키 암호를 지정해야 합니다.
ssl.keystore.locationtype: string
default: null
Importance: medium
Dynamic update: per-broker
키 저장소 파일의 위치입니다. 클라이언트의 경우 선택 사항이며 클라이언트의 양방향 인증에 사용할 수 있습니다.
ssl.keystore.password유형: password
Default: null
Importance: medium
Dynamic update: per-broker
키 저장소 파일의 저장소 암호입니다. 이는 클라이언트에 선택 사항이며 'ssl.keystore.location'이 구성된 경우에만 필요합니다. PEM 형식에는 키 저장소 암호가 지원되지 않습니다.
ssl.keystore.typetype: string
Default: JKS
Importance: medium
Dynamic update: per-broker
키 저장소 파일의 파일 형식입니다. 클라이언트에는 선택 사항입니다. 현재 기본
ssl.engine.factory.class에서 지원하는 값은 [JKS, PKCS12, PEM]입니다.ssl.protocol유형: 문자열
기본값: TLSv1.3
Importance: medium
Dynamic update: per-broker
SSLContext를 생성하는 데 사용되는 SSL 프로토콜입니다. Java 11 이상에서 실행하는 경우 기본값은 'TLSv1.3'이며, 그렇지 않으면 'TLSv1.2'입니다. 이 값은 대부분의 사용 사례에 적합해야 합니다. 최근 JVM에서 허용되는 값은 'TLSv1.2' 및 'TLSv1.3'입니다. 'TLS', 'TLSv1.1', 'SSL', 'SSLv2' 및 'SSLv3'은 이전 JVM에서 지원되지 않을 수 있지만 알려진 보안 취약점으로 인해 사용이 권장되지 않습니다. 이 구성 및 'ssl.enabled.protocols'의 기본값을 사용하면 서버가 'TLSv1.3'을 지원하지 않는 경우 클라이언트가 'TLSv1.2'로 다운그레이드됩니다. 이 구성이 'TLSv1.2'로 설정된 경우 클라이언트는 ssl.enabled.protocols의 값 중 하나이고 서버가 'TLSv1.3'만 지원하는 경우에도 'TLSv1.3'을 사용하지 않습니다.
ssl.providertype: string
default: null
Importance: medium
Dynamic update: per-broker
SSL 연결에 사용되는 보안 공급자의 이름입니다. 기본값은 JVM의 기본 보안 공급자입니다.
ssl.trustmanager.algorithmtype: string
Default: PKIX
Importance: medium
Dynamic update: per-broker
SSL 연결에 대해 신뢰 관리자 팩토리에서 사용하는 알고리즘입니다. 기본값은 Java 가상 머신에 대해 구성된 신뢰 관리자 팩토리 알고리즘입니다.
ssl.truststore.certificates유형: password
Default: null
Importance: medium
Dynamic update: per-broker
'ssl.truststore.type'에서 지정한 형식의 신뢰할 수 있는 인증서입니다. 기본 SSL 엔진 팩토리에서는 X.509 인증서가 있는 PEM 형식만 지원합니다.
ssl.truststore.locationtype: string
default: null
Importance: medium
Dynamic update: per-broker
신뢰 저장소 파일의 위치입니다.
ssl.truststore.password유형: password
Default: null
Importance: medium
Dynamic update: per-broker
신뢰 저장소 파일의 암호입니다. 암호를 설정하지 않으면 구성된 신뢰 저장소 파일이 계속 사용되지만 무결성 검사가 비활성화됩니다. PEM 형식에 대해 신뢰 저장소 암호가 지원되지 않습니다.
ssl.truststore.typetype: string
Default: JKS
Importance: medium
Dynamic update: per-broker
신뢰 저장소 파일의 파일 형식입니다. 현재 기본
ssl.engine.factory.class에서 지원하는 값은 [JKS, PKCS12, PEM]입니다.zookeeper.clientCnxnSockettype: string
Default: null
Importance: medium
Dynamic update: read-only
일반적으로 Zoo Cryostat에 TLS 연결을 사용할 때
org.apache.zookeeper.ClientCnxnSocketNetty로 설정합니다. 동일한 이름의 Zookeeper.clientCnxnSocket시스템 속성을 통해 설정된 모든 명시적 값을 재정의합니다.zookeeper.ssl.client.enabletype: boolean
Default: false
Importance: medium
Dynamic update: read-only
Zoo Cryostat에 연결할 때 TLS를 사용하도록 클라이언트를 설정합니다. 명시적 값은
zookeeper.client.secure시스템 속성을 통해 설정된 모든 값을 재정의합니다(다른 이름 참조). 설정되지 않은 경우 기본값은 false입니다. true인 경우 Zookeeper.clientCnxnSocket을 설정해야 합니다(일반적으로,org.apache.zookeeper.ClientCnxnSocketNetty). 설정할 다른 값에는zookeeper.ssl.cipher.suiteszookeeper.ssl.crl.enable, , , Zookeeper.ssl.enabled.protocols, Zookeeper.ssl.endpoint.identification.algorithm, Zookeeper.ssl.keystore.location ,,zookeeper.ssl.keystore.passwordzookeeper.ssl.ssl.keystore.type, , Zookeeper.ssl.ocsp.enable, Zookeeper.ssl.protocol, Zookeeper.ssl.truststore.location,zookeeper.ssl.truststore.password,zookeeper.ssl.truststore.type.zookeeper.ssl.keystore.locationtype: string
Default: null
Importance: medium
Dynamic update: read-only
Zoo Cryostat에 TLS 연결이 있는 클라이언트 측 인증서를 사용할 때 키 저장소 위치입니다. Zookeeper
.ssl.keyStore.location시스템 속성을 통해 설정된 모든 명시적 값을 재정의합니다( camelCase 참조).zookeeper.ssl.keystore.password유형: password
Default: null
Importance: medium
Dynamic update: read-only
Zoo Cryostat에 TLS 연결이 있는 클라이언트 측 인증서를 사용하는 경우 키 저장소 암호입니다. Zookeeper
.ssl.keyStore.password시스템 속성을 통해 설정된 모든 명시적 값을 재정의합니다( camelCase 참조). Zoo Cryostat는 키 저장소 암호와 다른 키 암호를 지원하지 않으므로 키 저장소의 키 암호를 키 저장소 암호와 동일하게 설정해야 합니다. 그렇지 않으면 Zookeeper에 대한 연결 시도가 실패합니다.zookeeper.ssl.keystore.typetype: string
Default: null
Importance: medium
Dynamic update: read-only
Zoo Cryostat에 대한 TLS 연결이 있는 클라이언트 측 인증서를 사용하는 경우 키 저장소 유형입니다. Zookeeper
.ssl.keyStore.type시스템 속성을 통해 설정된 모든 명시적 값을 재정의합니다( camelCase 참조).null의 기본값은 키 저장소의 파일 이름 확장에 따라 유형이 자동으로 감지됨을 의미합니다.zookeeper.ssl.truststore.locationtype: string
Default: null
Importance: medium
Dynamic update: read-only
Zoo Cryostat에 TLS 연결을 사용할 때 신뢰 저장소 위치입니다. Zookeeper
.ssl.trustStore.location시스템 속성을 통해 설정된 모든 명시적 값을 재정의합니다( camelCase 참조).zookeeper.ssl.truststore.password유형: password
Default: null
Importance: medium
Dynamic update: read-only
Zoo Cryostat에 TLS 연결을 사용하는 경우 신뢰 저장소 암호입니다. Zookeeper
.ssl.trustStore.password시스템 속성을 통해 설정된 모든 명시적 값을 재정의합니다( camelCase 참조).zookeeper.ssl.truststore.typetype: string
Default: null
Importance: medium
Dynamic update: read-only
Zoo Cryostat에 TLS 연결을 사용할 때 신뢰 저장소 유형입니다. Zookeeper
.ssl.trustStore.type시스템 속성을 통해 설정된 모든 명시적 값을 재정의합니다( camelCase 참조).null의 기본값은 truststore의 파일 이름 확장에 따라 유형이 자동으로 감지됨을 의미합니다.alter.config.policy.class.name유형: class
Default: null
Importance: low
Dynamic update: read-only
검증에 사용해야 하는 alter configs 정책 클래스입니다. 클래스는
org.apache.kafka.server.policy.AlterConfigPolicy인터페이스를 구현해야 합니다.alter.log.dirs.replication.quota.window.num유형: int
기본값: 11
유효한 값: [1,…]
중요도: 낮음
동적 업데이트: 읽기 전용
로그 다이버 복제 할당량을 변경하기 위해 메모리에 유지할 샘플 수입니다.
alter.log.dirs.replication.quota.window.size.seconds유형: int
default: 1
유효한 값: [1,…]
Importance: low
동적 업데이트: 읽기 전용
로그 다이저 복제 할당량을 변경하기 위한 각 샘플의 시간 범위입니다.
authorizer.class.nametype: string
default: ""
유효한 값: non-null string
Importance: low
Dynamic update: read-only
브로커에서 권한 부여에 사용하는
org.apache.kafka.server.authorizer.Authorizer인터페이스를 구현하는 클래스의 정규화된 이름입니다.auto.include.jmx.reporter유형: boolean
Default: true
Importance: low
Dynamic update: read-only
더 이상 사용되지 않습니다.
metric.reporters에 나열되지 않은 경우에도 JmxReporter를 자동으로 포함할지 여부입니다. 이 구성은 Kafka 4.0에서 제거되며 대신 JmxReporter를 활성화하려면metric.reporters에org.apache.kafka.common.metrics.JmxReporter를 포함해야 합니다.client.quota.callback.class유형: class
Default: null
Importance: low
Dynamic update: read-only
클라이언트 요청에 적용되는 할당량 제한을 결정하는 데 사용되는 ClientQuotaCallback 인터페이스를 구현하는 클래스의 정규화된 이름입니다. 기본적으로 확대/축소에 저장된 <user> 및 <client-id> 할당량이 적용됩니다. 지정된 요청에 대해 세션의 사용자 주체와 일치하는 가장 구체적인 할당량과 요청의 클라이언트 ID가 적용됩니다.
connection.failed.authentication.delay.ms유형: int
기본값: 100
유효한 값: [0,…]
중요도: 낮음
동적 업데이트: 읽기 전용
인증 실패 시 연결 닫기 지연: 이는 인증 실패 시 연결 닫기가 지연되는 시간(밀리초)입니다. 연결 제한 시간을 방지하려면 connections.max.idle.ms보다 작아야 합니다.
controller.quorum.retry.backoff.ms유형: int
Default: 20
Importance: low
Dynamic update: read-only
지정된 주제 파티션에 대한 실패한 요청을 재시도하기 전에 대기하는 시간입니다. 이렇게 하면 일부 실패 시나리오에서 엄격한 루프로 요청을 반복적으로 보내는 것을 방지할 수 있습니다. 이 값은 초기 backoff 값이며,
retry.backoff.max.ms값까지 실패한 각 요청에 대해 기하급수적으로 증가합니다.controller.quota.window.num유형: int
기본값: 11
유효한 값: [1,…]
중요도: 낮음
동적 업데이트: 읽기 전용
컨트롤러 변경 할당량을 위해 메모리에 저장할 샘플 수입니다.
controller.quota.window.size.seconds유형: int
default: 1
유효한 값: [1,…]
Importance: low
동적 업데이트: 읽기 전용
컨트롤러의 각 샘플의 시간 범위는 할당량을 변경합니다.
create.topic.policy.class.name유형: class
Default: null
Importance: low
Dynamic update: read-only
검증에 사용해야 하는 주제 정책 클래스를 생성합니다. 클래스는
org.apache.kafka.server.policy.CreateTopicPolicy인터페이스를 구현해야 합니다.delegation.token.expiry.check.interval.ms유형: long
Default: 3600000 (1 hour)
유효한 값: [1,…]
중요도: low
동적 업데이트: 읽기 전용
만료된 위임 토큰을 제거하기 위한 간격입니다.
kafka.metrics.polling.interval.secs유형: int
기본값: 10
유효한 값: [1,…]
중요도: 낮음
동적 업데이트: 읽기 전용
kafka.metrics.reporters 구현에서 사용할 수 있는 지표 폴링 간격(초)입니다.
kafka.metrics.reporterstype: list: list
default: ""
Importance: low
Dynamic update: read-only
사용자 지정 보고자로 사용할 클래스 목록입니다. 보고자는
kafka.metrics.KafkaMetricsReporter특성을 구현해야 합니다. 클라이언트가 사용자 지정 보고자에서 Cryostat 작업을 노출하려는 경우 사용자 지정 보고자는 등록된 Cryostat 규칙을 준수하도록kafka.metrics.KafkaMetricsReporterMBean특성을 확장하는 Cryostat 특성을 추가로 구현해야 합니다.listener.security.protocol.map유형: 문자열
기본값: PLAINTEXT:PLAINTEXT:SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
Importance: low
Dynamic update: per-broker
리스너 이름과 보안 프로토콜 간에 매핑합니다. 동일한 보안 프로토콜을 두 개 이상의 포트 또는 IP에서 사용할 수 있도록 정의해야 합니다. 예를 들어 둘 다 SSL이 필요한 경우에도 내부 및 외부 트래픽을 분리할 수 있습니다. 구체적으로는 사용자가 INTERNAL 및 EXTERNAL이라는 이름으로 리스너를 정의할 수 있으며 이 속성은
INTERNAL:SSL,EXTERNAL:SSL. 표시된 대로 키와 값은 콜론으로 구분되고 맵 항목은 쉼표로 구분됩니다. 각 리스너 이름은 맵에 한 번만 표시되어야 합니다. 일반 접두사( listener name is lowercased)를 구성 이름에 추가하여 각 리스너에 다른 보안(SSL 및 SASL) 설정을 구성할 수 있습니다. 예를 들어 INTERNAL 리스너에 대해 다른 키 저장소를 설정하려면 이름listener.name.internal.ssl.keystore.location이 설정된 구성이 설정됩니다. 리스너 이름의 구성이 설정되지 않은 경우 구성이 일반 구성(예:ssl.keystore.location)으로 대체됩니다. KRaft에서는controller.listener.names에서 PLAINTEXT로 정의된 리스너 이름에서 명시적 매핑이 제공되지 않고 다른 보안 프로토콜이 사용되지 않는 경우 기본 매핑을 가정합니다.log.message.downconversion.enable유형: 부울
기본값: true
Importance: low
Dynamic update: cluster-wide
이 구성은 사용 요청을 충족하기 위해 메시지 형식의 다운-버전이 활성화되어 있는지 여부를 제어합니다.
false로 설정하면 브로커는 이전 메시지 형식을 예상하는 소비자에 대해 다운-버전을 수행하지 않습니다. 브로커는 이러한 이전 클라이언트의 요청 소비에 대한UNSUPPORTED_VERSION오류로 응답합니다. 이 구성은 참여자에게 복제에 필요할 수 있는 메시지 형식 변환에는 적용되지 않습니다.metadata.max.idle.interval.mstype: int
Default: 500
Valid Values: [0,…]
Importance: low
Dynamic update: read-only
이 구성은 활성 컨트롤러에서 메타데이터 파티션에 no-op 레코드를 작성해야 하는 빈도를 제어합니다. 값이 0이면 no-op 레코드가 메타데이터 파티션에 추가되지 않습니다. 기본값은 500입니다.
metric.reporterstype: list: list
default: ""
Importance: low
Dynamic update: cluster-wide
메트릭 보고자로 사용할 클래스 목록입니다.
org.apache.kafka.common.metrics.MetricsReporter인터페이스를 구현하면 새 메트릭 생성을 알리는 클래스를 연결할 수 있습니다. JmxReporter는 항상 statistics를 등록하기 위해 포함되어 있습니다.metrics.num.samples유형: int
default: 2
유효한 값: [1,…]
Importance: low
동적 업데이트: 읽기 전용
컴퓨팅 메트릭에 유지 관리되는 샘플 수입니다.
metrics.recording.leveltype: string
Default: INFO
Importance: low
Dynamic update: read-only
메트릭의 가장 높은 레코딩 수준입니다.
metrics.sample.window.ms유형: long
기본값: 30000(30초)
유효한 값: [1,…]
Importance: low
Dynamic update: read-only
메트릭 샘플이 계산되는 시간입니다.
password.encoder.cipher.algorithm유형: 문자열
기본값: AES/CBC/PKCS5Padding
Importance: low
Dynamic update: read-only
동적으로 구성된 암호를 인코딩하는 데 사용되는 Cipher 알고리즘입니다.
password.encoder.iterations유형: int
default: 4096
유효한 값: [1024,…]
중요도: low
동적 업데이트: 읽기 전용
동적으로 구성된 암호를 인코딩하는 데 사용되는 반복 횟수입니다.
password.encoder.key.length유형: int
default: 128
유효한 값: [8,…]
Importance: low
동적 업데이트: 읽기 전용
동적으로 구성된 암호를 인코딩하는 데 사용되는 키 길이입니다.
password.encoder.keyfactory.algorithmtype: string
default: null
Importance: low
Dynamic update: read-only
동적으로 구성된 암호를 인코딩하는 데 사용되는 SecretKeyFactory 알고리즘입니다. 사용 가능한 경우 기본값은 PBKDF2WithHmacSHA512이고 PBKDF2WithHmacSHA1은 그렇지 않습니다.
producer.id.expiration.ms유형: int
기본값: 86400000 (1 day)
유효한 값: [1,…]
Importance: low
Dynamic update: cluster-wide
주제 파티션 리더가 생산자 ID를 만료하기 전에 대기하는 ms의 시간입니다. 생산자 ID는 연결된 트랜잭션이 계속 진행되는 동안 만료되지 않습니다. 주제의 보존 설정으로 인해 생산자 ID에서 마지막 쓰기가 삭제되면 생산자 ID가 더 빨리 만료될 수 있습니다. 이 값을
delivery.timeout.ms보다 동일하거나 높게 설정하면 재시도 중에 만료를 방지하고 메시지 중복을 방지할 수 있지만 기본값은 대부분의 사용 사례에 적합합니다.quota.window.num유형: int
기본값: 11
유효한 값: [1,…]
중요도: 낮음
동적 업데이트: 읽기 전용
클라이언트 할당량의 메모리에 유지할 샘플 수입니다.
quota.window.size.seconds유형: int
default: 1
유효한 값: [1,…]
Importance: low
동적 업데이트: 읽기 전용
클라이언트 할당량에 대한 각 샘플의 시간 범위입니다.
remote.log.index.file.cache.total.size.bytes유형: long
기본값: 1073741824 (1gibibyte)
유효한 값: [1,…]
Importance: low
동적 업데이트: 클러스터 전체
로컬 스토리지의 원격 스토리지에서 가져온 인덱스 파일을 저장하기 위해 할당된 공간의 총 크기입니다.
remote.log.manager.task.interval.ms유형: long
기본값: 30000(30초)
유효한 값: [1,…]
Importance: low
Dynamic update: read-only
원격 로그 관리자가 복사 세그먼트와 같은 예약된 작업을 실행하고 원격 로그 세그먼트를 정리하는 간격입니다.
remote.log.metadata.custom.metadata.max.bytes유형: int
기본값: 128
유효한 값: [0,…]
중요도: low
동적 업데이트: 읽기 전용
브로커가 원격 스토리지 플러그인에서 수락해야 하는 바이트 단위의 최대 사용자 지정 메타데이터 크기입니다. 사용자 지정 메타데이터가 이 제한을 초과하면 업데이트된 세그먼트 메타데이터가 저장되지 않고 복사된 데이터가 삭제되고 이 topic-partition의 원격 복사 작업이 오류와 함께 중지됩니다.
replication.quota.window.num유형: int
기본값: 11
유효한 값: [1,…]
중요도: 낮음
동적 업데이트: 읽기 전용
복제 할당량을 위해 메모리에 유지할 샘플 수입니다.
replication.quota.window.size.seconds유형: int
default: 1
유효한 값: [1,…]
Importance: low
동적 업데이트: 읽기 전용
복제 할당량에 대한 각 샘플의 시간 범위입니다.
sasl.login.connect.timeout.ms유형: int
default: null
Importance: low
Dynamic update: read-only
외부 인증 공급자 연결 시간 초과의 (선택 사항) 값(선택 사항)입니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.read.timeout.ms유형: int
default: null
Importance: low
Dynamic update: read-only
외부 인증 공급자의 (선택 사항) 값(선택 사항)은 시간 초과입니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.retry.backoff.max.ms유형: long
기본값: 10000(10초)
중요도: 낮음
동적 업데이트: 읽기 전용
(선택 사항) 외부 인증 공급자에 대한 로그인 시도 사이의 최대 대기 시간(밀리초)입니다. login은 sasl.login.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하고 sasl.login.retry.max.ms 설정에 의해 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘립니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.retry.backoff.ms유형: long
기본값: 100
Importance: low
Dynamic update: read-only
(선택 사항) 초기 대기 시간(선택 사항) 값(선택 사항)을 외부 인증 공급자로 시도하는 경우 초기 대기 시간(밀리초)입니다. login은 sasl.login.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하고 sasl.login.retry.max.ms 설정에 의해 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘립니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.oauthbearer.clock.skew.seconds유형: int
Default: 30
Importance: low
Dynamic update: read-only
OAuth/OIDC ID 공급자와 브로커 간의 차이점을 허용하는 (선택 사항) 값(초)입니다.
sasl.oauthbearer.expected.audiencetype: list: list
default: null
Importance: low
Dynamic update: read-only
브로커에서 JWT가 예상 대상 중 하나에 대해 발행되었는지 확인하는 데 사용할 (선택 사항) 쉼표로 구분된 설정입니다. JWT는 표준 OAuth "aud" 클레임을 검사하고 이 값이 설정되면 브로커가 JWT의 "aud" 클레임의 값과 일치하여 정확히 일치하는지 확인합니다. 일치하는 항목이 없으면 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.expected.issuertype: string
default: null
Importance: low
Dynamic update: read-only
브로커가 JWT가 예상 발행자에 의해 생성되었는지 확인하는 데 사용할 (선택 사항) 설정입니다. JWT는 표준 OAuth "iss" 클레임을 검사하고 이 값이 설정되면 브로커는 JWT의 "iss" 클레임에 있는 것과 정확히 일치합니다. 일치하는 항목이 없으면 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.jwks.endpoint.refresh.ms유형: long
Default: 3600000 (1 hour)
Importance: low
Dynamic update: read-only
브로커가 JWT의 서명을 확인하는 키가 포함된 JWKS(JSON 웹 키 세트) 캐시 새로 고침 사이에 대기하는 (선택 사항) 시간(선택 사항)입니다.
sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms유형: long
기본값: 10000(10초)
중요도: 낮음
동적 업데이트: 읽기 전용
(선택 사항) 외부 인증 공급자에서 JWKS(JSON Web Key Set)를 검색하려는 시도 사이의 최대 대기 시간(밀리초)입니다. JWKS 검색에서는 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하며 sasl.oauthbearer.jwks.endpoint.retry.max.ms 설정으로 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘릴 것입니다.
sasl.oauthbearer.jwks.endpoint.retry.backoff.ms유형: long
기본값: 100
Importance: low
Dynamic update: read-only
JWKS(JSON Web Key Set) 검색 사이의 초기 대기 시간(선택 사항)에서 외부 인증 공급자의 (선택 사항) 값(밀리초)입니다. JWKS 검색에서는 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하며 sasl.oauthbearer.jwks.endpoint.retry.max.ms 설정으로 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘릴 것입니다.
sasl.oauthbearer.scope.claim.nametype: string
Default: scope
Importance: low
Dynamic update: read-only
범위에 대한 OAuth 클레임은 종종 "scope"로 지정되지만 이(선택 사항) 설정은 OAuth/OIDC 공급자가 해당 클레임에 다른 이름을 사용하는 경우 JWT 페이로드의 클레임에 포함된 범위에 사용할 다른 이름을 제공할 수 있습니다.
sasl.oauthbearer.sub.claim.nametype: string
Default: sub
Importance: low
Dynamic update: read-only
주체에 대한 OAuth 클레임은 종종 "sub"라고 하지만 이(선택 사항) 설정은 OAuth/OIDC 공급자가 해당 클레임에 다른 이름을 사용하는 경우 JWT 페이로드의 클레임에 포함된 주체에 사용할 다른 이름을 제공할 수 있습니다.
security.providerstype: string
default: null
Importance: low
Dynamic update: read-only
구성 가능한 작성자 클래스 목록은 각각 보안 알고리즘을 구현하는 공급자를 반환합니다. 이러한 클래스는
org.apache.kafka.common.security.auth.SecurityProviderCreator인터페이스를 구현해야 합니다.ssl.allow.dn.changes유형: 부울
기본값: false
중요: 낮음
동적 업데이트: 읽기 전용
인증서의 동적 재구성 중에 인증서 고유 이름을 변경할 수 있는지 여부를 나타냅니다.
ssl.allow.san.changes유형: 부울
기본값: false
중요: 낮음
동적 업데이트: 읽기 전용
인증서의 동적 재구성 중에 인증서 주체 대체 이름을 변경할 수 있는지 여부를 나타냅니다.
ssl.endpoint.identification.algorithmtype: string
default: https
Importance: low
Dynamic update: per-broker
서버 인증서를 사용하여 서버 호스트 이름을 확인하는 끝점 식별 알고리즘입니다.
ssl.engine.factory.class유형: class
Default: null
Importance: low
Dynamic update: per-broker
SSLEngine 개체를 제공하는 org.apache.kafka.common.security.auth.SslEngineFactory 유형의 클래스입니다. 기본값은 org.apache.kafka.common.security.ssl.DefaultSslEngineFactory입니다. 또는 이를 org.apache.kafka.common.security.ssl.CommonNameLoggingSslEngineFactory로 설정하면 클라이언트가 로그 수준 INFO를 가진 브로커에서 인증하기 위해 클라이언트가 사용하는 만료된 SSL 인증서의 공통 이름을 기록합니다. 이로 인해 클라이언트가 제공하는 인증서 체인을 검사하기 위한 추가 코드로 인해 mTLS 클라이언트에서 브로커로의 새 연결을 설정하는 동안 약간의 지연이 발생합니다. 구현에서는 표준 Java 신뢰 저장소를 기반으로 사용자 정의 신뢰 저장소를 사용하므로 표준 클라이언트만큼 완성되지 않기 때문에 보안 위험으로 간주될 수 있습니다.
ssl.principal.mapping.rulestype: string
Default: DEFAULT
Importance: low
Dynamic update: read-only
클라이언트 인증서에서 짧은 이름으로 구분되는 이름과 매핑하기 위한 규칙 목록입니다. 규칙은 순서대로 평가되며 보안 주체 이름과 일치하는 첫 번째 규칙은 짧은 이름에 매핑됩니다. 목록의 이후 규칙은 무시됩니다. 기본적으로 X.500 인증서의 고유 이름은 주체가 됩니다. 형식에 대한 자세한 내용은 보안 권한 부여 및 acl을 참조하십시오. KafkaPrincipalBuilder의 확장 기능이
principal.builder.class구성에서 제공하는 경우 이 구성은 무시됩니다.ssl.secure.random.implementationtype: string
default: null
Importance: low
Dynamic update: per-broker
SSL 암호화 작업에 사용할 SecureRandom PRNG 구현
telemetry.max.bytes유형: int
기본값: 1048576(1MB)
유효한 값: [1,…]
Importance: low
Dynamic update: read-only
클라이언트에서 브로커로 내보낸 원격 분석 지표의 최대 크기(사용 후 압축 후)입니다. 기본값은 1048576(1MB)입니다.
transaction.abort.timed.out.transaction.cleanup.interval.ms유형: int
기본값: 10000(10초)
유효한 값: [1,…]
중요도: low
동적 업데이트: 읽기 전용
시간 초과된 트랜잭션을 롤백하는 간격입니다.
transaction.partition.verification.enable유형: 부울
기본값: true
Importance: low
Dynamic update: cluster-wide
트랜잭션 레코드를 파티션에 작성하기 전에 파티션이 트랜잭션에 추가되었는지 확인합니다.
transaction.remove.expired.transaction.cleanup.interval.ms유형: int
Default: 3600000 (1 hour)
유효한 값: [1,…]
Importance: low
Dynamic update: read-only
transactional.id.expiration.mspass로 인해 만료된 트랜잭션을 제거하는 간격입니다.zookeeper.ssl.cipher.suitestype: list: list
default: null
Importance: low
Dynamic update: read-only
Zoo Cryostat TLS 협상(csv)에서 사용할 활성화된 암호화 제품군을 지정합니다. Zookeeper
.ssl.ciphersuites 시스템속성을 통해 설정된 모든 명시적 값을 재정의합니다(단일 "ciphersuites").null의 기본값은 활성화된 암호화 제품군 목록은 사용 중인 Java 런타임에 따라 결정됩니다.zookeeper.ssl.crl.enable유형: 부울
기본값: false
중요: 낮음
동적 업데이트: 읽기 전용
Zoo Cryostat TLS 프로토콜에서 인증서 해지 목록을 활성화할지 여부를 지정합니다.
zookeeper.ssl.crl시스템 속성을 통해 설정된 모든 명시적 값을 재정의합니다(더 짧은 이름 참조).zookeeper.ssl.enabled.protocolstype: list: list
default: null
Importance: low
Dynamic update: read-only
Zoo Cryostat TLS 협상(csv)에서 활성화된 프로토콜을 지정합니다. Zookeeper
.ssl.enabledProtocols 시스템속성을 통해 설정된 모든 명시적 값을 재정의합니다( camelCase 참조).null의 기본값은 활성화된 프로토콜이zookeeper.ssl.protocol구성 속성의 값이 됨을 의미합니다.zookeeper.ssl.endpoint.identification.algorithmtype: string
default: HTTPS
Importance: low
Dynamic update: read-only
Zoo Cryostat TLS 협상 프로세스에서 호스트 이름 확인을 활성화할지 여부를 지정합니다(예: 대소문자를 구분하지 않는 경우) "https"는 "https"로 설정되어 있고, 명시적으로 비어 있는 값이 사용되도록 지정합니다. 즉, 명시적으로 비어 있는 값은 비활성화되어 있습니다(테스트 목적으로만 권장됨). 명시적 값은
zookeeper.ssl.hostnameVerification시스템 속성을 통해 설정된 "true" 또는 "false" 값을 재정의합니다(다른 이름과 값이 있음을 나타냅니다. true는 비어 있음을 의미합니다).zookeeper.ssl.ocsp.enable유형: 부울
기본값: false
중요: 낮음
동적 업데이트: 읽기 전용
Zoo Cryostat TLS 프로토콜에서 온라인 인증서 상태 프로토콜을 활성화할지 여부를 지정합니다.
zookeeper.ssl.ocsp시스템 속성을 통해 설정된 모든 명시적 값을 재정의합니다(더 짧은 이름 참조).zookeeper.ssl.protocoltype: string
Default: TLSv1.2
Importance: low
Dynamic update: read-only
Zoo Cryostat TLS 협상에서 사용할 프로토콜을 지정합니다. 명시적 값은 동일한 이름의
zookeeper.ssl.protocol시스템 속성을 통해 설정된 모든 값을 재정의합니다.
2장. 주제 구성 속성 링크 복사링크가 클립보드에 복사되었습니다!
cleanup.policytype: list
default: delete
유효한 값: [compact, delete]
Server Default Property: log.cleanup.policy
Importance: medium
이 구성은 로그 세그먼트에 사용할 보존 정책을 지정합니다. "삭제" 정책(기본값)은 보존 시간 또는 크기 제한에 도달하면 이전 세그먼트를 삭제합니다. "컴팩트" 정책은 로그 압축 기능을 활성화하여 각 키의 최신 값을 유지합니다. 또한 두 정책을 쉼표로 구분된 목록으로 지정할 수도 있습니다(예: "삭제, 컴파일"). 이 경우 이전 세그먼트는 보존 시간 및 크기 구성에 따라 삭제되지만 유지된 세그먼트는 압축됩니다.
compression.type유형: 문자열
Default: producer
유효한 값: [uncompressed, zstd, lz4, snappy, gzip, producer]
Server Default Property: compression.type
Importance: medium
지정된 항목에 대한 최종 압축 유형을 지정합니다. 이 구성에서는 표준 압축 codecs('gzip', 'snappy', 'lz4', 'zstd')를 허용합니다. 압축하지 않은 것과 동일한 '압축되지 않음' 및 'producer'도 사용할 수 있습니다. 즉, 생산자가 설정한 원래 압축 codec를 유지합니다.
delete.retention.ms유형: long
기본값: 86400000 (1 day)
유효한 값: [0,…]
서버 기본 속성: log.cleaner.delete.retention.ms
Importance: medium
로그 압축 주제를 위해 삭제 tombstone 마커를 유지하는 시간입니다. 또한 이 설정은 최종 단계의 유효한 스냅샷을 얻기 위해 오프셋 0에서 시작하는 경우 소비자가 읽기를 완료해야 하는 시간에 바인딩됩니다(기타 삭제 tombstones는 스캔을 완료하기 전에 수집될 수 있음).
file.delete.delay.ms유형: long
Default: 60000 (1 minute)
유효한 값: [0,…]
서버 기본 속성: log.segment.delete.delay.ms
가져오기: 중간
파일 시스템에서 파일을 삭제하기 전에 대기하는 시간입니다.
flush.messages유형: long
기본값: 92233720368775807
유효한 값: [1,…]
서버 기본 속성: log.flush.interval.messages
가져오기: 중간
이 설정을 사용하면 로그에 기록된 데이터의 fsync를 강제 적용하는 간격을 지정할 수 있습니다. 예를 들어 이 값이 1로 설정된 경우 모든 메시지 뒤에 fsync가 됩니다. 5개 메시지마다 fsync인 경우 fsync가 됩니다. 일반적으로 이 설정을 설정하지 않고 지속성에 복제를 사용하고 운영 체제의 백그라운드 플러시 기능을 보다 효율적으로 허용하는 것이 좋습니다. 이 설정은 주제별 기준으로 재정의할 수 있습니다( 주별 구성 섹션참조).
flush.ms유형: long
기본값: 92233720368775807
유효한 값: [0,…]
서버 기본 속성: log.flush.interval.ms
가져오기: 중간
이 설정을 사용하면 로그에 기록된 데이터의 fsync를 강제 적용하는 시간 간격을 지정할 수 있습니다. 예를 들어 이 값이 1000으로 설정된 경우 1000ms 후에 fsync가 전달됩니다. 일반적으로 이 설정을 설정하지 않고 지속성에 복제를 사용하고 운영 체제의 백그라운드 플러시 기능을 보다 효율적으로 허용하는 것이 좋습니다.
follower.replication.throttled.replicastype : list
Default: ""
Valid Values: [partitionId]:[brokerId],[partitionId]:[brokerId],…
서버 기본 속성: null
Importance: medium
로그 복제를 후속쪽에서 제한해야 하는 복제본 목록입니다. 목록은 [#159Id]:[BrokerId],[BrokerId]:[BrokerId]:… 형식의 복제본 세트를 설명해야 합니다. 그렇지 않으면 이 항목의 모든 복제본을 차단하는 데 와일드카드 '*'를 사용할 수 있습니다.
index.interval.bytestype : int
Default: 4096 (4kibibytes)
Valid Values: [0,…]
Server Default Property: log.index.interval.bytes
Importance: medium
이 설정은 Kafka가 인덱스 항목을 오프셋 인덱스에 추가하는 빈도를 제어합니다. 기본 설정을 사용하면 약 4096바이트마다 메시지를 인덱싱할 수 있습니다. 더 많은 인덱싱을 사용하면 로그의 정확한 위치에 읽기가 가까워지지만 인덱스를 더 크게 만들 수 있습니다. 이것을 변경할 필요가 없을 수도 있습니다.
leader.replication.throttled.replicastype : list
Default: ""
Valid Values: [partitionId]:[brokerId],[partitionId]:[brokerId],…
서버 기본 속성: null
Importance: medium
로그 복제를 리더 측에서 제한해야 하는 복제본 목록입니다. 목록은 [#159Id]:[BrokerId],[BrokerId]:[BrokerId]:… 형식의 복제본 세트를 설명해야 합니다. 그렇지 않으면 이 항목의 모든 복제본을 차단하는 데 와일드카드 '*'를 사용할 수 있습니다.
local.retention.bytes유형: long
기본값: -2
유효한 값: [-2,…]
서버 기본 속성: log.local.retention.bytes
Importance: medium
이전 세그먼트를 삭제하기 전에 파티션에 대해 증가할 수 있는 로컬 로그 세그먼트의 최대 크기입니다. 기본값은 -2이며 사용할
retention.bytes값을 나타냅니다. 유효 값은 항상retention.bytes값보다 작거나 같아야 합니다.local.retention.ms유형: long
기본값: -2
유효한 값: [-2,…]
서버 기본 속성: log.local.retention.ms
Importance: medium
삭제하기 전에 로컬 로그 세그먼트를 유지하는 시간(밀리초)입니다. 기본값은 -2입니다. 이 값은
retention.ms값을 사용해야 합니다. 유효 값은 항상retention.ms값보다 작거나 같아야 합니다.max.compaction.lag.ms유형: long
기본값: 92233720368775807
유효한 값: [1,…]
서버 기본 속성: log.cleaner.max.compaction.lag.ms
가져오기: 매체
메시지가 로그에 압축할 수 없는 최대 시간입니다. 압축되는 로그에만 적용할 수 있습니다.
max.message.bytestype: int
Default: 1048588
Valid Values: [0,…]
Server Default Property: message.max.bytes
Importance: medium
Kafka에서 허용하는 가장 큰 레코드 배치 크기입니다(압축이 활성화된 경우 압축 후). 이 문제가 증가되고 0.10.2보다 오래된 소비자가 있는 경우 이 대규모 레코드 일괄 처리를 가져올 수 있도록 소비자의 가져오기 크기도 늘려야 합니다. 최신 메시지 형식 버전에서는 효율성을 위해 항상 레코드를 일괄 처리로 그룹화합니다. 이전 메시지 형식 버전에서는 압축되지 않은 레코드가 일괄 처리로 그룹화되지 않으며 이 제한은 이 경우 단일 레코드에만 적용됩니다.
message.format.version유형: 문자열
기본값: 3.0-IV1
유효한 값: [0.8.0, 0.8.2, 0.9.0, 0.10.0-IV0, 0.10.0-IV0, 0.10.0-IV0, 0.10.1-IV0, 0.10.1-IV2, 0.10.1-IV2, 0.10.1-IV0, 0.11.0-IV0, 0.11.0-IV1, 0.11.0-IV1, 0.10.0-IV0, 0.10.0 0.11.0-iv2, 1.0-iv0, 1.1-iv0, 2.0-iv0, 2.0-iv0, 2.0-iv0, 2.1-iv0, 2.1-iv2, 2.2-iv1, 2.2-iv1, 2.3-iv0, 2.3-iv1, 2.4-iv0, 2.4-iv0, 2.4-iv0, 2.0-iv0, 2.7-iv0, 2.7-iv0, 2.7-iv0, 2.7-iv0, 2.7-iv0, 2.7-iv2, 2.8-iv0, 2.8-iv0, 3.0-iv0, 3.0-iv0, 3-iv0, 3.3-iv0, 3.3-iv0, 3.3-iv3, 3.3-iv3, 3.4-iv0, 3.5-iv0, 3.5-iv0, 3.5-iv2, 3.6-iv0, 3.6-iv1, 3.6-iv1, 3.7-iv0, 3.7-iv0, 3.7-iv0, 3.7-iv0, 3.7-iv0, 3.7-iv2, 3.7-iv0, 3.7-iv2, 3.7-IV3, 3.7-IV4, 3.8-IV0]
서버 기본 속성: log.message.format.version
가져오기: 매체
[DEPRECATED] 브로커가 로그에 메시지를 추가하는 데 사용할 메시지 형식 버전을 지정합니다. 이 구성의 값은
inter.broker.protocol.version이3.0이상인 경우 항상 3.0이라고 가정합니다(실제 구성 값은 무시됨). 그렇지 않으면 값은 유효한 ApiVersion이어야 합니다. 일부 예로는 0.10.0, 1.1, 2.8, 3.0이 있습니다. 특정 메시지 형식 버전을 설정하면 디스크의 기존 메시지가 지정된 버전보다 작거나 같은지 사용자가 인증하고 있습니다. 이 값을 잘못 설정하면 이전 버전의 소비자가 이해할 수 없는 형식의 메시지를 수신하므로 중단됩니다.message.timestamp.after.max.ms유형: long
기본값: 92233720368775807
유효한 값: [0,…]
서버 기본 속성: log.message.timestamp.after.max.ms
가져오기: 매체
이 구성은 메시지 타임스탬프와 브로커의 타임 스탬프 간의 허용 가능한 타임스탬프 차이를 설정합니다. 메시지 타임스탬프는 브로커의 타임스탬프보다 크거나 같을 수 있으며 이 구성에서 설정된 값에 따라 허용되는 최대 차이가 결정됩니다. message.timestamp.type=CreateTime인 경우 타임스탬프의 차이가 이 지정된 임계값을 초과하면 메시지가 거부됩니다. message.timestamp.type=LogAppendTime인 경우 이 구성은 무시됩니다.
message.timestamp.before.max.ms유형: long
기본값: 92233720368775807
유효한 값: [0,…]
서버 기본 속성: log.message.timestamp.before.max.ms
가져오기: 매체
이 구성은 브로커의 타임스탬프와 메시지 타임스탬프 간의 허용 타임스탬프 차이를 설정합니다. 메시지 타임스탬프는 브로커의 타임스탬프보다 빠르거나 같을 수 있으며 이 구성에서 설정된 값에 따라 허용되는 최대 차이가 결정됩니다. message.timestamp.type=CreateTime인 경우 타임스탬프의 차이가 이 지정된 임계값을 초과하면 메시지가 거부됩니다. message.timestamp.type=LogAppendTime인 경우 이 구성은 무시됩니다.
message.timestamp.difference.max.ms유형: long
기본값: 92233720368775807
유효한 값: [0,…]
서버 기본 속성: log.message.timestamp.difference.max.ms
가져오기: 중간
[DEPRECATED] 브로커가 메시지를 수신할 때 타임스탬프 간에 허용되는 최대 차이점과 메시지에 지정된 타임스탬프입니다. message.timestamp.type=CreateTime인 경우 타임스탬프의 차이가 이 임계값을 초과하면 메시지가 거부됩니다. message.timestamp.type=LogAppendTime인 경우 이 구성은 무시됩니다.
message.timestamp.type유형: 문자열
기본값: CreateTime
유효한 값: [CreateTime, LogAppendTime]
서버 기본 속성: log.message.timestamp.type
가져오기: 중간
메시지의 타임 스탬프가 메시지 생성 시간인지 또는 로그 추가 시간을 정의합니다. 값은
CreateTime또는LogAppendTime이어야 합니다.min.cleanable.dirty.ratio유형: double
Default: 0.5
Valid Values: [0,…,1]
Server Default Property: log.cleaner.min.cleanable.ratio
Importance: medium
이 구성은 로그 압축기가 로그를 정리하는 빈도를 제어합니다( 로그 압축 이 활성화된 것으로 가정). 기본적으로 로그의 50% 이상이 압축되는 로그 정리를 방지합니다. 이 비율은 중복으로 로그에서 손실되는 최대 공간을 바인딩합니다(로그의 최대 50%에서 중복될 수 있음). 비율이 높을수록 효율적인 정리가 줄어들지만 로그에서 더 많은 공간을 낭비하게 됩니다. max.compaction.lag.ms 또는 min.compaction.lag.ms 구성도 지정하는 경우 로그 압축기는 더티 비율 임계값이 충족되고 로그가 최소 min.compaction.lag.ms 기간, 기간, 기간 중 하나로 압축할 수 있도록 로그를 압축할 수 있다고 간주합니다. 또는 (ii) 로그에 최대 max.compaction.lag.ms 기간 동안 더티(복합되지 않은) 레코드가 있는 경우
min.compaction.lag.mstype : long
Default: 0
Valid Values: [0,…]
Server Default Property: log.cleaner.min.compaction.lag.ms
Importance: medium
메시지가 로그에 컴파일되지 않은 상태로 유지되는 최소 시간입니다. 압축되는 로그에만 적용할 수 있습니다.
min.insync.replicastype: int
default: 1
Valid Values: [1,…]
Server Default Property: min.insync.replicas
Importance: medium
생산자가 도크를 "all"(또는 "-1")로 설정하면 이 구성은 쓰기가 성공으로 간주되기 위해 쓰기를 승인해야 하는 최소 복제본 수를 지정합니다. 이 최소값을 충족할 수 없는 경우 생산자는 예외를 발생시킵니다(NotEnoughReplicas 또는 NotEnoughReplicasAfterAppend).
min.insync.replicas및acks를 함께 사용하면 더 큰 지속성 보장을 적용할 수 있습니다. 일반적인 시나리오는 복제 인수가 3인 주제를 만들고min.insync.replicas를 2로 설정하고,acksof "all"을 생성하는 것입니다. 이렇게 하면 대부분의 복제본에서 쓰기를 수신하지 못하는 경우 생산자가 예외를 발생시킵니다.preallocatetype: boolean
default: false
Server Default Property: log.preallocate
Importance: medium
새 로그 세그먼트를 생성할 때 디스크에 파일을 미리 할당해야 하는 경우 True입니다.
remote.storage.enable유형: 부울
기본값: false
서버 기본 속성: null
Importance: medium
주제의 계층화된 스토리지를 활성화하려면 이 구성을 true로 설정합니다. 이 구성이 활성화된 후에는 비활성화할 수 없습니다. 이는 향후 버전에서 제공될 예정입니다.
retention.bytestype: long
default: -1
서버 기본 속성: log.retention.bytes
Importance: medium
이 구성은 "삭제" 보존 정책을 사용하는 경우 이전 로그 세그먼트를 확보하기 위해 이전 로그 세그먼트를 삭제하기 전에 파티션(로그 세그먼트로 구성)의 최대 크기를 제어합니다. 기본적으로 크기 제한은 제한 시간만 없습니다. 이 제한은 파티션 수준에서 적용되므로 파티션 수를 곱하여 주제 보존을 바이트 단위로 계산합니다.
retention.ms유형: long
default: 604800000 (7 days)
유효한 값: [-1,…]
서버 기본 속성: log.retention.ms
Importance: medium
이 구성은 "삭제" 보존 정책을 사용하는 경우 이전 로그 세그먼트를 삭제하기 전에 로그를 보존하는 최대 시간을 제어합니다. 이는 소비자가 데이터를 얼마나 빨리 읽어야 하는지에 대한 SLA를 나타냅니다. -1로 설정하면 시간 제한이 적용되지 않습니다.
segment.bytes유형: int
기본값: 1073741824 (1gibibyte)
유효한 값: [14,…]
서버 기본 속성: log.segment.bytes
가져오기: 중간
이 구성은 로그의 세그먼트 파일 크기를 제어합니다. 보존 및 정리는 한 번에 항상 파일을 수행하므로 더 큰 세그먼트 크기는 파일 수가 줄어들지만 보존에 대한 세분화된 제어는 줄어듭니다.
segment.index.bytes유형: int
기본값: 10485760(10MB)
유효한 값: [4,…]
서버 기본 속성: log.index.size.max.bytes
가져오기: 매체
이 구성은 오프셋을 파일 위치에 매핑하는 인덱스의 크기를 제어합니다. 이 인덱스 파일을 사전 할당하고 로그 목록 후에만 축소합니다. 일반적으로 이 설정을 변경할 필요가 없습니다.
segment.jitter.mstype: long
Default: 0
Valid Values: [0,…]
Server Default Property: log.roll.jitter.ms
Importance: medium
세그먼트 롤링의 허브가 영향을 받지 않도록 예약된 세그먼트 롤 시간에서 최대 임의 지터를 뺀 수입니다.
segment.ms유형: long
Default: 604800000 (7 days)
유효한 값: [1,…]
서버 기본 속성: log.roll.ms
중요도: 중간
이 설정은 세그먼트 파일이 가득 차지 않은 경우에도 Kafka가 강제로 로그를 롤백하는 기간을 제어하여 보존이 오래된 데이터를 삭제하거나 압축할 수 있도록 합니다.
unclean.leader.election.enabletype: boolean
default: false
서버 기본 속성: unclean.leader.election.enable
Importance: medium
ISR 세트의 복제본이 마지막 수단으로 리더로 선택되지 않도록 활성화할지 여부를 나타내며, 이렇게 하면 데이터가 손실될 수 있습니다.
message.downconversion.enabletype: boolean
Default: true
Server Default Property: log.message.downconversion.enable
Importance: low
이 구성은 사용 요청을 충족하기 위해 메시지 형식의 다운-버전이 활성화되어 있는지 여부를 제어합니다.
false로 설정하면 브로커는 이전 메시지 형식을 예상하는 소비자에 대해 다운-버전을 수행하지 않습니다. 브로커는 이러한 이전 클라이언트의 요청 소비에 대한UNSUPPORTED_VERSION오류로 응답합니다. 이 구성은 참여자에게 복제에 필요할 수 있는 메시지 형식 변환에는 적용되지 않습니다.
3장. 소비자 구성 속성 링크 복사링크가 클립보드에 복사되었습니다!
key.deserializer유형: class
Importance: high
org.apache.kafka.common.serialization.Deserializer인터페이스를 구현하는 키에 대한 Deserializer 클래스입니다.value.deserializer유형: class
Importance: high
org.apache.kafka.common.serialization.Deserializer인터페이스를 구현하는 value의 Deserializer 클래스입니다.bootstrap.serverstype: list
default: ""
유효한 값: non-null string
Importance: high
Kafka 클러스터에 대한 초기 연결을 설정하는 데 사용할 호스트/포트 쌍 목록입니다. 클라이언트는 부트스트랩을 위해 여기에 지정된 서버를 여기에 관계없이 모든 서버를 사용합니다. 이 목록은 전체 서버 세트를 검색하는 데 사용되는 초기 호스트에만 영향을 미칩니다. 이 목록은
host1:port1,host2:port2,…이어야 합니다. 이러한 서버는 초기 연결에서 전체 클러스터 멤버십을 검색하는 데만 사용되므로(동적으로 변경될 수 있음) 이 목록에는 전체 서버 세트가 포함되지 않아도 됩니다(서버가 다운된 경우 하나 이상 필요).fetch.min.bytes유형: int
기본값: 1
유효한 값: [0,…]
중요도: high
서버에서 가져오기 요청에 대해 반환해야 하는 최소 데이터 양입니다. 데이터가 충분하지 않은 경우 요청은 요청에 응답하기 전에 많은 데이터가 누적될 때까지 기다립니다. 1바이트의 기본 설정은 데이터의 수를 사용할 수 있는 즉시 가져오기 요청이 응답되거나 데이터가 도착 대기 중인 가져오기 요청 시간이 초과되는 즉시 응답됨을 의미합니다. 이 값을 더 큰 값으로 설정하면 서버가 더 많은 양의 데이터가 누적될 때까지 대기하므로 추가 대기 시간이 지남에 따라 서버 처리량을 약간 개선할 수 있습니다.
group.id유형: 문자열
기본값: null
Importance: high
이 소비자가 속하는 소비자 그룹을 식별하는 고유한 문자열입니다. 이 속성은 소비자가
subscribe(topic)또는 Kafka 기반 오프셋 관리 전략을 사용하여 그룹 관리 기능을 사용하는 경우 필요합니다.group.protocoltype: string
default: classic
Valid Values: ( case insensitive) [CONSUMER, CLASSIC]
Importance: high
그룹 프로토콜 소비자가 사용해야 합니다. 현재 "classic" 또는 "consumer"를 지원합니다. "consumer"가 지정되면 소비자 그룹 프로토콜이 사용됩니다. 그렇지 않으면 클래식 그룹 프로토콜이 사용됩니다.
heartbeat.interval.ms유형: int
기본값: 3000 (3초)
중요도: high
Kafka의 그룹 관리 기능을 사용할 때 하트비트와 소비자 코디네이터 간 예상 시간입니다. 하트비트는 사용자의 세션이 활성 상태를 유지하고 새 소비자가 그룹에 참여하거나 나가면 재조정을 용이하게 하는 데 사용됩니다. 값은
session.timeout.ms보다 작아야 하지만 일반적으로 해당 값의 1/3 이상을 설정하지 않아야 합니다. 정상적인 리밸런스에 필요한 시간을 제어하도록 더욱 낮게 조정할 수 있습니다.max.partition.fetch.bytes유형: int
기본값: 1048576 (1bibyte)
유효한 값: [0,…]
Importance: high
서버가 반환할 파티션당 최대 데이터 양입니다. 레코드는 소비자가 배치로 가져옵니다. 가져오기의 첫 번째 비어 있지 않은 파티션의 첫 번째 레코드 배치가 이 제한보다 크면 소비자가 진행할 수 있도록 배치가 반환됩니다. 브로커가 허용하는 최대 레코드 배치 크기는
message.max.bytes(broker config) 또는max.message.bytes(topic config)를 통해 정의됩니다. 소비자 요청 크기를 제한하려면 fetch.max.bytes를 참조하십시오.session.timeout.ms유형: int
기본값: 45000 (45 초)
중요도: high
Kafka의 그룹 관리 기능을 사용할 때 클라이언트 오류를 감지하는 데 사용되는 시간 초과입니다. 클라이언트는 주기적인 하트비트를 전송하여 브로커에 활성을 나타냅니다. 이 세션 시간 제한이 만료되기 전에 브로커가 하트비트를 수신하지 않으면 브로커는 이 클라이언트를 그룹에서 제거하고 재조정을 시작합니다. 값은 브로커 구성에 구성된 대로 허용 범위에 있어야 합니다
.min.session.timeout.ms 및.ms .group.max.session.timeout.msssl.key.password유형: password
기본값: null
Importance: high
키 저장소 파일의 개인 키 또는 'ssl.keystore.key'에 지정된 PEM 키의 암호입니다.
ssl.keystore.certificate.chain유형: password
기본값: null
Importance: high
'ssl.keystore.type'에 지정된 형식의 인증서 체인입니다. 기본 SSL 엔진 팩토리에서는 X.509 인증서 목록이 있는 PEM 형식만 지원합니다.
ssl.keystore.key유형: password
기본값: null
Importance: high
'ssl.keystore.type'에 지정된 형식의 개인 키입니다. 기본 SSL 엔진 팩토리에서는 PKCS#8 키가 있는 PEM 형식만 지원합니다. 키가 암호화된 경우 'ssl.key.password'를 사용하여 키 암호를 지정해야 합니다.
ssl.keystore.location유형: 문자열
기본값: null
Importance: high
키 저장소 파일의 위치입니다. 클라이언트의 경우 선택 사항이며 클라이언트의 양방향 인증에 사용할 수 있습니다.
ssl.keystore.password유형: password
기본값: null
Importance: high
키 저장소 파일의 저장소 암호입니다. 이는 클라이언트에 선택 사항이며 'ssl.keystore.location'이 구성된 경우에만 필요합니다. PEM 형식에는 키 저장소 암호가 지원되지 않습니다.
ssl.truststore.certificates유형: password
기본값: null
Importance: high
'ssl.truststore.type'에서 지정한 형식의 신뢰할 수 있는 인증서입니다. 기본 SSL 엔진 팩토리에서는 X.509 인증서가 있는 PEM 형식만 지원합니다.
ssl.truststore.location유형: 문자열
기본값: null
Importance: high
신뢰 저장소 파일의 위치입니다.
ssl.truststore.password유형: password
기본값: null
Importance: high
신뢰 저장소 파일의 암호입니다. 암호를 설정하지 않으면 구성된 신뢰 저장소 파일이 계속 사용되지만 무결성 검사가 비활성화됩니다. PEM 형식에 대해 신뢰 저장소 암호가 지원되지 않습니다.
allow.auto.create.topics유형: 부울
기본값: true
Importance: medium
주제를 구독하거나 할당할 때 브로커에 자동 주제 생성을 허용합니다. 서브스크립션되는 주제는 브로커가
auto.create.topics.enable브로커 구성을 사용하는 경우에만 자동으로 생성됩니다. 0.11.0 미만의 브로커를 사용하는 경우 이 구성을false로 설정해야 합니다.auto.offset.reset유형: 문자열
default: latest
올바른 값: [latest, earliest, none]
중요도: 중간
Kafka에 초기 오프셋이 없거나 현재 오프셋이 서버에 더 이상 존재하지 않는 경우 수행할 작업(예: 해당 데이터가 삭제되었기 때문에).
- 가장 빠른 시간: 오프셋을 가장 초기 오프셋으로 자동 재설정
- latest: 오프셋을 최신 오프셋으로 자동 재설정
- none: 소비자 그룹에 대한 이전 오프셋이 없는 경우 사용자에게 예외를 발생시킵니다.
기타 모든 항목: 사용자에게 예외를 throw합니다.
이 구성을 latest로 설정하는 동안 파티션 번호를 변경하면 생산자가 새로 추가된 파티션(예: 아직 초기 오프셋 없음)으로 메시지를 보내기 시작할 수 있으므로 사용자가 오프셋을 재설정하기 전에 메시지 전달 손실이 발생할 수 있습니다.
client.dns.lookuptype : string
default: use_all_dns_ips
유효한 값: [use_all_dns_ips, resolve_canonical_bootstrap_servers_only]
Importance: medium
클라이언트에서 DNS 조회를 사용하는 방법을 제어합니다.
use_all_dns_ips로 설정된 경우 성공적인 연결이 설정될 때까지 반환된 각 IP 주소에 순서대로 연결합니다. 연결 해제 후 다음 IP가 사용됩니다. 모든 IP가 한 번 사용되면 클라이언트는 호스트 이름에서 IP를 다시 확인합니다(JVM 및 OS 캐시 DNS 이름 조회 모두).resolve_canonical_bootstrap_servers_only로 설정된 경우 각 부트스트랩 주소를 정식 이름 목록으로 확인합니다. 부트스트랩 단계 후use_all_dns_ips와 동일하게 작동합니다.connections.max.idle.ms유형: long
기본값: 540000 (9 분)
중요도: 중간
이 구성에서 지정한 시간(밀리초) 후에 유휴 연결을 종료합니다.
default.api.timeout.ms유형: int
기본값: 60000 (1분)
유효한 값: [0,…]
중요: 중간
클라이언트 API의 시간 초과(밀리초)를 지정합니다. 이 구성은
timeout매개변수를 지정하지 않는 모든 클라이언트 작업의 기본 시간 초과로 사용됩니다.enable.auto.commit유형: 부울
기본값: true
Importance: medium
true인 경우 소비자 오프셋은 백그라운드에서 정기적으로 커밋됩니다.
exclude.internal.topics유형: 부울
기본값: true
Importance: medium
서브스크립션 패턴과 일치하는 내부 주제를 서브스크립션에서 제외해야 하는지 여부입니다. 항상 내부 주제를 명시적으로 구독할 수 있습니다.
fetch.max.bytes유형: int
기본값: 52428800(50 메비바이트)
유효한 값: [0,…]
Importance: medium
서버에서 가져오기 요청에 대해 반환해야 하는 최대 데이터 양입니다. 레코드는 소비자가 배치로 가져오고, 풀의 첫 번째 비어 있지 않은 파티션의 첫 번째 레코드 배치가 이 값보다 크면 소비자를 진행할 수 있도록 레코드 배치가 반환됩니다. 따라서 이는 절대 최대값이 아닙니다. 브로커가 허용하는 최대 레코드 배치 크기는
message.max.bytes(broker config) 또는max.message.bytes(topic config)를 통해 정의됩니다. 소비자는 병렬로 여러 가져오기를 수행합니다.group.instance.idtype: string
default: null
Valid Values: non-empty string
Importance: medium
최종 사용자가 제공하는 소비자 인스턴스의 고유 식별자입니다. 비어 있지 않은 문자열만 허용됩니다. 설정된 경우 소비자는 정적 멤버로 처리되므로 언제든지 이 ID가 있는 하나의 인스턴스만 소비자 그룹에서 허용됩니다. 이는 더 큰 세션 시간 초과와 함께 사용되어 일시적인 사용 불가(예: 프로세스 재시작)로 인한 그룹 재조정을 방지할 수 있습니다. 설정되지 않은 경우 소비자는 기존 동작인 동적 멤버로 그룹에 참여합니다.
group.remote.assignor유형: 문자열
기본값: null
Importance: medium
사용할 서버 측 할당자입니다. 할당자를 지정하지 않으면 그룹 코디네이터가 하나를 선택합니다. 이 구성은
group.protocol이 "consumer"로 설정된 경우에만 적용됩니다.isolation.leveltype: string
Default: read_uncommitted
올바른 값: [read_committed, read_uncommitted]
Importance: medium
트랜잭션으로 작성된 메시지를 읽는 방법을 제어합니다.
read_committed로 설정하면 consumer.poll()은 커밋된 트랜잭션 메시지만 반환합니다.read_uncommitted(기본값)로 설정하면 consumer.poll()이 중단된 트랜잭션 메시지인 모든 메시지를 반환합니다. 비-전용 메시지는 두 모드에서 무조건 반환됩니다.메시지는 항상 오프셋 순서대로 반환됩니다. 따라서
read_committed모드에서 consumer.poll()은 첫 번째 오픈 트랜잭션의 오프셋보다 적은 LSO(마지막 stable offset)까지만 메시지를 반환합니다. 특히 진행중인 트랜잭션에 속하는 메시지가 표시된 모든 메시지는 관련 트랜잭션이 완료될 때까지 유지됩니다. 결과적으로read_committed소비자는 일선 거래에서 높은 워터마크까지 읽을 수 없습니다.Further, when in `read_committed` the seekToEnd method will return the LSO .
Further, when in `read_committed` the seekToEnd method will return the LSO .Copy to Clipboard Copied! Toggle word wrap Toggle overflow max.poll.interval.ms유형: int
기본값: 300000 (5 분)
유효한 값: [1,…]
중요도: 중간
소비자 그룹 관리를 사용할 때 poll() 호출 사이의 최대 지연입니다. 이렇게 하면 더 많은 레코드를 가져오기 전에 소비자를 유휴 상태로 설정할 수 있는 시간에 상한이 발생합니다. 이 시간 초과가 만료되기 전에 poll()를 호출하지 않으면 소비자가 실패한 것으로 간주되고 그룹이 파티션을 다른 멤버에 다시 할당하기 위해 재조정됩니다. 이 시간 초과에 도달하는 null이 아닌
group.instance.id를 사용하는 소비자의 경우 즉시 파티션이 다시 할당되지 않습니다. 대신, 소비자는 하트비트 전송을 중지하고session.timeout.ms의 만료 후 파티션이 다시 할당됩니다. 이렇게 하면 종료가 있는 정적 소비자의 동작이 미러링됩니다.max.poll.records유형: int
기본값: 500
올바른 값: [1,…]
중요도: 중간
poll()에 대한 단일 호출에서 반환되는 최대 레코드 수입니다.
max.poll.records는 기본 가져오기 동작에 영향을 미치지 않습니다. 소비자는 각 가져오기 요청의 레코드를 캐시하고 각 폴링에서 증분 방식으로 반환합니다.partition.assignment.strategytype : list
Default: apache.kafka.clients.consumer.RangeAssignor,class org.apache.kafka.clients.consumer.consumer.CooperativeStickyAssignor
Valid Values: non-null string
Importance: medium
그룹 관리가 사용될 때 클라이언트가 소비자 인스턴스 간에 파티션 소유권을 배포하는 데 사용할 지원되는 파티션 할당 전략의 기본 설정에 따라 정렬되는 클래스 이름 또는 클래스 유형 목록입니다. 사용 가능한 옵션은 다음과 같습니다.
-
org.apache.kafka.clients.consumer.RangeAssignor: 주제별로 파티션을 할당합니다. -
org.apache.kafka.clients.consumer.RoundRobinAssignor: 라운드 로빈 방식으로 파티션을 소비자에게 할당합니다. -
org.apache.kafka.clients.consumer.StickyAssignor: 가능한 한 많은 기존 파티션 할당을 유지하면서 maximally balanced 할당을 보장합니다. org.apache.kafka.clients.consumer.CooperativeStickyAssignor: 동일한 CryostatAssignor 논리를 따르지만 cooperative 재조정을 허용합니다.기본 할당자는 [RangeAssignor, CooperativeStickyAssignor]이며 기본적으로 RangeAssignor를 사용하지만 목록에서 RangeAssignor를 제거하는 단일 롤링 바운더로 CooperativeStickyAssignor로 업그레이드할 수 있습니다.
org.apache.kafka.clients.consumer.Consumer CryostatAssignor인터페이스를 구현하면 사용자 지정 할당 전략을 연결할 수 있습니다.
-
receive.buffer.bytes유형: int
기본값: 65536 (64 kibibytes)
유효한 값: [-1,…]
Importance: medium
데이터를 읽을 때 사용할 TCP 수신 버퍼(SO_RCVBUF)의 크기입니다. 값이 -1이면 OS 기본값이 사용됩니다.
request.timeout.ms유형: int
기본값: 30000(30초)
유효한 값: [0,…]
Importance: medium
구성은 클라이언트가 요청 응답을 기다리는 최대 시간을 제어합니다. 시간 초과가 경과하기 전에 응답을 수신하지 않으면 필요한 경우 클라이언트가 요청을 다시 전송하거나 재시도가 소진되면 요청을 다시 보냅니다.
sasl.client.callback.handler.class유형: class
Default: null
Importance: medium
AuthenticateCallbackHandler 인터페이스를 구현하는 SASL 클라이언트 콜백 처리기 클래스의 정규화된 이름입니다.
sasl.jaas.config유형: password
기본값: null
Importance: medium
JAAS 구성 파일에서 사용하는 형식의 SASL 연결에 대한 JAAS 로그인 컨텍스트 매개변수입니다. JAAS 구성 파일 형식은 여기에 설명되어 있습니다. 값 형식은
loginModuleClass controlFlag (optionName=optionValue)*;입니다. 브로커의 경우 구성 앞에 리스너 접두사 및 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule이 필요합니다.sasl.kerberos.service.name유형: 문자열
기본값: null
Importance: medium
Kafka가 실행되는 Kerberos 주체 이름입니다. Kafka의 JAAS config 또는 Kafka의 config에서 정의할 수 있습니다.
sasl.login.callback.handler.class유형: class
Default: null
Importance: medium
AuthenticateCallbackHandler 인터페이스를 구현하는 SASL 로그인 콜백 처리기 클래스의 정규화된 이름입니다. 브로커의 경우 로그인 콜백 처리기 구성 앞에 리스너 접두사 및 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler입니다.
sasl.login.class유형: class
Default: null
Importance: medium
로그인 인터페이스를 구현하는 클래스의 정규화된 이름입니다. 브로커의 경우 로그인 구성 앞에는 리스너 접두사와 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin입니다.
sasl.mechanism유형: 문자열
기본값: GSSAPI
Importance: medium
클라이언트 연결에 사용되는 SASL 메커니즘입니다. 이는 보안 공급자를 사용할 수 있는 메커니즘일 수 있습니다. GSSAPI는 기본 메커니즘입니다.
sasl.oauthbearer.jwks.endpoint.url유형: 문자열
기본값: null
Importance: medium
공급자의 JWKS(JSON 웹 키 세트) 를 검색할 수 있는 OAuth/OIDC 공급자 URL입니다. URL은 HTTP(S) 기반 또는 파일 기반일 수 있습니다. URL이 HTTP(S) 기반인 경우 브로커 시작 시 구성된 URL을 통해 OAuth/OIDC 제공업체에서 JWKS 데이터가 검색됩니다. 이후의 모든 최신 키는 들어오는 요청을 위해 브로커에 캐시됩니다. 캐시에 아직 없는 "kid" 헤더 클레임 값을 포함하는 JWT에 대한 인증 요청이 수신되면 필요에 따라 JWKS 엔드포인트가 다시 쿼리됩니다. 그러나 브로커는 모든 sasl.oauthbearer.jwks.endpoint.refresh.ms 밀리초를 폴링하여 해당 URL을 포함하는 JWT 요청이 수신되기 전에 향후 키로 캐시를 새로 고칩니다. URL이 파일 기반이면 브로커는 시작 시 구성된 위치에서 JWKS 파일을 로드합니다. JWT에 JWKS 파일에 없는 "kid" 헤더 값이 포함된 경우 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.token.endpoint.url유형: 문자열
기본값: null
Importance: medium
OAuth/OIDC ID 공급자의 URL입니다. URL이 HTTP(S) 기반인 경우 sasl.jaas.config의 구성에 따라 로그인할 요청의 발행자 토큰 끝점 URL입니다. URL이 파일 기반인 경우 권한 부여에 사용할 OAuth/OIDC ID 공급자가 발행한 액세스 토큰( JWT로 직렬화된 양식)이 포함된 파일을 지정합니다.
security.protocol유형: 문자열
기본값: PLAINTEXT
유효한 값: (대소문자 구분) [SASL_SSL, PLAINTEXT, SSL, SASL_PLAINTEXT]
Importance: medium
브로커와 통신하는 데 사용되는 프로토콜입니다. 유효한 값은 PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL입니다.
send.buffer.bytes유형: int
기본값: 131072(128 kibibytes)
유효한 값: [-1,…]
Importance: medium
데이터를 전송할 때 사용할 TCP 전송 버퍼(SO_SNDBUF)의 크기입니다. 값이 -1이면 OS 기본값이 사용됩니다.
socket.connection.setup.timeout.max.ms유형: long
기본값: 30000 (30 초)
중요도: 중간
클라이언트가 소켓 연결이 설정될 때까지 대기하는 최대 시간입니다. 연결 설정 시간 초과는 연속 연결 오류마다 이 최대값까지 기하급수적으로 증가합니다. 연결 불란을 방지하기 위해 0.2의 무작위화 요소가 시간 초과에 적용되어 계산된 값보다 20% 이하에서 20% 사이의 임의 범위가 됩니다.
socket.connection.setup.timeout.ms유형: long
기본값: 10000(10초)
중요도: 중간
클라이언트가 소켓 연결이 설정될 때까지 대기하는 시간입니다. 시간 초과가 경과하기 전에 연결이 빌드되지 않으면 클라이언트가 소켓 채널을 종료합니다. 이 값은 초기 백오프 값이며
socket.connection.setup.timeout.max.ms값까지 연속된 각 연결 오류에 대해 기하급수적으로 증가합니다.ssl.enabled.protocolstype: list: list
default: TLSv1.2,TLSv1.3
Importance: medium
SSL 연결에 활성화된 프로토콜 목록입니다. Java 11 이상에서 실행하는 경우 기본값은 'TLSv1.2,TLSv1.3'이며, 그렇지 않으면 'TLSv1.2'입니다. Java 11의 기본값을 사용하면 클라이언트와 서버는 TLSv1.2를 지원하고 그 대신 TLSv1.2를 모두 지원하는 경우 TLSv1.3을 선호합니다(적어도 TLSv1.2 이상 지원). 대부분의 경우 이 기본값은 정상이어야 합니다.
ssl.protocol의 구성 문서를 참조하십시오.ssl.keystore.type유형: 문자열
기본값: JKS
중요도: 중간
키 저장소 파일의 파일 형식입니다. 클라이언트에는 선택 사항입니다. 현재 기본
ssl.engine.factory.class에서 지원하는 값은 [JKS, PKCS12, PEM]입니다.ssl.protocol유형: 문자열
기본값: TLSv1.3
중요도: 중간
SSLContext를 생성하는 데 사용되는 SSL 프로토콜입니다. Java 11 이상에서 실행하는 경우 기본값은 'TLSv1.3'이며, 그렇지 않으면 'TLSv1.2'입니다. 이 값은 대부분의 사용 사례에 적합해야 합니다. 최근 JVM에서 허용되는 값은 'TLSv1.2' 및 'TLSv1.3'입니다. 'TLS', 'TLSv1.1', 'SSL', 'SSLv2' 및 'SSLv3'은 이전 JVM에서 지원되지 않을 수 있지만 알려진 보안 취약점으로 인해 사용이 권장되지 않습니다. 이 구성 및 'ssl.enabled.protocols'의 기본값을 사용하면 서버가 'TLSv1.3'을 지원하지 않는 경우 클라이언트가 'TLSv1.2'로 다운그레이드됩니다. 이 구성이 'TLSv1.2'로 설정된 경우 클라이언트는 ssl.enabled.protocols의 값 중 하나이고 서버가 'TLSv1.3'만 지원하는 경우에도 'TLSv1.3'을 사용하지 않습니다.
ssl.provider유형: 문자열
기본값: null
Importance: medium
SSL 연결에 사용되는 보안 공급자의 이름입니다. 기본값은 JVM의 기본 보안 공급자입니다.
ssl.truststore.type유형: 문자열
기본값: JKS
중요도: 중간
신뢰 저장소 파일의 파일 형식입니다. 현재 기본
ssl.engine.factory.class에서 지원하는 값은 [JKS, PKCS12, PEM]입니다.auto.commit.interval.ms유형: int
기본값: 5000 (5초)
유효한 값: [0,…]
중요: 낮음
enable.auto.commit가true로 설정된 경우 소비자 오프셋이 Kafka로 자동 커밋되는 빈도(밀리초)입니다.auto.include.jmx.reporter유형: 부울
기본값: true
Importance: low
더 이상 사용되지 않습니다.
metric.reporters에 나열되지 않은 경우에도 JmxReporter를 자동으로 포함할지 여부입니다. 이 구성은 Kafka 4.0에서 제거되며 대신 JmxReporter를 활성화하려면metric.reporters에org.apache.kafka.common.metrics.JmxReporter를 포함해야 합니다.check.crcs유형: 부울
기본값: true
Importance: low
사용된 레코드의 CRC32를 자동으로 확인합니다. 이렇게 하면 메시지에 대한 on-the-wire 또는 온-디스크 손상이 발생하지 않았습니다. 이 검사에는 오버헤드가 추가되므로 극단적인 성능을 원하는 경우 비활성화될 수 있습니다.
client.id유형: 문자열
기본값: ""
중요도: 낮음
요청을 수행할 때 서버에 전달할 id 문자열입니다. 이를 위해 논리적 애플리케이션 이름을 서버 측 요청 로깅에 포함하도록 허용하여 ip/port 이외의 요청 소스를 추적할 수 있습니다.
client.rack유형: 문자열
기본값: ""
중요도: 낮음
이 클라이언트의 랙 식별자입니다. 이 값은 이 클라이언트가 물리적으로 위치한 위치를 나타내는 모든 문자열 값일 수 있습니다. 브로커 구성 'broker.rack'에 해당합니다.
enable.metrics.push유형: 부울
기본값: true
Importance: low
클라이언트 메트릭을 클러스터로 내보낼지 여부(클러스터에 이 클라이언트와 일치하는 클라이언트 지표 서브스크립션이 있는 경우).
fetch.max.wait.ms유형: int
기본값: 500
유효한 값: [0,…]
중요도: 낮음
fetch.min.bytes에서 제공한 요구 사항을 즉시 충족할 수 있는 데이터가 충분하지 않은 경우 서버가 가져오기 요청에 응답하기 전에 차단되는 최대 시간입니다.
interceptor.classestype: list
default: ""
유효한 값: non-null string
Importance: low
인터셉터로 사용할 클래스 목록입니다.
org.apache.kafka.clients.consumerInterceptor인터페이스를 구현하면 소비자가 수신한 레코드를 가로챌 수 있습니다. 기본적으로 인터셉터가 없습니다.metadata.max.age.ms유형: long
기본값: 300000 (5분)
유효한 값: [0,…]
중요: 낮음
파티션 리더십 변경 사항을 보지 못하더라도 새 브로커 또는 파티션을 사전에 검색하지 못한 경우에도 메타데이터를 강제로 새로 고침한 후 밀리초 단위입니다.
metric.reporterstype: list
default: ""
유효한 값: non-null string
Importance: low
메트릭 보고자로 사용할 클래스 목록입니다.
org.apache.kafka.common.metrics.MetricsReporter인터페이스를 구현하면 새 메트릭 생성을 알리는 클래스를 연결할 수 있습니다. JmxReporter는 항상 statistics를 등록하기 위해 포함되어 있습니다.metrics.num.samples유형: int
기본값: 2
유효한 값: [1,…]
중요도: 낮음
컴퓨팅 메트릭에 유지 관리되는 샘플 수입니다.
metrics.recording.level유형: 문자열
기본값: INFO
유효한 값: [INFO, DEBUG, TRACE]
Importance: low
메트릭의 가장 높은 레코딩 수준입니다.
metrics.sample.window.ms유형: long
기본값: 30000(30초)
유효한 값: [0,…]
중요도: 낮음
메트릭 샘플이 계산되는 시간입니다.
reconnect.backoff.max.ms유형: long
기본값: 1000 (1 second)
유효한 값: [0,…]
중요도: 낮음
반복적으로 연결하지 못한 브로커에 다시 연결할 때 대기하는 최대 시간(밀리초)입니다. 제공된 경우 호스트당 백오프는 연속되는 각 연결 오류에 대해 이 최대값까지 기하급수적으로 증가합니다. 백오프 증가를 계산한 후 연결 측정을 방지하기 위해 20%의 임의 지터가 추가됩니다.
reconnect.backoff.ms유형: long
기본값: 50
유효한 값: [0,…]
중요도: 낮음
지정된 호스트에 다시 연결하기 전에 대기하는 기본 시간입니다. 이렇게 하면 하드 루프로 호스트에 반복적으로 연결하는 것을 방지할 수 있습니다. 이 백오프는 클라이언트가 브로커에 대한 모든 연결 시도에 적용됩니다. 이 값은 초기 backoff 값이며,
reconnect.backoff.max.ms값까지 연속된 각 연결 오류에 대해 기하급수적으로 증가합니다.retry.backoff.max.ms유형: long
기본값: 1000 (1 second)
유효한 값: [0,…]
중요도: 낮음
반복적으로 실패한 브로커에 대한 요청을 재시도할 때 대기하는 최대 시간(밀리초)입니다. 제공된 경우 클라이언트당 백오프는 실패한 각 요청에 대해 이 최대값까지 기하급수적으로 증가합니다. 재시도 시 모든 클라이언트가 동기화되지 않도록 0.2의 비율을 가진 임의의 지터가 백오프에 적용되므로 계산된 값보다 20% 이하에서 20% 사이의 백오프가 백오프됩니다.
retry.backoff.ms가retry.backoff.max.ms보다 높게 설정된 경우retry.backoff.max.ms는 기하급수적으로 증가하지 않고 처음부터 일정한 백오프로 사용됩니다.retry.backoff.ms유형: long
기본값: 100
유효한 값: [0,…]
중요도: 낮음
지정된 주제 파티션에 대한 실패한 요청을 재시도하기 전에 대기하는 시간입니다. 이렇게 하면 일부 실패 시나리오에서 엄격한 루프로 요청을 반복적으로 보내는 것을 방지할 수 있습니다. 이 값은 초기 backoff 값이며,
retry.backoff.max.ms값까지 실패한 각 요청에 대해 기하급수적으로 증가합니다.sasl.kerberos.kinit.cmd유형: 문자열
기본값: /usr/bin/kinit
Importance: low
Kerberos kinit 명령 경로입니다.
sasl.kerberos.min.time.before.relogin유형: long
기본값: 60000
중요도: 낮음
새로 고침 시도 사이의 로그인 스레드 수면 시간입니다.
sasl.kerberos.ticket.renew.jitter유형: 두 번
기본값: 0.05
중요도: 낮음
갱신 시간에 임의 지터의 백분율이 추가되었습니다.
sasl.kerberos.ticket.renew.window.factor유형: double
기본값: 0.8
중요도: 낮음
로그인 스레드는 지정된 시간 요소가 마지막으로 새로 고침에서 티켓 만료로 도달할 때까지 유휴 상태가 되고 이 기간 동안 티켓을 갱신하려고 합니다.
sasl.login.connect.timeout.ms유형: int
default: null
Importance: low
외부 인증 공급자 연결 시간 초과의 (선택 사항) 값(선택 사항)입니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.read.timeout.ms유형: int
default: null
Importance: low
외부 인증 공급자의 (선택 사항) 값(선택 사항)은 시간 초과입니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.buffer.seconds유형: short
기본값: 300
유효한 값: [0,…,3600]
중요도: 낮음
인증 정보를 새로 고칠 때 유지 관리하는 인증 정보 만료 전의 버퍼 시간(초)입니다. 새로 고침이 버퍼 초 수보다 만료되는 경우 새로 고침은 가능한 한 많은 버퍼 시간을 유지하기 위해 이동합니다. 법적 값은 0에서 3600(1시간) 사이입니다. 값이 지정되지 않은 경우 기본값 300(5분)이 사용됩니다. 이 값과 sasl.login.refresh.min.period.seconds 값은 합계가 인증 정보의 나머지 수명을 초과하면 둘 다 무시됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.min.period.seconds유형: short
기본값: 60
유효한 값: [0,…,900]
중요도: 낮음
로그인 새로 고침 스레드가 인증 정보를 새로 고치기 전에 대기하는 최소 시간(초)입니다. 법적 값은 0에서 900 (15 분) 사이입니다. 값이 지정되지 않은 경우 기본값 60 (1 분)이 사용됩니다. 이 값과 sasl.login.refresh.buffer.seconds 값은 합계가 인증 정보의 나머지 수명을 초과하면 둘 다 무시됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.window.factor유형: double
기본값: 0.8
유효한 값: [0.5,…,1.0]
중요: 낮음
로그인 새로 고침 스레드는 인증 정보의 수명을 기준으로 지정된 창 요인에 도달할 때까지 유휴 상태가 되어 인증 정보를 새로 고치려고 합니다. 법적 값은 0.5(50%)와 1.0(100%)을 포함합니다. 값이 지정되지 않은 경우 기본값 0.8(80%)가 사용됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.window.jitter유형: double
기본값: 0.05
유효한 값: [0.0,…,0.25]
중요도: 낮음
로그인 새로 고침 스레드의 수면 시간에 추가되는 인증 정보의 수명을 기준으로 임의 지터의 최대 양입니다. 법적 값은 0에서 0.25 (25 %) 사이이며, 값이 지정되지 않은 경우 기본값 0.05 (5%)가 사용됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.retry.backoff.max.ms유형: long
기본값: 10000(10초)
중요도: 낮음
(선택 사항) 외부 인증 공급자에 대한 로그인 시도 사이의 최대 대기 시간(밀리초)입니다. login은 sasl.login.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하고 sasl.login.retry.max.ms 설정에 의해 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘립니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.retry.backoff.ms유형: long
기본값: 100
중요도: 낮음
(선택 사항) 초기 대기 시간(선택 사항) 값(선택 사항)을 외부 인증 공급자로 시도하는 경우 초기 대기 시간(밀리초)입니다. login은 sasl.login.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하고 sasl.login.retry.max.ms 설정에 의해 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘립니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.oauthbearer.clock.skew.seconds유형: int
기본값: 30
Importance: low
OAuth/OIDC ID 공급자와 브로커 간의 차이점을 허용하는 (선택 사항) 값(초)입니다.
sasl.oauthbearer.expected.audiencetype: list
default: null
Importance: low
브로커에서 JWT가 예상 대상 중 하나에 대해 발행되었는지 확인하는 데 사용할 (선택 사항) 쉼표로 구분된 설정입니다. JWT는 표준 OAuth "aud" 클레임을 검사하고 이 값이 설정되면 브로커가 JWT의 "aud" 클레임의 값과 일치하여 정확히 일치하는지 확인합니다. 일치하는 항목이 없으면 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.expected.issuer유형: 문자열
기본값: null
Importance: low
브로커가 JWT가 예상 발행자에 의해 생성되었는지 확인하는 데 사용할 (선택 사항) 설정입니다. JWT는 표준 OAuth "iss" 클레임을 검사하고 이 값이 설정되면 브로커는 JWT의 "iss" 클레임에 있는 것과 정확히 일치합니다. 일치하는 항목이 없으면 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.jwks.endpoint.refresh.ms유형: long
기본값: 3600000(1시간)
중요도: 낮음
브로커가 JWT의 서명을 확인하는 키가 포함된 JWKS(JSON 웹 키 세트) 캐시 새로 고침 사이에 대기하는 (선택 사항) 시간(선택 사항)입니다.
sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms유형: long
기본값: 10000(10초)
중요도: 낮음
(선택 사항) 외부 인증 공급자에서 JWKS(JSON Web Key Set)를 검색하려는 시도 사이의 최대 대기 시간(밀리초)입니다. JWKS 검색에서는 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하며 sasl.oauthbearer.jwks.endpoint.retry.max.ms 설정으로 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘릴 것입니다.
sasl.oauthbearer.jwks.endpoint.retry.backoff.ms유형: long
기본값: 100
중요도: 낮음
JWKS(JSON Web Key Set) 검색 사이의 초기 대기 시간(선택 사항)에서 외부 인증 공급자의 (선택 사항) 값(밀리초)입니다. JWKS 검색에서는 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하며 sasl.oauthbearer.jwks.endpoint.retry.max.ms 설정으로 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘릴 것입니다.
sasl.oauthbearer.scope.claim.name유형: 문자열
기본값: 범위
중요: 낮음
범위에 대한 OAuth 클레임은 종종 "scope"로 지정되지만 이(선택 사항) 설정은 OAuth/OIDC 공급자가 해당 클레임에 다른 이름을 사용하는 경우 JWT 페이로드의 클레임에 포함된 범위에 사용할 다른 이름을 제공할 수 있습니다.
sasl.oauthbearer.sub.claim.name유형: 문자열
기본값: sub
Importance: low
주체에 대한 OAuth 클레임은 종종 "sub"라고 하지만 이(선택 사항) 설정은 OAuth/OIDC 공급자가 해당 클레임에 다른 이름을 사용하는 경우 JWT 페이로드의 클레임에 포함된 주체에 사용할 다른 이름을 제공할 수 있습니다.
security.providers유형: 문자열
기본값: null
Importance: low
구성 가능한 작성자 클래스 목록은 각각 보안 알고리즘을 구현하는 공급자를 반환합니다. 이러한 클래스는
org.apache.kafka.common.security.auth.SecurityProviderCreator인터페이스를 구현해야 합니다.ssl.cipher.suitestype: list
default: null
Importance: low
암호화 제품군 목록입니다. 이는 TLS 또는 SSL 네트워크 프로토콜을 사용하여 네트워크 연결에 대한 보안 설정을 협상하는 데 사용되는 인증, 암호화, MAC 및 키 교환 알고리즘의 이름이 지정된 조합입니다. 기본적으로 사용 가능한 모든 암호화 제품군이 지원됩니다.
ssl.endpoint.identification.algorithm유형: 문자열
기본값: https
Importance: low
서버 인증서를 사용하여 서버 호스트 이름을 확인하는 끝점 식별 알고리즘입니다.
ssl.engine.factory.class유형: class
Default: null
Importance: low
SSLEngine 개체를 제공하는 org.apache.kafka.common.security.auth.SslEngineFactory 유형의 클래스입니다. 기본값은 org.apache.kafka.common.security.ssl.DefaultSslEngineFactory입니다. 또는 이를 org.apache.kafka.common.security.ssl.CommonNameLoggingSslEngineFactory로 설정하면 클라이언트가 로그 수준 INFO를 가진 브로커에서 인증하기 위해 클라이언트가 사용하는 만료된 SSL 인증서의 공통 이름을 기록합니다. 이로 인해 클라이언트가 제공하는 인증서 체인을 검사하기 위한 추가 코드로 인해 mTLS 클라이언트에서 브로커로의 새 연결을 설정하는 동안 약간의 지연이 발생합니다. 구현에서는 표준 Java 신뢰 저장소를 기반으로 사용자 정의 신뢰 저장소를 사용하므로 표준 클라이언트만큼 완성되지 않기 때문에 보안 위험으로 간주될 수 있습니다.
ssl.keymanager.algorithm유형: 문자열
기본값: SunX509
중요: 낮음
SSL 연결에 대해 키 관리자 팩토리에서 사용하는 알고리즘입니다. 기본값은 Java Virtual Machine에 대해 구성된 키 관리자 팩토리 알고리즘입니다.
ssl.secure.random.implementation유형: 문자열
기본값: null
Importance: low
SSL 암호화 작업에 사용할 SecureRandom PRNG 구현
ssl.trustmanager.algorithm유형: 문자열
기본값: PKIX
Importance: low
SSL 연결에 대해 신뢰 관리자 팩토리에서 사용하는 알고리즘입니다. 기본값은 Java 가상 머신에 대해 구성된 신뢰 관리자 팩토리 알고리즘입니다.
4장. 생산자 구성 속성 링크 복사링크가 클립보드에 복사되었습니다!
key.serializer유형: class
Importance: high
org.apache.kafka.common.serialization.Serializer인터페이스를 구현하는 키에 대한 serializer 클래스입니다.value.serializer유형: class
Importance: high
org.apache.kafka.common.serialization.Serializer인터페이스를 구현하는 값에 대한 serializer 클래스입니다.bootstrap.serverstype: list
default: ""
유효한 값: non-null string
Importance: high
Kafka 클러스터에 대한 초기 연결을 설정하는 데 사용할 호스트/포트 쌍 목록입니다. 클라이언트는 부트스트랩을 위해 여기에 지정된 서버를 여기에 관계없이 모든 서버를 사용합니다. 이 목록은 전체 서버 세트를 검색하는 데 사용되는 초기 호스트에만 영향을 미칩니다. 이 목록은
host1:port1,host2:port2,…이어야 합니다. 이러한 서버는 초기 연결에서 전체 클러스터 멤버십을 검색하는 데만 사용되므로(동적으로 변경될 수 있음) 이 목록에는 전체 서버 세트가 포함되지 않아도 됩니다(서버가 다운된 경우 하나 이상 필요).buffer.memory유형: long
기본값: 33554432
유효한 값: [0,…]
중요: high
생산자가 서버로 전송되는 대기 중인 레코드를 버퍼링하는 데 사용할 수 있는 총 메모리 바이트입니다. 레코드를 서버에 전달할 수 있는 속도보다 빠르게 전송되는 경우 생산자는
max.block.ms를 차단한 후 예외가 발생합니다.이 설정은 생산자가 사용할 총 메모리에 해당해야 하지만 생산자가 사용하는 모든 메모리가 버퍼링에 사용되는 것은 아니므로 하드 바운드가 아닙니다. 일부 추가 메모리는 압축(압축이 활성화된 경우) 및 진행 중인 요청을 유지 관리하는 데 사용됩니다.
compression.type유형: 문자열
Default: none
유효한 값: [none, gzip, snappy, lz4, zstd]
Importance: high
생산자가 생성한 모든 데이터의 압축 유형입니다. 기본값은 none입니다(즉, 압축이 없음). 유효한 값은
none,gzip,snappy,lz4또는zstd입니다. 압축은 데이터의 전체 배치이므로 일괄 처리의 효율성도 압축 비율에 영향을 미칩니다(추가로 압축하면 압축 속도가 향상됨).재시도유형: int
기본값: 2147483647
유효한 값: [0,…,2147483647]
Importance: high
값이 0보다 크면 클라이언트가 일시적인 오류와 함께 전송에 실패하는 모든 레코드를 다시 보냅니다. 이 재시도는 클라이언트가 오류를 수신할 때 레코드를 다시 요청하는 경우와 다릅니다. 성공적으로 승인하기 전에
delivery.timeout.ms로 구성된 타임아웃이 먼저 만료되면 재시도 횟수가 소진되기 전에 생성 요청이 실패합니다. 사용자는 일반적으로 이 구성을 설정되지 않은 상태로 두는 것을 선호하고 대신delivery.timeout.ms를 사용하여 재시도 동작을 제어해야 합니다.idempotence를 활성화하려면 이 구성 값이 0보다 커야 합니다. 충돌하는 구성이 설정되고 멱등이 명시적으로 활성화되지 않으면 멱등이 비활성화됩니다.
enable.idempotence를false로 설정하고max.in.flight.requests.per.connection을 1 이상으로 설정하면 두 개의 배치가 단일 파티션으로 전송되고 첫 번째 배치가 실패하여 두 번째 배치의 레코드가 먼저 표시되므로 레코드 순서가 변경될 수 있습니다.ssl.key.password유형: password
기본값: null
Importance: high
키 저장소 파일의 개인 키 또는 'ssl.keystore.key'에 지정된 PEM 키의 암호입니다.
ssl.keystore.certificate.chain유형: password
기본값: null
Importance: high
'ssl.keystore.type'에 지정된 형식의 인증서 체인입니다. 기본 SSL 엔진 팩토리에서는 X.509 인증서 목록이 있는 PEM 형식만 지원합니다.
ssl.keystore.key유형: password
기본값: null
Importance: high
'ssl.keystore.type'에 지정된 형식의 개인 키입니다. 기본 SSL 엔진 팩토리에서는 PKCS#8 키가 있는 PEM 형식만 지원합니다. 키가 암호화된 경우 'ssl.key.password'를 사용하여 키 암호를 지정해야 합니다.
ssl.keystore.location유형: 문자열
기본값: null
Importance: high
키 저장소 파일의 위치입니다. 클라이언트의 경우 선택 사항이며 클라이언트의 양방향 인증에 사용할 수 있습니다.
ssl.keystore.password유형: password
기본값: null
Importance: high
키 저장소 파일의 저장소 암호입니다. 이는 클라이언트에 선택 사항이며 'ssl.keystore.location'이 구성된 경우에만 필요합니다. PEM 형식에는 키 저장소 암호가 지원되지 않습니다.
ssl.truststore.certificates유형: password
기본값: null
Importance: high
'ssl.truststore.type'에서 지정한 형식의 신뢰할 수 있는 인증서입니다. 기본 SSL 엔진 팩토리에서는 X.509 인증서가 있는 PEM 형식만 지원합니다.
ssl.truststore.location유형: 문자열
기본값: null
Importance: high
신뢰 저장소 파일의 위치입니다.
ssl.truststore.password유형: password
기본값: null
Importance: high
신뢰 저장소 파일의 암호입니다. 암호를 설정하지 않으면 구성된 신뢰 저장소 파일이 계속 사용되지만 무결성 검사가 비활성화됩니다. PEM 형식에 대해 신뢰 저장소 암호가 지원되지 않습니다.
batch.size유형: int
기본값: 16384
유효한 값: [0,…]
중요도: 중간
생산자는 여러 레코드가 동일한 파티션으로 전송될 때마다 더 적은 수의 요청에 함께 레코드를 배치하려고 합니다. 이렇게 하면 클라이언트와 서버 모두에서 성능이 향상됩니다. 이 구성은 기본 배치 크기를 바이트 단위로 제어합니다.
이 크기보다 큰 레코드를 배치하려고 시도하지 않습니다.
브로커로 전송된 요청에는 전송할 수 있는 데이터가 있는 각 파티션에 대해 여러 배치가 포함됩니다.
배치 크기가 작으면 일괄 처리가 덜 일반화되고 처리량을 줄일 수 있습니다(배치 크기가 0이면 일괄 처리가 완전히 비활성화됩니다). 매우 큰 배치 크기는 추가 레코드의 예상에 지정된 배치 크기의 버퍼를 항상 할당하므로 메모리를 조금 더 무례하게 사용할 수 있습니다.
참고: 이 설정은 보낼 배치 크기의 상한을 제공합니다. 이 파티션에 대해 누적된 이 바이트보다 적은 경우
linger.ms가 더 많은 레코드가 표시될 때까지 'linger'할 것입니다. 이linger.ms설정의 기본값은 0입니다. 즉, 누적된 배치 크기도 이batch.size설정 아래에 있는 레코드도 즉시 전송됩니다.client.dns.lookuptype : string
default: use_all_dns_ips
유효한 값: [use_all_dns_ips, resolve_canonical_bootstrap_servers_only]
Importance: medium
클라이언트에서 DNS 조회를 사용하는 방법을 제어합니다.
use_all_dns_ips로 설정된 경우 성공적인 연결이 설정될 때까지 반환된 각 IP 주소에 순서대로 연결합니다. 연결 해제 후 다음 IP가 사용됩니다. 모든 IP가 한 번 사용되면 클라이언트는 호스트 이름에서 IP를 다시 확인합니다(JVM 및 OS 캐시 DNS 이름 조회 모두).resolve_canonical_bootstrap_servers_only로 설정된 경우 각 부트스트랩 주소를 정식 이름 목록으로 확인합니다. 부트스트랩 단계 후use_all_dns_ips와 동일하게 작동합니다.client.idtype: string
Default: ""
Importance: medium
요청을 수행할 때 서버에 전달할 id 문자열입니다. 이를 위해 논리적 애플리케이션 이름을 서버 측 요청 로깅에 포함하도록 허용하여 ip/port 이외의 요청 소스를 추적할 수 있습니다.
connections.max.idle.ms유형: long
기본값: 540000 (9 분)
중요도: 중간
이 구성에서 지정한 시간(밀리초) 후에 유휴 연결을 종료합니다.
delivery.timeout.ms유형: int
기본값: 120000 (2 분)
유효한 값: [0,…]
중요도: 중간
send()반환 호출 후 성공 또는 실패를 보고하는 상한입니다. 이렇게 하면 레코드가 전송 전에 지연되는 총 시간, 브로커의 승인을 기다리는 시간(예: 예상한 경우) 및 재시도할 수 있는 전송에 허용되는 시간이 제한됩니다. 생산자는 복구할 수 없는 오류가 발생하거나 재시도가 소진된 경우 이 구성보다 일찍 레코드를 전송하지 못하거나, 이전 전달 만료 기한에 도달한 배치에 레코드가 추가됩니다. 이 구성의 값은request.timeout.ms및linger.ms의 합계보다 크거나 같아야 합니다.linger.ms유형: long
기본값: 0
유효한 값: [0,…]
중요도: 중간
생산자는 단일 일괄 처리 요청으로 요청 전송 사이에 도달하는 모든 레코드를 그룹화합니다. 일반적으로 이 작업은 레코드가 전송될 수 있는 것보다 더 빨리 도달하는 경우에만 발생합니다. 그러나 경우에 따라 클라이언트는 중간 로드 상태에서도 요청 수를 줄여야 할 수 있습니다. 이 설정은 레코드를 즉시 전송하지 않고 적은 양의 인공 지연을 추가하여 이를 수행합니다. 생산자는 전송이 함께 배치될 수 있도록 다른 레코드가 전송될 수 있도록 지정된 지연까지 기다립니다. 이는 TCP에서 나글 알고리즘과 유사한 것으로 간주될 수 있습니다. 이 설정은 일괄 처리 지연에 대한 상한을 부여합니다. 파티션에 대한
batch.size의 가치가 있는 레코드가 즉시 전송되지만, 이 파티션에 대해 누적된 이 많은 바이트보다 적은 경우 이 파티션에 대해 누적된 바이트보다 적으면 지정된 시간이 더 많은 레코드가 표시될 때까지 'linger'합니다. 이 설정의 기본값은 0입니다(예: 지연 없음). 예를 들어linger.ms=5를 설정하면 전송된 요청 수를 줄이는 효과가 있지만 로드가 없는 상태에서 전송된 레코드에 최대 5ms의 대기 시간이 추가됩니다.max.block.ms유형: long
기본값: 60000(1분)
유효한 값: [0,…]
중요: 중간
이 설정은
KafkaProducer의 'send() ,,partitionsFor()initTransactions(),sendOffsetsToTransaction(),commitTransaction()및abortTransaction()메서드가 차단하는 시간을 제어합니다.send()의 경우 이 시간 초과는 메타데이터 가져오기 및 버퍼 할당(사용자 제공 직렬화 또는 파티션의 차단은 이 시간 초과에 대해 계산되지 않음) 둘 다 대기하는 총 시간을 바인딩합니다.partitionsFor()의 경우 이 시간 초과는 사용할 수 없는 경우 메타데이터를 기다리는 데 걸리는 시간을 바인딩합니다. 트랜잭션 관련 메서드는 항상 차단되지만 트랜잭션 코디네이터를 검색할 수 없거나 시간 초과 내에 응답하지 않으면 시간 초과가 시간 초과될 수 있습니다.max.request.size유형: int
기본값: 1048576
유효한 값: [0,…]
중요도: 중간
요청의 최대 크기(바이트)입니다. 이 설정은 대규모 요청을 보내지 않도록 생산자가 단일 요청으로 보낼 레코드 배치 수를 제한합니다. 이는 효과적으로 압축되지 않은 최대 레코드 배치 크기에 대한 제한이기도 합니다. 서버에는 레코드 배치 크기에 대한 자체 제한(압축이 활성화된 경우 압축 후)이 있습니다.
partitioner.class유형: class
Default: null
Importance: medium
레코드가 생성되는 시기에 레코드를 전송할 파티션을 결정합니다. 사용 가능한 옵션은 다음과 같습니다.
설정되지 않은 경우 기본 파티션 논리가 사용됩니다. 이 전략에서는 최소한 batch.size 바이트가 파티션에 생성될 때까지 레코드를 파티션에 보냅니다. 이 전략은 다음과 같이 작동합니다.
1) If no partition is specified but a key is present, choose a partition based on a hash of the key.
1) If no partition is specified but a key is present, choose a partition based on a hash of the key.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 2) If no partition or key is present, choose the sticky partition that changes when at least batch.size bytes are produced to the partition. * `org.apache.kafka.clients.producer.RoundRobinPartitioner`: A partitioning strategy where each record in a series of consecutive records is sent to a different partition, regardless of whether the 'key' is provided or not, until partitions run out and the process starts over again. Note: There's a known issue that will cause uneven distribution when a new batch is created. See KAFKA-9965 for more detail.
2) If no partition or key is present, choose the sticky partition that changes when at least batch.size bytes are produced to the partition. * `org.apache.kafka.clients.producer.RoundRobinPartitioner`: A partitioning strategy where each record in a series of consecutive records is sent to a different partition, regardless of whether the 'key' is provided or not, until partitions run out and the process starts over again. Note: There's a known issue that will cause uneven distribution when a new batch is created. See KAFKA-9965 for more detail.Copy to Clipboard Copied! Toggle word wrap Toggle overflow org.apache.kafka.clients.producer.Cryostater 인터페이스를 구현하면 사용자 지정 partitioner를 연결할 수 있습니다.
partitioner.ignore.keys유형: 부울
기본값: false
Importance: medium
'true'로 설정하면 생산자가 레코드 키를 사용하여 파티션을 선택하지 않습니다. 'false'인 경우 생산자는 키가 있을 때 키의 해시를 기반으로 파티션을 선택합니다. 참고: 이 설정은 사용자 지정 파티션러가 사용되는 경우 적용되지 않습니다.
receive.buffer.bytes유형: int
기본값: 32768(32 키비바이트)
유효한 값: [-1,…]
Importance: medium
데이터를 읽을 때 사용할 TCP 수신 버퍼(SO_RCVBUF)의 크기입니다. 값이 -1이면 OS 기본값이 사용됩니다.
request.timeout.ms유형: int
기본값: 30000(30초)
유효한 값: [0,…]
Importance: medium
구성은 클라이언트가 요청 응답을 기다리는 최대 시간을 제어합니다. 시간 초과가 경과하기 전에 응답을 수신하지 않으면 필요한 경우 클라이언트가 요청을 다시 전송하거나 재시도가 소진되면 요청을 다시 보냅니다. 불필요한 생산자 재시도로 인해 메시지 중복 가능성을 줄이기 위해
replica.lag.time.max.ms(중간 구성)보다 커야 합니다.sasl.client.callback.handler.class유형: class
Default: null
Importance: medium
AuthenticateCallbackHandler 인터페이스를 구현하는 SASL 클라이언트 콜백 처리기 클래스의 정규화된 이름입니다.
sasl.jaas.config유형: password
기본값: null
Importance: medium
JAAS 구성 파일에서 사용하는 형식의 SASL 연결에 대한 JAAS 로그인 컨텍스트 매개변수입니다. JAAS 구성 파일 형식은 여기에 설명되어 있습니다. 값 형식은
loginModuleClass controlFlag (optionName=optionValue)*;입니다. 브로커의 경우 구성 앞에 리스너 접두사 및 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule이 필요합니다.sasl.kerberos.service.name유형: 문자열
기본값: null
Importance: medium
Kafka가 실행되는 Kerberos 주체 이름입니다. Kafka의 JAAS config 또는 Kafka의 config에서 정의할 수 있습니다.
sasl.login.callback.handler.class유형: class
Default: null
Importance: medium
AuthenticateCallbackHandler 인터페이스를 구현하는 SASL 로그인 콜백 처리기 클래스의 정규화된 이름입니다. 브로커의 경우 로그인 콜백 처리기 구성 앞에 리스너 접두사 및 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler입니다.
sasl.login.class유형: class
Default: null
Importance: medium
로그인 인터페이스를 구현하는 클래스의 정규화된 이름입니다. 브로커의 경우 로그인 구성 앞에는 리스너 접두사와 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin입니다.
sasl.mechanism유형: 문자열
기본값: GSSAPI
Importance: medium
클라이언트 연결에 사용되는 SASL 메커니즘입니다. 이는 보안 공급자를 사용할 수 있는 메커니즘일 수 있습니다. GSSAPI는 기본 메커니즘입니다.
sasl.oauthbearer.jwks.endpoint.url유형: 문자열
기본값: null
Importance: medium
공급자의 JWKS(JSON 웹 키 세트) 를 검색할 수 있는 OAuth/OIDC 공급자 URL입니다. URL은 HTTP(S) 기반 또는 파일 기반일 수 있습니다. URL이 HTTP(S) 기반인 경우 브로커 시작 시 구성된 URL을 통해 OAuth/OIDC 제공업체에서 JWKS 데이터가 검색됩니다. 이후의 모든 최신 키는 들어오는 요청을 위해 브로커에 캐시됩니다. 캐시에 아직 없는 "kid" 헤더 클레임 값을 포함하는 JWT에 대한 인증 요청이 수신되면 필요에 따라 JWKS 엔드포인트가 다시 쿼리됩니다. 그러나 브로커는 모든 sasl.oauthbearer.jwks.endpoint.refresh.ms 밀리초를 폴링하여 해당 URL을 포함하는 JWT 요청이 수신되기 전에 향후 키로 캐시를 새로 고칩니다. URL이 파일 기반이면 브로커는 시작 시 구성된 위치에서 JWKS 파일을 로드합니다. JWT에 JWKS 파일에 없는 "kid" 헤더 값이 포함된 경우 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.token.endpoint.url유형: 문자열
기본값: null
Importance: medium
OAuth/OIDC ID 공급자의 URL입니다. URL이 HTTP(S) 기반인 경우 sasl.jaas.config의 구성에 따라 로그인할 요청의 발행자 토큰 끝점 URL입니다. URL이 파일 기반인 경우 권한 부여에 사용할 OAuth/OIDC ID 공급자가 발행한 액세스 토큰( JWT로 직렬화된 양식)이 포함된 파일을 지정합니다.
security.protocol유형: 문자열
기본값: PLAINTEXT
유효한 값: (대소문자 구분) [SASL_SSL, PLAINTEXT, SSL, SASL_PLAINTEXT]
Importance: medium
브로커와 통신하는 데 사용되는 프로토콜입니다. 유효한 값은 PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL입니다.
send.buffer.bytes유형: int
기본값: 131072(128 kibibytes)
유효한 값: [-1,…]
Importance: medium
데이터를 전송할 때 사용할 TCP 전송 버퍼(SO_SNDBUF)의 크기입니다. 값이 -1이면 OS 기본값이 사용됩니다.
socket.connection.setup.timeout.max.ms유형: long
기본값: 30000 (30 초)
중요도: 중간
클라이언트가 소켓 연결이 설정될 때까지 대기하는 최대 시간입니다. 연결 설정 시간 초과는 연속 연결 오류마다 이 최대값까지 기하급수적으로 증가합니다. 연결 불란을 방지하기 위해 0.2의 무작위화 요소가 시간 초과에 적용되어 계산된 값보다 20% 이하에서 20% 사이의 임의 범위가 됩니다.
socket.connection.setup.timeout.ms유형: long
기본값: 10000(10초)
중요도: 중간
클라이언트가 소켓 연결이 설정될 때까지 대기하는 시간입니다. 시간 초과가 경과하기 전에 연결이 빌드되지 않으면 클라이언트가 소켓 채널을 종료합니다. 이 값은 초기 백오프 값이며
socket.connection.setup.timeout.max.ms값까지 연속된 각 연결 오류에 대해 기하급수적으로 증가합니다.ssl.enabled.protocolstype: list: list
default: TLSv1.2,TLSv1.3
Importance: medium
SSL 연결에 활성화된 프로토콜 목록입니다. Java 11 이상에서 실행하는 경우 기본값은 'TLSv1.2,TLSv1.3'이며, 그렇지 않으면 'TLSv1.2'입니다. Java 11의 기본값을 사용하면 클라이언트와 서버는 TLSv1.2를 지원하고 그 대신 TLSv1.2를 모두 지원하는 경우 TLSv1.3을 선호합니다(적어도 TLSv1.2 이상 지원). 대부분의 경우 이 기본값은 정상이어야 합니다.
ssl.protocol의 구성 문서를 참조하십시오.ssl.keystore.type유형: 문자열
기본값: JKS
중요도: 중간
키 저장소 파일의 파일 형식입니다. 클라이언트에는 선택 사항입니다. 현재 기본
ssl.engine.factory.class에서 지원하는 값은 [JKS, PKCS12, PEM]입니다.ssl.protocol유형: 문자열
기본값: TLSv1.3
중요도: 중간
SSLContext를 생성하는 데 사용되는 SSL 프로토콜입니다. Java 11 이상에서 실행하는 경우 기본값은 'TLSv1.3'이며, 그렇지 않으면 'TLSv1.2'입니다. 이 값은 대부분의 사용 사례에 적합해야 합니다. 최근 JVM에서 허용되는 값은 'TLSv1.2' 및 'TLSv1.3'입니다. 'TLS', 'TLSv1.1', 'SSL', 'SSLv2' 및 'SSLv3'은 이전 JVM에서 지원되지 않을 수 있지만 알려진 보안 취약점으로 인해 사용이 권장되지 않습니다. 이 구성 및 'ssl.enabled.protocols'의 기본값을 사용하면 서버가 'TLSv1.3'을 지원하지 않는 경우 클라이언트가 'TLSv1.2'로 다운그레이드됩니다. 이 구성이 'TLSv1.2'로 설정된 경우 클라이언트는 ssl.enabled.protocols의 값 중 하나이고 서버가 'TLSv1.3'만 지원하는 경우에도 'TLSv1.3'을 사용하지 않습니다.
ssl.provider유형: 문자열
기본값: null
Importance: medium
SSL 연결에 사용되는 보안 공급자의 이름입니다. 기본값은 JVM의 기본 보안 공급자입니다.
ssl.truststore.type유형: 문자열
기본값: JKS
중요도: 중간
신뢰 저장소 파일의 파일 형식입니다. 현재 기본
ssl.engine.factory.class에서 지원하는 값은 [JKS, PKCS12, PEM]입니다.ACKS유형: 문자열
기본값: all
유효한 값: [all, -1, 0, 1]
중요: 낮음
생산자가 요청 완료를 검토하기 전에 리더에게 받아야 한다는 확인의 수입니다. 이는 전송되는 레코드의 지속성을 제어합니다. 다음 설정이 허용됩니다.
-
ACKS=00으로 설정하면 생산자가 서버의 승인을 전혀 기다리지 않습니다. 레코드는 소켓 버퍼에 즉시 추가되고 전송된 것으로 간주됩니다. 이 경우 서버가 레코드를 수신했음을 보장할 수 없으며재시도구성이 적용되지 않습니다(클라이언트는 일반적으로 오류를 알 수 없음). 각 레코드에 대해 다시 주어진 오프셋은 항상-1로 설정됩니다. -
ACKS=1이것은 리더가 로컬 로그에 기록을 작성하지만 모든 뮤지터의 완전한 승인을 기다리지 않고 응답한다는 것을 의미합니다. 이 경우 기록을 승인한 직후 리더는 실패해야 하지만, 팔로워가 복제되기 전에 기록이 손실됩니다. ACKS=all: 이는 리더가 in-sync 복제본의 전체 세트가 레코드를 승인할 때까지 대기한다는 것을 의미합니다. 이렇게 하면 하나 이상의 in-sync 복제본이 활성 상태로 유지되는 한 레코드가 손실되지 않습니다. 이는 가능한 가장 강력한 보증입니다. 이는 acks=-1 설정과 동일합니다.idempotence를 활성화하려면 이 config 값이 'all'이어야 합니다. 충돌하는 구성이 설정되고 멱등이 명시적으로 활성화되지 않으면 멱등이 비활성화됩니다.
-
auto.include.jmx.reporter유형: 부울
기본값: true
Importance: low
더 이상 사용되지 않습니다.
metric.reporters에 나열되지 않은 경우에도 JmxReporter를 자동으로 포함할지 여부입니다. 이 구성은 Kafka 4.0에서 제거되며 대신 JmxReporter를 활성화하려면metric.reporters에org.apache.kafka.common.metrics.JmxReporter를 포함해야 합니다.enable.idempotence유형: 부울
기본값: true
Importance: low
'true'로 설정하면 생산자가 각 메시지의 복사본이 스트림에 기록되도록 합니다. 'false'인 경우 브로커 실패 등으로 인한 생산자 재시도는 스트림에서 재시도한 메시지의 중복을 작성할 수 있습니다. idempotence를 활성화하려면
max.in.flight.requests.per.connection이 5보다 작거나 같아야 합니다(허용 가능한 값에 대해 메시지 순서가 유지됨),재시도 횟수는 0보다 크고acks는 'all'이어야 합니다.충돌하는 구성이 설정되지 않은 경우 멱등이 기본적으로 활성화됩니다. 충돌하는 구성이 설정되고 멱등이 명시적으로 활성화되지 않으면 멱등이 비활성화됩니다. idempotence가 명시적으로 활성화되고 충돌하는 구성이 설정되면
ConfigException이 발생합니다.enable.metrics.push유형: 부울
기본값: true
Importance: low
클라이언트 메트릭을 클러스터로 내보낼지 여부(클러스터에 이 클라이언트와 일치하는 클라이언트 지표 서브스크립션이 있는 경우).
interceptor.classestype: list
default: ""
유효한 값: non-null string
Importance: low
인터셉터로 사용할 클래스 목록입니다.
org.apache.kafka.clients.producer.ProducerInterceptor인터페이스를 구현하면 Kafka 클러스터에 게시되기 전에 생산자가 수신한 레코드를 인터셉트(및 변경 가능)할 수 있습니다. 기본적으로 인터셉터가 없습니다.max.in.flight.requests.per.connection유형: int
기본값: 5
유효한 값: [1,…]
Importance: low
클라이언트가 차단하기 전에 단일 연결로 전송할 수 없는 최대 요청 수입니다. 이 구성이 1보다 크고
enable.idempotence가 false로 설정된 경우 재시도로 인해 실패한 전송 후 메시지 재주문할 위험이 있습니다(즉, 재시도가 활성화된 경우). 재시도가 비활성화되거나enable.idempotence가 true로 설정된 경우 순서가 유지됩니다. 또한 멱등을 활성화하려면 이 구성의 값이 5보다 작거나 같아야 합니다. 충돌하는 구성이 설정되고 멱등이 명시적으로 활성화되지 않으면 멱등이 비활성화됩니다.metadata.max.age.ms유형: long
기본값: 300000 (5분)
유효한 값: [0,…]
중요: 낮음
파티션 리더십 변경 사항을 보지 못하더라도 새 브로커 또는 파티션을 사전에 검색하지 못한 경우에도 메타데이터를 강제로 새로 고침한 후 밀리초 단위입니다.
metadata.max.idle.ms유형: long
기본값: 300000 (5 분)
유효한 값: [5000,…]
중요도: 낮음
생산자가 유휴 상태인 항목의 메타데이터를 캐시하는 기간을 제어합니다. 메타데이터 유휴 기간을 초과하기 위해 주제를 마지막으로 생성한 후 경과된 시간이 지나면 주제의 메타데이터가 손상되고 이에 대한 다음 액세스는 메타데이터 가져오기 요청을 강제 적용합니다.
metric.reporterstype: list
default: ""
유효한 값: non-null string
Importance: low
메트릭 보고자로 사용할 클래스 목록입니다.
org.apache.kafka.common.metrics.MetricsReporter인터페이스를 구현하면 새 메트릭 생성을 알리는 클래스를 연결할 수 있습니다. JmxReporter는 항상 statistics를 등록하기 위해 포함되어 있습니다.metrics.num.samples유형: int
기본값: 2
유효한 값: [1,…]
중요도: 낮음
컴퓨팅 메트릭에 유지 관리되는 샘플 수입니다.
metrics.recording.level유형: 문자열
기본값: INFO
유효한 값: [INFO, DEBUG, TRACE]
Importance: low
메트릭의 가장 높은 레코딩 수준입니다.
metrics.sample.window.ms유형: long
기본값: 30000(30초)
유효한 값: [0,…]
중요도: 낮음
메트릭 샘플이 계산되는 시간입니다.
partitioner.adaptive.partitioning.enable유형: 부울
기본값: true
Importance: low
'true'로 설정하면 생산자가 브로커 성능에 맞게 조정하고 더 빠른 브로커에서 호스팅되는 파티션에 더 많은 메시지를 생성합니다. 'false'인 경우 생산자는 메시지를 균일하게 배포하려고 합니다. 참고: 이 설정은 사용자 지정 파티션러가 사용되는 경우 적용되지 않습니다.
partitioner.availability.timeout.ms유형: long
기본값: 0
유효한 값: [0,…]
중요도: 낮음
브로커가
partitioner.availability.timeout.ms시간에 대해 파티션에서 요청을 생성할 수 없는 경우 파티션은 해당 파티션을 사용할 수 없는 것으로 처리합니다. 값이 0이면 이 논리가 비활성화됩니다. 참고: 이 설정은 사용자 지정 파티션기를 사용하거나partitioner.adaptive.partitioning.enable이 'false'로 설정된 경우 적용되지 않습니다.reconnect.backoff.max.ms유형: long
기본값: 1000 (1 second)
유효한 값: [0,…]
중요도: 낮음
반복적으로 연결하지 못한 브로커에 다시 연결할 때 대기하는 최대 시간(밀리초)입니다. 제공된 경우 호스트당 백오프는 연속되는 각 연결 오류에 대해 이 최대값까지 기하급수적으로 증가합니다. 백오프 증가를 계산한 후 연결 측정을 방지하기 위해 20%의 임의 지터가 추가됩니다.
reconnect.backoff.ms유형: long
기본값: 50
유효한 값: [0,…]
중요도: 낮음
지정된 호스트에 다시 연결하기 전에 대기하는 기본 시간입니다. 이렇게 하면 하드 루프로 호스트에 반복적으로 연결하는 것을 방지할 수 있습니다. 이 백오프는 클라이언트가 브로커에 대한 모든 연결 시도에 적용됩니다. 이 값은 초기 backoff 값이며,
reconnect.backoff.max.ms값까지 연속된 각 연결 오류에 대해 기하급수적으로 증가합니다.retry.backoff.max.ms유형: long
기본값: 1000 (1 second)
유효한 값: [0,…]
중요도: 낮음
반복적으로 실패한 브로커에 대한 요청을 재시도할 때 대기하는 최대 시간(밀리초)입니다. 제공된 경우 클라이언트당 백오프는 실패한 각 요청에 대해 이 최대값까지 기하급수적으로 증가합니다. 재시도 시 모든 클라이언트가 동기화되지 않도록 0.2의 비율을 가진 임의의 지터가 백오프에 적용되므로 계산된 값보다 20% 이하에서 20% 사이의 백오프가 백오프됩니다.
retry.backoff.ms가retry.backoff.max.ms보다 높게 설정된 경우retry.backoff.max.ms는 기하급수적으로 증가하지 않고 처음부터 일정한 백오프로 사용됩니다.retry.backoff.ms유형: long
기본값: 100
유효한 값: [0,…]
중요도: 낮음
지정된 주제 파티션에 대한 실패한 요청을 재시도하기 전에 대기하는 시간입니다. 이렇게 하면 일부 실패 시나리오에서 엄격한 루프로 요청을 반복적으로 보내는 것을 방지할 수 있습니다. 이 값은 초기 backoff 값이며,
retry.backoff.max.ms값까지 실패한 각 요청에 대해 기하급수적으로 증가합니다.sasl.kerberos.kinit.cmd유형: 문자열
기본값: /usr/bin/kinit
Importance: low
Kerberos kinit 명령 경로입니다.
sasl.kerberos.min.time.before.relogin유형: long
기본값: 60000
중요도: 낮음
새로 고침 시도 사이의 로그인 스레드 수면 시간입니다.
sasl.kerberos.ticket.renew.jitter유형: 두 번
기본값: 0.05
중요도: 낮음
갱신 시간에 임의 지터의 백분율이 추가되었습니다.
sasl.kerberos.ticket.renew.window.factor유형: double
기본값: 0.8
중요도: 낮음
로그인 스레드는 지정된 시간 요소가 마지막으로 새로 고침에서 티켓 만료로 도달할 때까지 유휴 상태가 되고 이 기간 동안 티켓을 갱신하려고 합니다.
sasl.login.connect.timeout.ms유형: int
default: null
Importance: low
외부 인증 공급자 연결 시간 초과의 (선택 사항) 값(선택 사항)입니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.read.timeout.ms유형: int
default: null
Importance: low
외부 인증 공급자의 (선택 사항) 값(선택 사항)은 시간 초과입니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.buffer.seconds유형: short
기본값: 300
유효한 값: [0,…,3600]
중요도: 낮음
인증 정보를 새로 고칠 때 유지 관리하는 인증 정보 만료 전의 버퍼 시간(초)입니다. 새로 고침이 버퍼 초 수보다 만료되는 경우 새로 고침은 가능한 한 많은 버퍼 시간을 유지하기 위해 이동합니다. 법적 값은 0에서 3600(1시간) 사이입니다. 값이 지정되지 않은 경우 기본값 300(5분)이 사용됩니다. 이 값과 sasl.login.refresh.min.period.seconds 값은 합계가 인증 정보의 나머지 수명을 초과하면 둘 다 무시됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.min.period.seconds유형: short
기본값: 60
유효한 값: [0,…,900]
중요도: 낮음
로그인 새로 고침 스레드가 인증 정보를 새로 고치기 전에 대기하는 최소 시간(초)입니다. 법적 값은 0에서 900 (15 분) 사이입니다. 값이 지정되지 않은 경우 기본값 60 (1 분)이 사용됩니다. 이 값과 sasl.login.refresh.buffer.seconds 값은 합계가 인증 정보의 나머지 수명을 초과하면 둘 다 무시됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.window.factor유형: double
기본값: 0.8
유효한 값: [0.5,…,1.0]
중요: 낮음
로그인 새로 고침 스레드는 인증 정보의 수명을 기준으로 지정된 창 요인에 도달할 때까지 유휴 상태가 되어 인증 정보를 새로 고치려고 합니다. 법적 값은 0.5(50%)와 1.0(100%)을 포함합니다. 값이 지정되지 않은 경우 기본값 0.8(80%)가 사용됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.window.jitter유형: double
기본값: 0.05
유효한 값: [0.0,…,0.25]
중요도: 낮음
로그인 새로 고침 스레드의 수면 시간에 추가되는 인증 정보의 수명을 기준으로 임의 지터의 최대 양입니다. 법적 값은 0에서 0.25 (25 %) 사이이며, 값이 지정되지 않은 경우 기본값 0.05 (5%)가 사용됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.retry.backoff.max.ms유형: long
기본값: 10000(10초)
중요도: 낮음
(선택 사항) 외부 인증 공급자에 대한 로그인 시도 사이의 최대 대기 시간(밀리초)입니다. login은 sasl.login.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하고 sasl.login.retry.max.ms 설정에 의해 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘립니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.retry.backoff.ms유형: long
기본값: 100
중요도: 낮음
(선택 사항) 초기 대기 시간(선택 사항) 값(선택 사항)을 외부 인증 공급자로 시도하는 경우 초기 대기 시간(밀리초)입니다. login은 sasl.login.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하고 sasl.login.retry.max.ms 설정에 의해 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘립니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.oauthbearer.clock.skew.seconds유형: int
기본값: 30
Importance: low
OAuth/OIDC ID 공급자와 브로커 간의 차이점을 허용하는 (선택 사항) 값(초)입니다.
sasl.oauthbearer.expected.audiencetype: list
default: null
Importance: low
브로커에서 JWT가 예상 대상 중 하나에 대해 발행되었는지 확인하는 데 사용할 (선택 사항) 쉼표로 구분된 설정입니다. JWT는 표준 OAuth "aud" 클레임을 검사하고 이 값이 설정되면 브로커가 JWT의 "aud" 클레임의 값과 일치하여 정확히 일치하는지 확인합니다. 일치하는 항목이 없으면 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.expected.issuer유형: 문자열
기본값: null
Importance: low
브로커가 JWT가 예상 발행자에 의해 생성되었는지 확인하는 데 사용할 (선택 사항) 설정입니다. JWT는 표준 OAuth "iss" 클레임을 검사하고 이 값이 설정되면 브로커는 JWT의 "iss" 클레임에 있는 것과 정확히 일치합니다. 일치하는 항목이 없으면 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.jwks.endpoint.refresh.ms유형: long
기본값: 3600000(1시간)
중요도: 낮음
브로커가 JWT의 서명을 확인하는 키가 포함된 JWKS(JSON 웹 키 세트) 캐시 새로 고침 사이에 대기하는 (선택 사항) 시간(선택 사항)입니다.
sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms유형: long
기본값: 10000(10초)
중요도: 낮음
(선택 사항) 외부 인증 공급자에서 JWKS(JSON Web Key Set)를 검색하려는 시도 사이의 최대 대기 시간(밀리초)입니다. JWKS 검색에서는 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하며 sasl.oauthbearer.jwks.endpoint.retry.max.ms 설정으로 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘릴 것입니다.
sasl.oauthbearer.jwks.endpoint.retry.backoff.ms유형: long
기본값: 100
중요도: 낮음
JWKS(JSON Web Key Set) 검색 사이의 초기 대기 시간(선택 사항)에서 외부 인증 공급자의 (선택 사항) 값(밀리초)입니다. JWKS 검색에서는 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하며 sasl.oauthbearer.jwks.endpoint.retry.max.ms 설정으로 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘릴 것입니다.
sasl.oauthbearer.scope.claim.name유형: 문자열
기본값: 범위
중요: 낮음
범위에 대한 OAuth 클레임은 종종 "scope"로 지정되지만 이(선택 사항) 설정은 OAuth/OIDC 공급자가 해당 클레임에 다른 이름을 사용하는 경우 JWT 페이로드의 클레임에 포함된 범위에 사용할 다른 이름을 제공할 수 있습니다.
sasl.oauthbearer.sub.claim.name유형: 문자열
기본값: sub
Importance: low
주체에 대한 OAuth 클레임은 종종 "sub"라고 하지만 이(선택 사항) 설정은 OAuth/OIDC 공급자가 해당 클레임에 다른 이름을 사용하는 경우 JWT 페이로드의 클레임에 포함된 주체에 사용할 다른 이름을 제공할 수 있습니다.
security.providers유형: 문자열
기본값: null
Importance: low
구성 가능한 작성자 클래스 목록은 각각 보안 알고리즘을 구현하는 공급자를 반환합니다. 이러한 클래스는
org.apache.kafka.common.security.auth.SecurityProviderCreator인터페이스를 구현해야 합니다.ssl.cipher.suitestype: list
default: null
Importance: low
암호화 제품군 목록입니다. 이는 TLS 또는 SSL 네트워크 프로토콜을 사용하여 네트워크 연결에 대한 보안 설정을 협상하는 데 사용되는 인증, 암호화, MAC 및 키 교환 알고리즘의 이름이 지정된 조합입니다. 기본적으로 사용 가능한 모든 암호화 제품군이 지원됩니다.
ssl.endpoint.identification.algorithm유형: 문자열
기본값: https
Importance: low
서버 인증서를 사용하여 서버 호스트 이름을 확인하는 끝점 식별 알고리즘입니다.
ssl.engine.factory.class유형: class
Default: null
Importance: low
SSLEngine 개체를 제공하는 org.apache.kafka.common.security.auth.SslEngineFactory 유형의 클래스입니다. 기본값은 org.apache.kafka.common.security.ssl.DefaultSslEngineFactory입니다. 또는 이를 org.apache.kafka.common.security.ssl.CommonNameLoggingSslEngineFactory로 설정하면 클라이언트가 로그 수준 INFO를 가진 브로커에서 인증하기 위해 클라이언트가 사용하는 만료된 SSL 인증서의 공통 이름을 기록합니다. 이로 인해 클라이언트가 제공하는 인증서 체인을 검사하기 위한 추가 코드로 인해 mTLS 클라이언트에서 브로커로의 새 연결을 설정하는 동안 약간의 지연이 발생합니다. 구현에서는 표준 Java 신뢰 저장소를 기반으로 사용자 정의 신뢰 저장소를 사용하므로 표준 클라이언트만큼 완성되지 않기 때문에 보안 위험으로 간주될 수 있습니다.
ssl.keymanager.algorithm유형: 문자열
기본값: SunX509
중요: 낮음
SSL 연결에 대해 키 관리자 팩토리에서 사용하는 알고리즘입니다. 기본값은 Java Virtual Machine에 대해 구성된 키 관리자 팩토리 알고리즘입니다.
ssl.secure.random.implementation유형: 문자열
기본값: null
Importance: low
SSL 암호화 작업에 사용할 SecureRandom PRNG 구현
ssl.trustmanager.algorithm유형: 문자열
기본값: PKIX
Importance: low
SSL 연결에 대해 신뢰 관리자 팩토리에서 사용하는 알고리즘입니다. 기본값은 Java 가상 머신에 대해 구성된 신뢰 관리자 팩토리 알고리즘입니다.
transaction.timeout.ms유형: int
기본값: 60000 (1분)
중요도: 낮음
코디네이터가 사전에 중단되기 전에 트랜잭션이 열린 상태로 유지되는 최대 시간(밀리초)입니다. 첫 번째 파티션이 추가될 때 트랜잭션 시작이 설정됩니다. 이 값이 브로커의
transaction.max.timeout.ms설정보다 크면 요청이InvalidTxnTimeoutException오류와 함께 실패합니다.transactional.idtype: string
default: null
Valid Values: non-empty string
Importance: low
트랜잭션 전달에 사용할 TransactionalId입니다. 이를 통해 클라이언트가 새 트랜잭션을 시작하기 전에 동일한 TransactionalId를 사용하는 트랜잭션이 완료되었음을 보장할 수 있으므로 여러 프로듀서 세션에 걸쳐 있는 안정성 의미 체계가 활성화됩니다. TransactionalId를 제공하지 않으면 생산자는 멱등 제공으로 제한됩니다. TransactionalId가 구성된 경우
enable.idempotence가 우선합니다. 기본적으로 TransactionId는 구성되지 않으므로 트랜잭션을 사용할 수 없습니다. 기본적으로 트랜잭션에는 권장되는 프로덕션 설정인 3개 이상의 브로커 클러스터가 필요합니다. 개발의 경우 broker 설정transaction.state.log.replication.factor를 조정하여 이 설정을 변경할 수 있습니다.
5장. 관리자 클라이언트 구성 속성 링크 복사링크가 클립보드에 복사되었습니다!
bootstrap.controllerstype: list
default: ""
Importance: high
KRaft 컨트롤러 쿼럼에 대한 초기 연결을 설정하는 데 사용할 호스트/포트 쌍 목록입니다. 이 목록은
host1:port1,host2:port2,…이어야 합니다.bootstrap.serverstype: list
default: ""
Importance: high
Kafka 클러스터에 대한 초기 연결을 설정하는 데 사용할 호스트/포트 쌍 목록입니다. 클라이언트는 부트스트랩을 위해 여기에 지정된 서버를 여기에 관계없이 모든 서버를 사용합니다. 이 목록은 전체 서버 세트를 검색하는 데 사용되는 초기 호스트에만 영향을 미칩니다. 이 목록은
host1:port1,host2:port2,…이어야 합니다. 이러한 서버는 초기 연결에서 전체 클러스터 멤버십을 검색하는 데만 사용되므로(동적으로 변경될 수 있음) 이 목록에는 전체 서버 세트가 포함되지 않아도 됩니다(서버가 다운된 경우 하나 이상 필요).ssl.key.password유형: password
기본값: null
Importance: high
키 저장소 파일의 개인 키 또는 'ssl.keystore.key'에 지정된 PEM 키의 암호입니다.
ssl.keystore.certificate.chain유형: password
기본값: null
Importance: high
'ssl.keystore.type'에 지정된 형식의 인증서 체인입니다. 기본 SSL 엔진 팩토리에서는 X.509 인증서 목록이 있는 PEM 형식만 지원합니다.
ssl.keystore.key유형: password
기본값: null
Importance: high
'ssl.keystore.type'에 지정된 형식의 개인 키입니다. 기본 SSL 엔진 팩토리에서는 PKCS#8 키가 있는 PEM 형식만 지원합니다. 키가 암호화된 경우 'ssl.key.password'를 사용하여 키 암호를 지정해야 합니다.
ssl.keystore.location유형: 문자열
기본값: null
Importance: high
키 저장소 파일의 위치입니다. 클라이언트의 경우 선택 사항이며 클라이언트의 양방향 인증에 사용할 수 있습니다.
ssl.keystore.password유형: password
기본값: null
Importance: high
키 저장소 파일의 저장소 암호입니다. 이는 클라이언트에 선택 사항이며 'ssl.keystore.location'이 구성된 경우에만 필요합니다. PEM 형식에는 키 저장소 암호가 지원되지 않습니다.
ssl.truststore.certificates유형: password
기본값: null
Importance: high
'ssl.truststore.type'에서 지정한 형식의 신뢰할 수 있는 인증서입니다. 기본 SSL 엔진 팩토리에서는 X.509 인증서가 있는 PEM 형식만 지원합니다.
ssl.truststore.location유형: 문자열
기본값: null
Importance: high
신뢰 저장소 파일의 위치입니다.
ssl.truststore.password유형: password
기본값: null
Importance: high
신뢰 저장소 파일의 암호입니다. 암호를 설정하지 않으면 구성된 신뢰 저장소 파일이 계속 사용되지만 무결성 검사가 비활성화됩니다. PEM 형식에 대해 신뢰 저장소 암호가 지원되지 않습니다.
client.dns.lookuptype : string
default: use_all_dns_ips
유효한 값: [use_all_dns_ips, resolve_canonical_bootstrap_servers_only]
Importance: medium
클라이언트에서 DNS 조회를 사용하는 방법을 제어합니다.
use_all_dns_ips로 설정된 경우 성공적인 연결이 설정될 때까지 반환된 각 IP 주소에 순서대로 연결합니다. 연결 해제 후 다음 IP가 사용됩니다. 모든 IP가 한 번 사용되면 클라이언트는 호스트 이름에서 IP를 다시 확인합니다(JVM 및 OS 캐시 DNS 이름 조회 모두).resolve_canonical_bootstrap_servers_only로 설정된 경우 각 부트스트랩 주소를 정식 이름 목록으로 확인합니다. 부트스트랩 단계 후use_all_dns_ips와 동일하게 작동합니다.client.idtype: string
Default: ""
Importance: medium
요청을 수행할 때 서버에 전달할 id 문자열입니다. 이를 위해 논리적 애플리케이션 이름을 서버 측 요청 로깅에 포함하도록 허용하여 ip/port 이외의 요청 소스를 추적할 수 있습니다.
connections.max.idle.ms유형: long
기본값: 300000 (5분)
중요도: 중간
이 구성에서 지정한 시간(밀리초) 후에 유휴 연결을 종료합니다.
default.api.timeout.ms유형: int
기본값: 60000 (1분)
유효한 값: [0,…]
중요: 중간
클라이언트 API의 시간 초과(밀리초)를 지정합니다. 이 구성은
timeout매개변수를 지정하지 않는 모든 클라이언트 작업의 기본 시간 초과로 사용됩니다.receive.buffer.bytes유형: int
기본값: 65536 (64 kibibytes)
유효한 값: [-1,…]
Importance: medium
데이터를 읽을 때 사용할 TCP 수신 버퍼(SO_RCVBUF)의 크기입니다. 값이 -1이면 OS 기본값이 사용됩니다.
request.timeout.ms유형: int
기본값: 30000(30초)
유효한 값: [0,…]
Importance: medium
구성은 클라이언트가 요청 응답을 기다리는 최대 시간을 제어합니다. 시간 초과가 경과하기 전에 응답을 수신하지 않으면 필요한 경우 클라이언트가 요청을 다시 전송하거나 재시도가 소진되면 요청을 다시 보냅니다.
sasl.client.callback.handler.class유형: class
Default: null
Importance: medium
AuthenticateCallbackHandler 인터페이스를 구현하는 SASL 클라이언트 콜백 처리기 클래스의 정규화된 이름입니다.
sasl.jaas.config유형: password
기본값: null
Importance: medium
JAAS 구성 파일에서 사용하는 형식의 SASL 연결에 대한 JAAS 로그인 컨텍스트 매개변수입니다. JAAS 구성 파일 형식은 여기에 설명되어 있습니다. 값 형식은
loginModuleClass controlFlag (optionName=optionValue)*;입니다. 브로커의 경우 구성 앞에 리스너 접두사 및 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule이 필요합니다.sasl.kerberos.service.name유형: 문자열
기본값: null
Importance: medium
Kafka가 실행되는 Kerberos 주체 이름입니다. Kafka의 JAAS config 또는 Kafka의 config에서 정의할 수 있습니다.
sasl.login.callback.handler.class유형: class
Default: null
Importance: medium
AuthenticateCallbackHandler 인터페이스를 구현하는 SASL 로그인 콜백 처리기 클래스의 정규화된 이름입니다. 브로커의 경우 로그인 콜백 처리기 구성 앞에 리스너 접두사 및 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler입니다.
sasl.login.class유형: class
Default: null
Importance: medium
로그인 인터페이스를 구현하는 클래스의 정규화된 이름입니다. 브로커의 경우 로그인 구성 앞에는 리스너 접두사와 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin입니다.
sasl.mechanism유형: 문자열
기본값: GSSAPI
Importance: medium
클라이언트 연결에 사용되는 SASL 메커니즘입니다. 이는 보안 공급자를 사용할 수 있는 메커니즘일 수 있습니다. GSSAPI는 기본 메커니즘입니다.
sasl.oauthbearer.jwks.endpoint.url유형: 문자열
기본값: null
Importance: medium
공급자의 JWKS(JSON 웹 키 세트) 를 검색할 수 있는 OAuth/OIDC 공급자 URL입니다. URL은 HTTP(S) 기반 또는 파일 기반일 수 있습니다. URL이 HTTP(S) 기반인 경우 브로커 시작 시 구성된 URL을 통해 OAuth/OIDC 제공업체에서 JWKS 데이터가 검색됩니다. 이후의 모든 최신 키는 들어오는 요청을 위해 브로커에 캐시됩니다. 캐시에 아직 없는 "kid" 헤더 클레임 값을 포함하는 JWT에 대한 인증 요청이 수신되면 필요에 따라 JWKS 엔드포인트가 다시 쿼리됩니다. 그러나 브로커는 모든 sasl.oauthbearer.jwks.endpoint.refresh.ms 밀리초를 폴링하여 해당 URL을 포함하는 JWT 요청이 수신되기 전에 향후 키로 캐시를 새로 고칩니다. URL이 파일 기반이면 브로커는 시작 시 구성된 위치에서 JWKS 파일을 로드합니다. JWT에 JWKS 파일에 없는 "kid" 헤더 값이 포함된 경우 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.token.endpoint.url유형: 문자열
기본값: null
Importance: medium
OAuth/OIDC ID 공급자의 URL입니다. URL이 HTTP(S) 기반인 경우 sasl.jaas.config의 구성에 따라 로그인할 요청의 발행자 토큰 끝점 URL입니다. URL이 파일 기반인 경우 권한 부여에 사용할 OAuth/OIDC ID 공급자가 발행한 액세스 토큰( JWT로 직렬화된 양식)이 포함된 파일을 지정합니다.
security.protocol유형: 문자열
기본값: PLAINTEXT
유효한 값: (대소문자 구분) [SASL_SSL, PLAINTEXT, SSL, SASL_PLAINTEXT]
Importance: medium
브로커와 통신하는 데 사용되는 프로토콜입니다. 유효한 값은 PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL입니다.
send.buffer.bytes유형: int
기본값: 131072(128 kibibytes)
유효한 값: [-1,…]
Importance: medium
데이터를 전송할 때 사용할 TCP 전송 버퍼(SO_SNDBUF)의 크기입니다. 값이 -1이면 OS 기본값이 사용됩니다.
socket.connection.setup.timeout.max.ms유형: long
기본값: 30000 (30 초)
중요도: 중간
클라이언트가 소켓 연결이 설정될 때까지 대기하는 최대 시간입니다. 연결 설정 시간 초과는 연속 연결 오류마다 이 최대값까지 기하급수적으로 증가합니다. 연결 불란을 방지하기 위해 0.2의 무작위화 요소가 시간 초과에 적용되어 계산된 값보다 20% 이하에서 20% 사이의 임의 범위가 됩니다.
socket.connection.setup.timeout.ms유형: long
기본값: 10000(10초)
중요도: 중간
클라이언트가 소켓 연결이 설정될 때까지 대기하는 시간입니다. 시간 초과가 경과하기 전에 연결이 빌드되지 않으면 클라이언트가 소켓 채널을 종료합니다. 이 값은 초기 백오프 값이며
socket.connection.setup.timeout.max.ms값까지 연속된 각 연결 오류에 대해 기하급수적으로 증가합니다.ssl.enabled.protocolstype: list: list
default: TLSv1.2,TLSv1.3
Importance: medium
SSL 연결에 활성화된 프로토콜 목록입니다. Java 11 이상에서 실행하는 경우 기본값은 'TLSv1.2,TLSv1.3'이며, 그렇지 않으면 'TLSv1.2'입니다. Java 11의 기본값을 사용하면 클라이언트와 서버는 TLSv1.2를 지원하고 그 대신 TLSv1.2를 모두 지원하는 경우 TLSv1.3을 선호합니다(적어도 TLSv1.2 이상 지원). 대부분의 경우 이 기본값은 정상이어야 합니다.
ssl.protocol의 구성 문서를 참조하십시오.ssl.keystore.type유형: 문자열
기본값: JKS
중요도: 중간
키 저장소 파일의 파일 형식입니다. 클라이언트에는 선택 사항입니다. 현재 기본
ssl.engine.factory.class에서 지원하는 값은 [JKS, PKCS12, PEM]입니다.ssl.protocol유형: 문자열
기본값: TLSv1.3
중요도: 중간
SSLContext를 생성하는 데 사용되는 SSL 프로토콜입니다. Java 11 이상에서 실행하는 경우 기본값은 'TLSv1.3'이며, 그렇지 않으면 'TLSv1.2'입니다. 이 값은 대부분의 사용 사례에 적합해야 합니다. 최근 JVM에서 허용되는 값은 'TLSv1.2' 및 'TLSv1.3'입니다. 'TLS', 'TLSv1.1', 'SSL', 'SSLv2' 및 'SSLv3'은 이전 JVM에서 지원되지 않을 수 있지만 알려진 보안 취약점으로 인해 사용이 권장되지 않습니다. 이 구성 및 'ssl.enabled.protocols'의 기본값을 사용하면 서버가 'TLSv1.3'을 지원하지 않는 경우 클라이언트가 'TLSv1.2'로 다운그레이드됩니다. 이 구성이 'TLSv1.2'로 설정된 경우 클라이언트는 ssl.enabled.protocols의 값 중 하나이고 서버가 'TLSv1.3'만 지원하는 경우에도 'TLSv1.3'을 사용하지 않습니다.
ssl.provider유형: 문자열
기본값: null
Importance: medium
SSL 연결에 사용되는 보안 공급자의 이름입니다. 기본값은 JVM의 기본 보안 공급자입니다.
ssl.truststore.type유형: 문자열
기본값: JKS
중요도: 중간
신뢰 저장소 파일의 파일 형식입니다. 현재 기본
ssl.engine.factory.class에서 지원하는 값은 [JKS, PKCS12, PEM]입니다.auto.include.jmx.reporter유형: 부울
기본값: true
Importance: low
더 이상 사용되지 않습니다.
metric.reporters에 나열되지 않은 경우에도 JmxReporter를 자동으로 포함할지 여부입니다. 이 구성은 Kafka 4.0에서 제거되며 대신 JmxReporter를 활성화하려면metric.reporters에org.apache.kafka.common.metrics.JmxReporter를 포함해야 합니다.enable.metrics.push유형: 부울
기본값: true
Importance: low
클라이언트 메트릭을 클러스터로 내보낼지 여부(클러스터에 이 클라이언트와 일치하는 클라이언트 지표 서브스크립션이 있는 경우).
metadata.max.age.ms유형: long
기본값: 300000 (5분)
유효한 값: [0,…]
중요: 낮음
파티션 리더십 변경 사항을 보지 못하더라도 새 브로커 또는 파티션을 사전에 검색하지 못한 경우에도 메타데이터를 강제로 새로 고침한 후 밀리초 단위입니다.
metric.reporterstype: list
default: ""
Importance: low
메트릭 보고자로 사용할 클래스 목록입니다.
org.apache.kafka.common.metrics.MetricsReporter인터페이스를 구현하면 새 메트릭 생성을 알리는 클래스를 연결할 수 있습니다. JmxReporter는 항상 statistics를 등록하기 위해 포함되어 있습니다.metrics.num.samples유형: int
기본값: 2
유효한 값: [1,…]
중요도: 낮음
컴퓨팅 메트릭에 유지 관리되는 샘플 수입니다.
metrics.recording.level유형: 문자열
기본값: INFO
유효한 값: [INFO, DEBUG, TRACE]
Importance: low
메트릭의 가장 높은 레코딩 수준입니다.
metrics.sample.window.ms유형: long
기본값: 30000(30초)
유효한 값: [0,…]
중요도: 낮음
메트릭 샘플이 계산되는 시간입니다.
reconnect.backoff.max.ms유형: long
기본값: 1000 (1 second)
유효한 값: [0,…]
중요도: 낮음
반복적으로 연결하지 못한 브로커에 다시 연결할 때 대기하는 최대 시간(밀리초)입니다. 제공된 경우 호스트당 백오프는 연속되는 각 연결 오류에 대해 이 최대값까지 기하급수적으로 증가합니다. 백오프 증가를 계산한 후 연결 측정을 방지하기 위해 20%의 임의 지터가 추가됩니다.
reconnect.backoff.ms유형: long
기본값: 50
유효한 값: [0,…]
중요도: 낮음
지정된 호스트에 다시 연결하기 전에 대기하는 기본 시간입니다. 이렇게 하면 하드 루프로 호스트에 반복적으로 연결하는 것을 방지할 수 있습니다. 이 백오프는 클라이언트가 브로커에 대한 모든 연결 시도에 적용됩니다. 이 값은 초기 backoff 값이며,
reconnect.backoff.max.ms값까지 연속된 각 연결 오류에 대해 기하급수적으로 증가합니다.재시도유형: int
기본값: 2147483647
유효한 값: [0,…,2147483647]
Importance: low
값을 0보다 크게 설정하면 클라이언트가 일시적인 오류와 함께 실패하는 모든 요청을 다시 보냅니다. 값을 0 또는
MAX_VALUE로 설정하고 해당 시간 초과 매개변수를 사용하여 클라이언트가 요청을 재시도하는 기간을 제어하는 것이 좋습니다.retry.backoff.max.ms유형: long
기본값: 1000 (1 second)
유효한 값: [0,…]
중요도: 낮음
반복적으로 실패한 브로커에 대한 요청을 재시도할 때 대기하는 최대 시간(밀리초)입니다. 제공된 경우 클라이언트당 백오프는 실패한 각 요청에 대해 이 최대값까지 기하급수적으로 증가합니다. 재시도 시 모든 클라이언트가 동기화되지 않도록 0.2의 비율을 가진 임의의 지터가 백오프에 적용되므로 계산된 값보다 20% 이하에서 20% 사이의 백오프가 백오프됩니다.
retry.backoff.ms가retry.backoff.max.ms보다 높게 설정된 경우retry.backoff.max.ms는 기하급수적으로 증가하지 않고 처음부터 일정한 백오프로 사용됩니다.retry.backoff.ms유형: long
기본값: 100
유효한 값: [0,…]
중요도: 낮음
지정된 주제 파티션에 대한 실패한 요청을 재시도하기 전에 대기하는 시간입니다. 이렇게 하면 일부 실패 시나리오에서 엄격한 루프로 요청을 반복적으로 보내는 것을 방지할 수 있습니다. 이 값은 초기 backoff 값이며,
retry.backoff.max.ms값까지 실패한 각 요청에 대해 기하급수적으로 증가합니다.sasl.kerberos.kinit.cmd유형: 문자열
기본값: /usr/bin/kinit
Importance: low
Kerberos kinit 명령 경로입니다.
sasl.kerberos.min.time.before.relogin유형: long
기본값: 60000
중요도: 낮음
새로 고침 시도 사이의 로그인 스레드 수면 시간입니다.
sasl.kerberos.ticket.renew.jitter유형: 두 번
기본값: 0.05
중요도: 낮음
갱신 시간에 임의 지터의 백분율이 추가되었습니다.
sasl.kerberos.ticket.renew.window.factor유형: double
기본값: 0.8
중요도: 낮음
로그인 스레드는 지정된 시간 요소가 마지막으로 새로 고침에서 티켓 만료로 도달할 때까지 유휴 상태가 되고 이 기간 동안 티켓을 갱신하려고 합니다.
sasl.login.connect.timeout.ms유형: int
default: null
Importance: low
외부 인증 공급자 연결 시간 초과의 (선택 사항) 값(선택 사항)입니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.read.timeout.ms유형: int
default: null
Importance: low
외부 인증 공급자의 (선택 사항) 값(선택 사항)은 시간 초과입니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.buffer.seconds유형: short
기본값: 300
유효한 값: [0,…,3600]
중요도: 낮음
인증 정보를 새로 고칠 때 유지 관리하는 인증 정보 만료 전의 버퍼 시간(초)입니다. 새로 고침이 버퍼 초 수보다 만료되는 경우 새로 고침은 가능한 한 많은 버퍼 시간을 유지하기 위해 이동합니다. 법적 값은 0에서 3600(1시간) 사이입니다. 값이 지정되지 않은 경우 기본값 300(5분)이 사용됩니다. 이 값과 sasl.login.refresh.min.period.seconds 값은 합계가 인증 정보의 나머지 수명을 초과하면 둘 다 무시됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.min.period.seconds유형: short
기본값: 60
유효한 값: [0,…,900]
중요도: 낮음
로그인 새로 고침 스레드가 인증 정보를 새로 고치기 전에 대기하는 최소 시간(초)입니다. 법적 값은 0에서 900 (15 분) 사이입니다. 값이 지정되지 않은 경우 기본값 60 (1 분)이 사용됩니다. 이 값과 sasl.login.refresh.buffer.seconds 값은 합계가 인증 정보의 나머지 수명을 초과하면 둘 다 무시됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.window.factor유형: double
기본값: 0.8
유효한 값: [0.5,…,1.0]
중요: 낮음
로그인 새로 고침 스레드는 인증 정보의 수명을 기준으로 지정된 창 요인에 도달할 때까지 유휴 상태가 되어 인증 정보를 새로 고치려고 합니다. 법적 값은 0.5(50%)와 1.0(100%)을 포함합니다. 값이 지정되지 않은 경우 기본값 0.8(80%)가 사용됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.window.jitter유형: double
기본값: 0.05
유효한 값: [0.0,…,0.25]
중요도: 낮음
로그인 새로 고침 스레드의 수면 시간에 추가되는 인증 정보의 수명을 기준으로 임의 지터의 최대 양입니다. 법적 값은 0에서 0.25 (25 %) 사이이며, 값이 지정되지 않은 경우 기본값 0.05 (5%)가 사용됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.retry.backoff.max.ms유형: long
기본값: 10000(10초)
중요도: 낮음
(선택 사항) 외부 인증 공급자에 대한 로그인 시도 사이의 최대 대기 시간(밀리초)입니다. login은 sasl.login.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하고 sasl.login.retry.max.ms 설정에 의해 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘립니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.retry.backoff.ms유형: long
기본값: 100
중요도: 낮음
(선택 사항) 초기 대기 시간(선택 사항) 값(선택 사항)을 외부 인증 공급자로 시도하는 경우 초기 대기 시간(밀리초)입니다. login은 sasl.login.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하고 sasl.login.retry.max.ms 설정에 의해 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘립니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.oauthbearer.clock.skew.seconds유형: int
기본값: 30
Importance: low
OAuth/OIDC ID 공급자와 브로커 간의 차이점을 허용하는 (선택 사항) 값(초)입니다.
sasl.oauthbearer.expected.audiencetype: list
default: null
Importance: low
브로커에서 JWT가 예상 대상 중 하나에 대해 발행되었는지 확인하는 데 사용할 (선택 사항) 쉼표로 구분된 설정입니다. JWT는 표준 OAuth "aud" 클레임을 검사하고 이 값이 설정되면 브로커가 JWT의 "aud" 클레임의 값과 일치하여 정확히 일치하는지 확인합니다. 일치하는 항목이 없으면 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.expected.issuer유형: 문자열
기본값: null
Importance: low
브로커가 JWT가 예상 발행자에 의해 생성되었는지 확인하는 데 사용할 (선택 사항) 설정입니다. JWT는 표준 OAuth "iss" 클레임을 검사하고 이 값이 설정되면 브로커는 JWT의 "iss" 클레임에 있는 것과 정확히 일치합니다. 일치하는 항목이 없으면 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.jwks.endpoint.refresh.ms유형: long
기본값: 3600000(1시간)
중요도: 낮음
브로커가 JWT의 서명을 확인하는 키가 포함된 JWKS(JSON 웹 키 세트) 캐시 새로 고침 사이에 대기하는 (선택 사항) 시간(선택 사항)입니다.
sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms유형: long
기본값: 10000(10초)
중요도: 낮음
(선택 사항) 외부 인증 공급자에서 JWKS(JSON Web Key Set)를 검색하려는 시도 사이의 최대 대기 시간(밀리초)입니다. JWKS 검색에서는 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하며 sasl.oauthbearer.jwks.endpoint.retry.max.ms 설정으로 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘릴 것입니다.
sasl.oauthbearer.jwks.endpoint.retry.backoff.ms유형: long
기본값: 100
중요도: 낮음
JWKS(JSON Web Key Set) 검색 사이의 초기 대기 시간(선택 사항)에서 외부 인증 공급자의 (선택 사항) 값(밀리초)입니다. JWKS 검색에서는 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하며 sasl.oauthbearer.jwks.endpoint.retry.max.ms 설정으로 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘릴 것입니다.
sasl.oauthbearer.scope.claim.name유형: 문자열
기본값: 범위
중요: 낮음
범위에 대한 OAuth 클레임은 종종 "scope"로 지정되지만 이(선택 사항) 설정은 OAuth/OIDC 공급자가 해당 클레임에 다른 이름을 사용하는 경우 JWT 페이로드의 클레임에 포함된 범위에 사용할 다른 이름을 제공할 수 있습니다.
sasl.oauthbearer.sub.claim.name유형: 문자열
기본값: sub
Importance: low
주체에 대한 OAuth 클레임은 종종 "sub"라고 하지만 이(선택 사항) 설정은 OAuth/OIDC 공급자가 해당 클레임에 다른 이름을 사용하는 경우 JWT 페이로드의 클레임에 포함된 주체에 사용할 다른 이름을 제공할 수 있습니다.
security.providers유형: 문자열
기본값: null
Importance: low
구성 가능한 작성자 클래스 목록은 각각 보안 알고리즘을 구현하는 공급자를 반환합니다. 이러한 클래스는
org.apache.kafka.common.security.auth.SecurityProviderCreator인터페이스를 구현해야 합니다.ssl.cipher.suitestype: list
default: null
Importance: low
암호화 제품군 목록입니다. 이는 TLS 또는 SSL 네트워크 프로토콜을 사용하여 네트워크 연결에 대한 보안 설정을 협상하는 데 사용되는 인증, 암호화, MAC 및 키 교환 알고리즘의 이름이 지정된 조합입니다. 기본적으로 사용 가능한 모든 암호화 제품군이 지원됩니다.
ssl.endpoint.identification.algorithm유형: 문자열
기본값: https
Importance: low
서버 인증서를 사용하여 서버 호스트 이름을 확인하는 끝점 식별 알고리즘입니다.
ssl.engine.factory.class유형: class
Default: null
Importance: low
SSLEngine 개체를 제공하는 org.apache.kafka.common.security.auth.SslEngineFactory 유형의 클래스입니다. 기본값은 org.apache.kafka.common.security.ssl.DefaultSslEngineFactory입니다. 또는 이를 org.apache.kafka.common.security.ssl.CommonNameLoggingSslEngineFactory로 설정하면 클라이언트가 로그 수준 INFO를 가진 브로커에서 인증하기 위해 클라이언트가 사용하는 만료된 SSL 인증서의 공통 이름을 기록합니다. 이로 인해 클라이언트가 제공하는 인증서 체인을 검사하기 위한 추가 코드로 인해 mTLS 클라이언트에서 브로커로의 새 연결을 설정하는 동안 약간의 지연이 발생합니다. 구현에서는 표준 Java 신뢰 저장소를 기반으로 사용자 정의 신뢰 저장소를 사용하므로 표준 클라이언트만큼 완성되지 않기 때문에 보안 위험으로 간주될 수 있습니다.
ssl.keymanager.algorithm유형: 문자열
기본값: SunX509
중요: 낮음
SSL 연결에 대해 키 관리자 팩토리에서 사용하는 알고리즘입니다. 기본값은 Java Virtual Machine에 대해 구성된 키 관리자 팩토리 알고리즘입니다.
ssl.secure.random.implementation유형: 문자열
기본값: null
Importance: low
SSL 암호화 작업에 사용할 SecureRandom PRNG 구현
ssl.trustmanager.algorithm유형: 문자열
기본값: PKIX
Importance: low
SSL 연결에 대해 신뢰 관리자 팩토리에서 사용하는 알고리즘입니다. 기본값은 Java 가상 머신에 대해 구성된 신뢰 관리자 팩토리 알고리즘입니다.
6장. Kafka Connect 구성 속성 링크 복사링크가 클립보드에 복사되었습니다!
config.storage.topic유형: 문자열
Importance: high
커넥터 구성이 저장되는 Kafka 항목의 이름입니다.
group.id유형: 문자열
Importance: high
이 작업자가 속한 Connect 클러스터 그룹을 식별하는 고유한 문자열입니다.
key.converter유형: class
Importance: high
Kafka Connect 형식과 Kafka에 기록된 직렬화 형식 간에 변환하는 데 사용되는 Cryostat 클래스입니다. 이는 Kafka로 작성되거나 읽혀진 메시지의 키 형식을 제어하며 커넥터와 독립적이므로 모든 커넥터가 직렬화 형식으로 작동할 수 있습니다. 일반적인 형식의 예로는 JSON 및 Avro가 있습니다.
offset.storage.topic유형: 문자열
Importance: high
소스 커넥터 오프셋이 저장되는 Kafka 항목의 이름입니다.
status.storage.topic유형: 문자열
Importance: high
커넥터 및 작업 상태가 저장되는 Kafka 항목의 이름입니다.
value.converter유형: class
Importance: high
Kafka Connect 형식과 Kafka에 기록된 직렬화 형식 간에 변환하는 데 사용되는 Cryostat 클래스입니다. 이는 Kafka로 작성되거나 읽혀진 메시지의 값 형식을 제어하며 커넥터와 독립적이므로 모든 커넥터가 직렬화 형식으로 작동할 수 있습니다. 일반적인 형식의 예로는 JSON 및 Avro가 있습니다.
bootstrap.serverstype: list
default: localhost:9092
Importance: high
Kafka 클러스터에 대한 초기 연결을 설정하는 데 사용할 호스트/포트 쌍 목록입니다. 클라이언트는 부트스트랩을 위해 여기에 지정된 서버를 여기에 관계없이 모든 서버를 사용합니다. 이 목록은 전체 서버 세트를 검색하는 데 사용되는 초기 호스트에만 영향을 미칩니다. 이 목록은
host1:port1,host2:port2,…이어야 합니다. 이러한 서버는 초기 연결에서 전체 클러스터 멤버십을 검색하는 데만 사용되므로(동적으로 변경될 수 있음) 이 목록에는 전체 서버 세트가 포함되지 않아도 됩니다(서버가 다운된 경우 하나 이상 필요).exactly.once.source.support유형: 문자열
default: disabled
유효한 값: (대소문자 구분) [DISABLED, ENABLED, PREPARING]
중요도: high
트랜잭션을 사용하여 소스 레코드와 소스 오프셋을 작성하고 새 작업 생성을 사전에 펜싱하여 클러스터의 소스 커넥터를 정확하게 지원할지 여부입니다. 새 클러스터에서 정확하게 소스 지원을 활성화하려면 이 속성을 'enabled'로 설정합니다. 기존 클러스터에 대한 지원을 활성화하려면 먼저 클러스터의 모든 작업자에서 'preparing'으로 설정한 다음 'enabled'로 설정합니다. 롤링 업그레이드는 두 변경 사항에 모두 사용할 수 있습니다. 이 기능에 대한 자세한 내용은 exactly-once 소스 지원 설명서를 참조하십시오.
heartbeat.interval.ms유형: int
기본값: 3000 (3초)
중요도: high
Kafka의 그룹 관리 기능을 사용할 때 하트비트 간 그룹 코디네이터 간 예상 시간입니다. 하트비트는 작업자의 세션이 활성 상태를 유지하고 새 멤버가 그룹에 참여하거나 나가면 재조정을 용이하게 하는 데 사용됩니다. 값은
session.timeout.ms보다 작아야 하지만 일반적으로 해당 값의 1/3 이상을 설정하지 않아야 합니다. 정상적인 리밸런스에 필요한 시간을 제어하도록 더욱 낮게 조정할 수 있습니다.rebalance.timeout.ms유형: int
기본값: 60000(1분)
중요도: high
리밸런스가 시작된 후 각 작업자가 그룹에 참여할 수 있는 최대 시간입니다. 이는 기본적으로 모든 작업에서 보류 중인 데이터 및 커밋 오프셋을 플러시하는 데 필요한 시간 제한입니다. 시간 초과를 초과하면 작업자가 그룹에서 제거되어 오프셋 커밋이 실패합니다.
session.timeout.ms유형: int
기본값: 10000(10초)
중요도: high
작업자 오류를 감지하는 데 사용되는 타임아웃입니다. 작업자는 주기적인 하트비트를 전송하여 브로커에 활성을 나타냅니다. 이 세션이 만료되기 전에 브로커가 하트비트를 수신하지 않으면 브로커는 그룹에서 작업자를 제거하고 재조정을 시작합니다. 값은 브로커 구성에 구성된 대로 허용 범위에 있어야 합니다
.min.session.timeout.ms 및.ms .group.max.session.timeout.msssl.key.password유형: password
기본값: null
Importance: high
키 저장소 파일의 개인 키 또는 'ssl.keystore.key'에 지정된 PEM 키의 암호입니다.
ssl.keystore.certificate.chain유형: password
기본값: null
Importance: high
'ssl.keystore.type'에 지정된 형식의 인증서 체인입니다. 기본 SSL 엔진 팩토리에서는 X.509 인증서 목록이 있는 PEM 형식만 지원합니다.
ssl.keystore.key유형: password
기본값: null
Importance: high
'ssl.keystore.type'에 지정된 형식의 개인 키입니다. 기본 SSL 엔진 팩토리에서는 PKCS#8 키가 있는 PEM 형식만 지원합니다. 키가 암호화된 경우 'ssl.key.password'를 사용하여 키 암호를 지정해야 합니다.
ssl.keystore.location유형: 문자열
기본값: null
Importance: high
키 저장소 파일의 위치입니다. 클라이언트의 경우 선택 사항이며 클라이언트의 양방향 인증에 사용할 수 있습니다.
ssl.keystore.password유형: password
기본값: null
Importance: high
키 저장소 파일의 저장소 암호입니다. 이는 클라이언트에 선택 사항이며 'ssl.keystore.location'이 구성된 경우에만 필요합니다. PEM 형식에는 키 저장소 암호가 지원되지 않습니다.
ssl.truststore.certificates유형: password
기본값: null
Importance: high
'ssl.truststore.type'에서 지정한 형식의 신뢰할 수 있는 인증서입니다. 기본 SSL 엔진 팩토리에서는 X.509 인증서가 있는 PEM 형식만 지원합니다.
ssl.truststore.location유형: 문자열
기본값: null
Importance: high
신뢰 저장소 파일의 위치입니다.
ssl.truststore.password유형: password
기본값: null
Importance: high
신뢰 저장소 파일의 암호입니다. 암호를 설정하지 않으면 구성된 신뢰 저장소 파일이 계속 사용되지만 무결성 검사가 비활성화됩니다. PEM 형식에 대해 신뢰 저장소 암호가 지원되지 않습니다.
client.dns.lookuptype : string
default: use_all_dns_ips
유효한 값: [use_all_dns_ips, resolve_canonical_bootstrap_servers_only]
Importance: medium
클라이언트에서 DNS 조회를 사용하는 방법을 제어합니다.
use_all_dns_ips로 설정된 경우 성공적인 연결이 설정될 때까지 반환된 각 IP 주소에 순서대로 연결합니다. 연결 해제 후 다음 IP가 사용됩니다. 모든 IP가 한 번 사용되면 클라이언트는 호스트 이름에서 IP를 다시 확인합니다(JVM 및 OS 캐시 DNS 이름 조회 모두).resolve_canonical_bootstrap_servers_only로 설정된 경우 각 부트스트랩 주소를 정식 이름 목록으로 확인합니다. 부트스트랩 단계 후use_all_dns_ips와 동일하게 작동합니다.connections.max.idle.ms유형: long
기본값: 540000 (9 분)
중요도: 중간
이 구성에서 지정한 시간(밀리초) 후에 유휴 연결을 종료합니다.
connector.client.config.override.policy유형: 문자열
기본값: All
Importance: medium
ConnectorClientConfigOverridePolicy의 구현의 클래스 이름 또는 별칭입니다. 커넥터로 재정의할 수 있는 클라이언트 구성을 정의합니다. 기본 구현은모두입니다. 즉, 커넥터 구성이 모든 클라이언트 속성을 재정의할 수 있습니다. 프레임워크의 다른 가능한 정책에는 클라이언트 속성을 재정의하지 못하도록 하는None이 포함되며, 커넥터가 클라이언트주체만 재정의할 수 있도록 하는 보안 주체가 포함됩니다.receive.buffer.bytes유형: int
기본값: 32768(32 키비바이트)
유효한 값: [-1,…]
Importance: medium
데이터를 읽을 때 사용할 TCP 수신 버퍼(SO_RCVBUF)의 크기입니다. 값이 -1이면 OS 기본값이 사용됩니다.
request.timeout.ms유형: int
기본값: 40000(40초)
유효한 값: [0,…]
Importance: medium
구성은 클라이언트가 요청 응답을 기다리는 최대 시간을 제어합니다. 시간 초과가 경과하기 전에 응답을 수신하지 않으면 필요한 경우 클라이언트가 요청을 다시 전송하거나 재시도가 소진되면 요청을 다시 보냅니다.
sasl.client.callback.handler.class유형: class
Default: null
Importance: medium
AuthenticateCallbackHandler 인터페이스를 구현하는 SASL 클라이언트 콜백 처리기 클래스의 정규화된 이름입니다.
sasl.jaas.config유형: password
기본값: null
Importance: medium
JAAS 구성 파일에서 사용하는 형식의 SASL 연결에 대한 JAAS 로그인 컨텍스트 매개변수입니다. JAAS 구성 파일 형식은 여기에 설명되어 있습니다. 값 형식은
loginModuleClass controlFlag (optionName=optionValue)*;입니다. 브로커의 경우 구성 앞에 리스너 접두사 및 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule이 필요합니다.sasl.kerberos.service.name유형: 문자열
기본값: null
Importance: medium
Kafka가 실행되는 Kerberos 주체 이름입니다. Kafka의 JAAS config 또는 Kafka의 config에서 정의할 수 있습니다.
sasl.login.callback.handler.class유형: class
Default: null
Importance: medium
AuthenticateCallbackHandler 인터페이스를 구현하는 SASL 로그인 콜백 처리기 클래스의 정규화된 이름입니다. 브로커의 경우 로그인 콜백 처리기 구성 앞에 리스너 접두사 및 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler입니다.
sasl.login.class유형: class
Default: null
Importance: medium
로그인 인터페이스를 구현하는 클래스의 정규화된 이름입니다. 브로커의 경우 로그인 구성 앞에는 리스너 접두사와 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin입니다.
sasl.mechanism유형: 문자열
기본값: GSSAPI
Importance: medium
클라이언트 연결에 사용되는 SASL 메커니즘입니다. 이는 보안 공급자를 사용할 수 있는 메커니즘일 수 있습니다. GSSAPI는 기본 메커니즘입니다.
sasl.oauthbearer.jwks.endpoint.url유형: 문자열
기본값: null
Importance: medium
공급자의 JWKS(JSON 웹 키 세트) 를 검색할 수 있는 OAuth/OIDC 공급자 URL입니다. URL은 HTTP(S) 기반 또는 파일 기반일 수 있습니다. URL이 HTTP(S) 기반인 경우 브로커 시작 시 구성된 URL을 통해 OAuth/OIDC 제공업체에서 JWKS 데이터가 검색됩니다. 이후의 모든 최신 키는 들어오는 요청을 위해 브로커에 캐시됩니다. 캐시에 아직 없는 "kid" 헤더 클레임 값을 포함하는 JWT에 대한 인증 요청이 수신되면 필요에 따라 JWKS 엔드포인트가 다시 쿼리됩니다. 그러나 브로커는 모든 sasl.oauthbearer.jwks.endpoint.refresh.ms 밀리초를 폴링하여 해당 URL을 포함하는 JWT 요청이 수신되기 전에 향후 키로 캐시를 새로 고칩니다. URL이 파일 기반이면 브로커는 시작 시 구성된 위치에서 JWKS 파일을 로드합니다. JWT에 JWKS 파일에 없는 "kid" 헤더 값이 포함된 경우 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.token.endpoint.url유형: 문자열
기본값: null
Importance: medium
OAuth/OIDC ID 공급자의 URL입니다. URL이 HTTP(S) 기반인 경우 sasl.jaas.config의 구성에 따라 로그인할 요청의 발행자 토큰 끝점 URL입니다. URL이 파일 기반인 경우 권한 부여에 사용할 OAuth/OIDC ID 공급자가 발행한 액세스 토큰( JWT로 직렬화된 양식)이 포함된 파일을 지정합니다.
security.protocol유형: 문자열
기본값: PLAINTEXT
유효한 값: (대소문자 구분) [SASL_SSL, PLAINTEXT, SSL, SASL_PLAINTEXT]
Importance: medium
브로커와 통신하는 데 사용되는 프로토콜입니다. 유효한 값은 PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL입니다.
send.buffer.bytes유형: int
기본값: 131072(128 kibibytes)
유효한 값: [-1,…]
Importance: medium
데이터를 전송할 때 사용할 TCP 전송 버퍼(SO_SNDBUF)의 크기입니다. 값이 -1이면 OS 기본값이 사용됩니다.
ssl.enabled.protocolstype: list: list
default: TLSv1.2,TLSv1.3
Importance: medium
SSL 연결에 활성화된 프로토콜 목록입니다. Java 11 이상에서 실행하는 경우 기본값은 'TLSv1.2,TLSv1.3'이며, 그렇지 않으면 'TLSv1.2'입니다. Java 11의 기본값을 사용하면 클라이언트와 서버는 TLSv1.2를 지원하고 그 대신 TLSv1.2를 모두 지원하는 경우 TLSv1.3을 선호합니다(적어도 TLSv1.2 이상 지원). 대부분의 경우 이 기본값은 정상이어야 합니다.
ssl.protocol의 구성 문서를 참조하십시오.ssl.keystore.type유형: 문자열
기본값: JKS
중요도: 중간
키 저장소 파일의 파일 형식입니다. 클라이언트에는 선택 사항입니다. 현재 기본
ssl.engine.factory.class에서 지원하는 값은 [JKS, PKCS12, PEM]입니다.ssl.protocol유형: 문자열
기본값: TLSv1.3
중요도: 중간
SSLContext를 생성하는 데 사용되는 SSL 프로토콜입니다. Java 11 이상에서 실행하는 경우 기본값은 'TLSv1.3'이며, 그렇지 않으면 'TLSv1.2'입니다. 이 값은 대부분의 사용 사례에 적합해야 합니다. 최근 JVM에서 허용되는 값은 'TLSv1.2' 및 'TLSv1.3'입니다. 'TLS', 'TLSv1.1', 'SSL', 'SSLv2' 및 'SSLv3'은 이전 JVM에서 지원되지 않을 수 있지만 알려진 보안 취약점으로 인해 사용이 권장되지 않습니다. 이 구성 및 'ssl.enabled.protocols'의 기본값을 사용하면 서버가 'TLSv1.3'을 지원하지 않는 경우 클라이언트가 'TLSv1.2'로 다운그레이드됩니다. 이 구성이 'TLSv1.2'로 설정된 경우 클라이언트는 ssl.enabled.protocols의 값 중 하나이고 서버가 'TLSv1.3'만 지원하는 경우에도 'TLSv1.3'을 사용하지 않습니다.
ssl.provider유형: 문자열
기본값: null
Importance: medium
SSL 연결에 사용되는 보안 공급자의 이름입니다. 기본값은 JVM의 기본 보안 공급자입니다.
ssl.truststore.type유형: 문자열
기본값: JKS
중요도: 중간
신뢰 저장소 파일의 파일 형식입니다. 현재 기본
ssl.engine.factory.class에서 지원하는 값은 [JKS, PKCS12, PEM]입니다.worker.sync.timeout.ms유형: int
기본값: 3000 (3초)
중요도: 중간
작업자가 다른 작업자와 동기화되지 않고 구성을 다시 동기화해야 하는 경우, 포기하기 전에 이 시간까지 기다린 후 그룹을 종료한 후 다시 가입하기 전에 백오프 기간을 기다립니다.
worker.unsync.backoff.ms유형: int
기본값: 300000 (5분)
중요도: 중간
작업자가 다른 작업자와 동기화되지 않고 worker.sync.timeout.ms 내에서 catch하지 못하면 다시 가입하기 전에 이 기간 동안 연결 클러스터를 남겨 둡니다.
access.control.allow.methods유형: 문자열
기본값: ""
중요도: 낮음
Access-Control-Allow-Methods 헤더를 설정하여 교차 원본 요청에 지원되는 메서드를 설정합니다. Access-Control-Allow-Methods 헤더의 기본값은 GET, POST 및 HEAD에 대한 교차 원본 요청을 허용합니다.
access.control.allow.origin유형: 문자열
기본값: ""
중요도: 낮음
값을 REST API 요청에 대해 Access-Control-Allow-Origin 헤더를 설정하여 교차 원본 액세스를 활성화하려면 이 헤더를 API에 액세스하도록 허용하거나 '*'를 사용하여 모든 도메인의 액세스를 허용합니다. 기본값은 REST API의 도메인에서만 액세스할 수 있습니다.
admin.listenerstype: list
default: null
유효한 값: 쉼표로 구분된 URL 목록, 예: http://localhost:8080,https://localhost:8443.
가져오기: 낮음
Admin REST API가 수신 대기할 쉼표로 구분된 URI 목록입니다. 지원되는 프로토콜은 HTTP 및 HTTPS입니다. 빈 문자열 또는 빈 문자열은 이 기능을 비활성화합니다. 기본 동작은 일반 리스너를 사용하는 것입니다( 'listeners' 속성으로 지정됨).
auto.include.jmx.reporter유형: 부울
기본값: true
Importance: low
더 이상 사용되지 않습니다.
metric.reporters에 나열되지 않은 경우에도 JmxReporter를 자동으로 포함할지 여부입니다. 이 구성은 Kafka 4.0에서 제거되며 대신 JmxReporter를 활성화하려면metric.reporters에org.apache.kafka.common.metrics.JmxReporter를 포함해야 합니다.client.id유형: 문자열
기본값: ""
중요도: 낮음
요청을 수행할 때 서버에 전달할 id 문자열입니다. 이를 위해 논리적 애플리케이션 이름을 서버 측 요청 로깅에 포함하도록 허용하여 ip/port 이외의 요청 소스를 추적할 수 있습니다.
config.providerstype: list
default: ""
Importance: low
ConfigProvider클래스의 쉼표로 구분된 이름은 지정된 순서로 로드 및 사용됩니다.ConfigProvider인터페이스를 구현하면 외부화된 보안과 같은 커넥터 구성에서 변수 참조를 교체할 수 있습니다.config.storage.replication.factor유형: short
default: 3
유효한 값: Kafka 클러스터의 브로커 수보다 크지 않은 잠재적 숫자 또는 -1을 입력하여 브로커의 기본값
가져오기를 사용합니다.
구성 스토리지 주제를 생성할 때 사용되는 복제 요인입니다.
connect.protocol유형: 문자열
기본값: sessioned
유효한 값: [eager, compatible, sessioned]
Importance: low
Kafka Connect 프로토콜의 호환성 모드입니다.
header.converter유형: class
Default: org.apache.kafka.connect.storage.SimpleHeaderConverter
Importance: low
Kafka Connect 형식과 Kafka에 작성된 직렬화 형식 간에 변환하는 데 사용되는 HeaderConverter 클래스입니다. 이는 Kafka로 작성되거나 읽혀진 메시지의 헤더 값 형식을 제어하며, 커넥터가 커넥터와 독립적이므로 모든 커넥터가 직렬화 형식으로 작동할 수 있습니다. 일반적인 형식의 예로는 JSON 및 Avro가 있습니다. 기본적으로 SimpleHeaderConverter는 헤더 값을 문자열로 직렬화하고 스키마를 유추하여 역직렬화하는 데 사용됩니다.
inter.worker.key.generation.algorithm유형: 문자열
기본값: HmacSHA256
유효한 값: 작업자 JVM에서 지원하는 모든 키 생성기 알고리즘
Importance: low
내부 요청 키를 생성하는 데 사용할 알고리즘입니다. 알고리즘 'HmacSHA256'은 이를 지원하는 JVM에서 기본값으로 사용됩니다. 다른 JVM에서는 기본값이 사용되지 않으며 이 속성의 값은 작업자 구성에 수동으로 지정해야 합니다.
inter.worker.key.size유형: int
default: null
Importance: low
내부 요청에 서명하는 데 사용할 키의 크기(비트)입니다. null인 경우 키 생성 알고리즘의 기본 키 크기가 사용됩니다.
inter.worker.key.ttl.ms유형: int
Default: 3600000 (1 hour)
유효한 값: [0,…,2147483647]
Importance: low
내부 요청 검증(밀리초)에 사용되는 생성된 세션 키의 TTL입니다.
inter.worker.signature.algorithm유형: 문자열
기본값: HmacSHA256
유효한 값: 작업자 JVM에서 지원하는 모든 MAC 알고리즘
Importance: low
내부 요청에 서명하는 데 사용되는 알고리즘은 알고리즘 'inter.worker.signature.algorithm'이 이를 지원하는 JVM에서 기본값으로 사용됩니다. 다른 JVM에서는 기본값이 사용되지 않으며 이 속성의 값은 작업자 구성에 수동으로 지정해야 합니다.
inter.worker.verification.algorithmstype: list: list
Default: HmacSHA256
Valid Values: 하나 이상의 MAC 알고리즘 목록으로, 각각 작업자 JVM에서 지원하는중요도: 낮음
내부 요청을 확인하기 위해 허용된 알고리즘 목록으로, inter.worker.signature.algorithm 속성에 사용되는 알고리즘을 포함해야 합니다. 알고리즘(s) '[HmacSHA256]'은 이를 제공하는 JVM에서 기본값으로 사용됩니다. 다른 JVM에서는 기본값이 사용되지 않으며 이 속성의 값은 작업자 구성에 수동으로 지정해야 합니다.
리스너type: list
default: http://:8083
유효한 값: 쉼표로 구분된 URL 목록, 예: http://localhost:8080,https://localhost:8443.
Importance: low
REST API가 수신 대기할 쉼표로 구분된 URI 목록입니다. 지원되는 프로토콜은 HTTP 및 HTTPS입니다. 모든 인터페이스에 바인딩하려면 호스트 이름을 0.0.0.0으로 지정합니다. 기본 인터페이스에 바인딩하려면 호스트 이름을 비워 둡니다. 법적 리스너 목록의 예: HTTP://myhost:8083,HTTPS://myhost:8084.
metadata.max.age.ms유형: long
기본값: 300000 (5분)
유효한 값: [0,…]
중요: 낮음
파티션 리더십 변경 사항을 보지 못하더라도 새 브로커 또는 파티션을 사전에 검색하지 못한 경우에도 메타데이터를 강제로 새로 고침한 후 밀리초 단위입니다.
metric.reporterstype: list
default: ""
Importance: low
메트릭 보고자로 사용할 클래스 목록입니다.
org.apache.kafka.common.metrics.MetricsReporter인터페이스를 구현하면 새 메트릭 생성을 알리는 클래스를 연결할 수 있습니다. JmxReporter는 항상 statistics를 등록하기 위해 포함되어 있습니다.metrics.num.samples유형: int
기본값: 2
유효한 값: [1,…]
중요도: 낮음
컴퓨팅 메트릭에 유지 관리되는 샘플 수입니다.
metrics.recording.level유형: 문자열
기본값: INFO
유효한 값: [INFO, DEBUG]
Importance: low
메트릭의 가장 높은 레코딩 수준입니다.
metrics.sample.window.ms유형: long
기본값: 30000(30초)
유효한 값: [0,…]
중요도: 낮음
메트릭 샘플이 계산되는 시간입니다.
offset.flush.interval.ms유형: long
기본값: 60000(1분)
중요도: 낮음
작업에 대한 오프셋을 커밋하는 간격입니다.
offset.flush.timeout.ms유형: long
기본값: 5000 (5초)
중요도: 낮음
레코드를 플러시하고 파티션 오프셋 데이터가 프로세스를 취소하고 나중에 커밋할 오프셋 데이터를 복원하기 전에 레코드가 플러시 및 파티션 오프셋 데이터를 커밋할 때까지 대기하는 최대 시간(밀리초)입니다. 이 속성은 정확하게 지원되는 소스 커넥터에는 영향을 미치지 않습니다.
offset.storage.partitions유형: int
default: 25
유효한 값: Positive number 또는 -1 to use the broker's default
Importance: low
오프셋 스토리지 주제를 생성할 때 사용되는 파티션 수입니다.
offset.storage.replication.factor유형: short
default: 3
유효한 값: Kafka 클러스터의 브로커 수보다 크지 않은 잠재적 숫자 또는 -1을 입력하여 브로커의 기본값
가져오기를 사용합니다.
오프셋 스토리지 주제를 생성할 때 사용되는 복제 요인입니다.
plugin.discoverytype : string
default: hybrid_warn
Valid Values: ( case insensitive) [ONLY_SCAN, SERVICE_LOAD, HYBRID_WARN, HYBRID_FAIL]
Importance: low
classpath 및 plugin.path 구성에 있는 플러그인을 검색하는 데 사용하는 방법입니다. 이는 다음과 같은 의미가 있는 여러 값 중 하나일 수 있습니다. * only_scan: 리플렉션을 통해서만 플러그인을 검색합니다. ServiceLoader에서 검색할 수 없는 플러그인은 작업자 시작에 영향을 미치지 않습니다. * hybrid_warn: 반영 및 ServiceLoader에 의해 플러그인을 검색합니다. ServiceLoader에서 검색할 수 없는 플러그인은 작업자 시작 중에 경고를 출력합니다. * hybrid_fail: ServiceLoader에 의해 플러그인을 검색합니다. ServiceLoader에서 검색할 수 없는 플러그인은 작업자 시작에 실패합니다. * service_load: ServiceLoader에서만 플러그인을 검색합니다. 다른 모드보다 더 빨리 시작 ServiceLoader에서 검색할 수 없는 플러그인은 사용할 수 없습니다.
plugin.pathtype: list
default: null
Importance: low
플러그인(연결자, 변환기, 변환)을 포함하는 쉼표(,)로 구분된 경로 목록입니다. 목록은 플러그인과 종속 항목 b가 있는 KubeletConfigs를 즉시 포함하는 상위 수준 디렉터리로 구성되어야 합니다. b) 플러그인 및 종속 항목 c가 포함된 uber-jars는 플러그인 클래스의 패키지 디렉토리 구조와 해당 종속 항목 Note: symlinks를 검색하여 종속 항목 또는 플러그인을 검색하도록 따릅니다. 예: plugin.path=/usr/local/share/java,/usr/local/share/kafka/plugins,/opt/connectors 구성 공급자 변수를 사용하지 않습니다. 구성 공급자가 초기화되고 변수를 교체하기 전에 작업자의 스캐너에서 원시 경로를 사용하므로 이 속성의 구성 공급자 변수를 사용하지 않습니다.
reconnect.backoff.max.ms유형: long
기본값: 1000 (1 second)
유효한 값: [0,…]
중요도: 낮음
반복적으로 연결하지 못한 브로커에 다시 연결할 때 대기하는 최대 시간(밀리초)입니다. 제공된 경우 호스트당 백오프는 연속되는 각 연결 오류에 대해 이 최대값까지 기하급수적으로 증가합니다. 백오프 증가를 계산한 후 연결 측정을 방지하기 위해 20%의 임의 지터가 추가됩니다.
reconnect.backoff.ms유형: long
기본값: 50
유효한 값: [0,…]
중요도: 낮음
지정된 호스트에 다시 연결하기 전에 대기하는 기본 시간입니다. 이렇게 하면 하드 루프로 호스트에 반복적으로 연결하는 것을 방지할 수 있습니다. 이 백오프는 클라이언트가 브로커에 대한 모든 연결 시도에 적용됩니다. 이 값은 초기 backoff 값이며,
reconnect.backoff.max.ms값까지 연속된 각 연결 오류에 대해 기하급수적으로 증가합니다.response.http.headers.configtype : string
Default: ""
Valid Values: Comma-separated header rules, 여기서 각 헤더 규칙은 '[action] [header name]:[header name]:[header value]' 형식으로 묶고, 필요에 따라 헤더 규칙의 일부가 쉼표
Importance 가 포함된 경우 큰따옴표로 묶습니다.
REST API HTTP 응답 헤더에 대한 규칙입니다.
rest.advertised.host.name유형: 문자열
기본값: null
Importance: low
이 값이 설정되면 연결할 다른 작업자에게 제공되는 호스트 이름입니다.
rest.advertised.listener유형: 문자열
기본값: null
Importance: low
사용할 다른 작업자에게 제공될 공개된 리스너(HTTP 또는 HTTPS)를 설정합니다.
rest.advertised.port유형: int
default: null
Importance: low
이 값이 설정되면 연결할 다른 작업자에게 제공될 포트입니다.
rest.extension.classestype: list
default: ""
Importance: low
ConnectRestExtension클래스의 쉼표로 구분된 이름은 지정된 순서로 로드 및 호출됩니다.ConnectRestExtension인터페이스를 구현하면 필터와 같은 Connect의 REST API 사용자 정의 리소스에 삽입할 수 있습니다. 일반적으로 로깅, 보안 등과 같은 사용자 지정 기능을 추가하는 데 사용됩니다.retry.backoff.max.ms유형: long
기본값: 1000 (1 second)
유효한 값: [0,…]
중요도: 낮음
반복적으로 실패한 브로커에 대한 요청을 재시도할 때 대기하는 최대 시간(밀리초)입니다. 제공된 경우 클라이언트당 백오프는 실패한 각 요청에 대해 이 최대값까지 기하급수적으로 증가합니다. 재시도 시 모든 클라이언트가 동기화되지 않도록 0.2의 비율을 가진 임의의 지터가 백오프에 적용되므로 계산된 값보다 20% 이하에서 20% 사이의 백오프가 백오프됩니다.
retry.backoff.ms가retry.backoff.max.ms보다 높게 설정된 경우retry.backoff.max.ms는 기하급수적으로 증가하지 않고 처음부터 일정한 백오프로 사용됩니다.retry.backoff.ms유형: long
기본값: 100
유효한 값: [0,…]
중요도: 낮음
지정된 주제 파티션에 대한 실패한 요청을 재시도하기 전에 대기하는 시간입니다. 이렇게 하면 일부 실패 시나리오에서 엄격한 루프로 요청을 반복적으로 보내는 것을 방지할 수 있습니다. 이 값은 초기 backoff 값이며,
retry.backoff.max.ms값까지 실패한 각 요청에 대해 기하급수적으로 증가합니다.sasl.kerberos.kinit.cmd유형: 문자열
기본값: /usr/bin/kinit
Importance: low
Kerberos kinit 명령 경로입니다.
sasl.kerberos.min.time.before.relogin유형: long
기본값: 60000
중요도: 낮음
새로 고침 시도 사이의 로그인 스레드 수면 시간입니다.
sasl.kerberos.ticket.renew.jitter유형: 두 번
기본값: 0.05
중요도: 낮음
갱신 시간에 임의 지터의 백분율이 추가되었습니다.
sasl.kerberos.ticket.renew.window.factor유형: double
기본값: 0.8
중요도: 낮음
로그인 스레드는 지정된 시간 요소가 마지막으로 새로 고침에서 티켓 만료로 도달할 때까지 유휴 상태가 되고 이 기간 동안 티켓을 갱신하려고 합니다.
sasl.login.connect.timeout.ms유형: int
default: null
Importance: low
외부 인증 공급자 연결 시간 초과의 (선택 사항) 값(선택 사항)입니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.read.timeout.ms유형: int
default: null
Importance: low
외부 인증 공급자의 (선택 사항) 값(선택 사항)은 시간 초과입니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.buffer.seconds유형: short
기본값: 300
유효한 값: [0,…,3600]
중요도: 낮음
인증 정보를 새로 고칠 때 유지 관리하는 인증 정보 만료 전의 버퍼 시간(초)입니다. 새로 고침이 버퍼 초 수보다 만료되는 경우 새로 고침은 가능한 한 많은 버퍼 시간을 유지하기 위해 이동합니다. 법적 값은 0에서 3600(1시간) 사이입니다. 값이 지정되지 않은 경우 기본값 300(5분)이 사용됩니다. 이 값과 sasl.login.refresh.min.period.seconds 값은 합계가 인증 정보의 나머지 수명을 초과하면 둘 다 무시됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.min.period.seconds유형: short
기본값: 60
유효한 값: [0,…,900]
중요도: 낮음
로그인 새로 고침 스레드가 인증 정보를 새로 고치기 전에 대기하는 최소 시간(초)입니다. 법적 값은 0에서 900 (15 분) 사이입니다. 값이 지정되지 않은 경우 기본값 60 (1 분)이 사용됩니다. 이 값과 sasl.login.refresh.buffer.seconds 값은 합계가 인증 정보의 나머지 수명을 초과하면 둘 다 무시됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.window.factor유형: double
기본값: 0.8
유효한 값: [0.5,…,1.0]
중요: 낮음
로그인 새로 고침 스레드는 인증 정보의 수명을 기준으로 지정된 창 요인에 도달할 때까지 유휴 상태가 되어 인증 정보를 새로 고치려고 합니다. 법적 값은 0.5(50%)와 1.0(100%)을 포함합니다. 값이 지정되지 않은 경우 기본값 0.8(80%)가 사용됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.refresh.window.jitter유형: double
기본값: 0.05
유효한 값: [0.0,…,0.25]
중요도: 낮음
로그인 새로 고침 스레드의 수면 시간에 추가되는 인증 정보의 수명을 기준으로 임의 지터의 최대 양입니다. 법적 값은 0에서 0.25 (25 %) 사이이며, 값이 지정되지 않은 경우 기본값 0.05 (5%)가 사용됩니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.retry.backoff.max.ms유형: long
기본값: 10000(10초)
중요도: 낮음
(선택 사항) 외부 인증 공급자에 대한 로그인 시도 사이의 최대 대기 시간(밀리초)입니다. login은 sasl.login.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하고 sasl.login.retry.max.ms 설정에 의해 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘립니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.login.retry.backoff.ms유형: long
기본값: 100
중요도: 낮음
(선택 사항) 초기 대기 시간(선택 사항) 값(선택 사항)을 외부 인증 공급자로 시도하는 경우 초기 대기 시간(밀리초)입니다. login은 sasl.login.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하고 sasl.login.retry.max.ms 설정에 의해 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘립니다. 현재 OAUTHBEARER에만 적용됩니다.
sasl.oauthbearer.clock.skew.seconds유형: int
기본값: 30
Importance: low
OAuth/OIDC ID 공급자와 브로커 간의 차이점을 허용하는 (선택 사항) 값(초)입니다.
sasl.oauthbearer.expected.audiencetype: list
default: null
Importance: low
브로커에서 JWT가 예상 대상 중 하나에 대해 발행되었는지 확인하는 데 사용할 (선택 사항) 쉼표로 구분된 설정입니다. JWT는 표준 OAuth "aud" 클레임을 검사하고 이 값이 설정되면 브로커가 JWT의 "aud" 클레임의 값과 일치하여 정확히 일치하는지 확인합니다. 일치하는 항목이 없으면 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.expected.issuer유형: 문자열
기본값: null
Importance: low
브로커가 JWT가 예상 발행자에 의해 생성되었는지 확인하는 데 사용할 (선택 사항) 설정입니다. JWT는 표준 OAuth "iss" 클레임을 검사하고 이 값이 설정되면 브로커는 JWT의 "iss" 클레임에 있는 것과 정확히 일치합니다. 일치하는 항목이 없으면 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.jwks.endpoint.refresh.ms유형: long
기본값: 3600000(1시간)
중요도: 낮음
브로커가 JWT의 서명을 확인하는 키가 포함된 JWKS(JSON 웹 키 세트) 캐시 새로 고침 사이에 대기하는 (선택 사항) 시간(선택 사항)입니다.
sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms유형: long
기본값: 10000(10초)
중요도: 낮음
(선택 사항) 외부 인증 공급자에서 JWKS(JSON Web Key Set)를 검색하려는 시도 사이의 최대 대기 시간(밀리초)입니다. JWKS 검색에서는 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하며 sasl.oauthbearer.jwks.endpoint.retry.max.ms 설정으로 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘릴 것입니다.
sasl.oauthbearer.jwks.endpoint.retry.backoff.ms유형: long
기본값: 100
중요도: 낮음
JWKS(JSON Web Key Set) 검색 사이의 초기 대기 시간(선택 사항)에서 외부 인증 공급자의 (선택 사항) 값(밀리초)입니다. JWKS 검색에서는 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 설정을 기반으로 초기 대기와 함께 지수 백오프 알고리즘을 사용하며 sasl.oauthbearer.jwks.endpoint.retry.max.ms 설정으로 지정된 최대 대기 길이까지의 대기 길이를 두 배로 늘릴 것입니다.
sasl.oauthbearer.scope.claim.name유형: 문자열
기본값: 범위
중요: 낮음
범위에 대한 OAuth 클레임은 종종 "scope"로 지정되지만 이(선택 사항) 설정은 OAuth/OIDC 공급자가 해당 클레임에 다른 이름을 사용하는 경우 JWT 페이로드의 클레임에 포함된 범위에 사용할 다른 이름을 제공할 수 있습니다.
sasl.oauthbearer.sub.claim.name유형: 문자열
기본값: sub
Importance: low
주체에 대한 OAuth 클레임은 종종 "sub"라고 하지만 이(선택 사항) 설정은 OAuth/OIDC 공급자가 해당 클레임에 다른 이름을 사용하는 경우 JWT 페이로드의 클레임에 포함된 주체에 사용할 다른 이름을 제공할 수 있습니다.
scheduled.rebalance.max.delay.ms유형: int
기본값: 300000 (5분)
유효한 값: [0,…,2147483647]
Importance: low
커넥터와 작업을 그룹에 재조정하고 다시 할당하기 전에 하나 이상의 분리된 작업자의 반환을 대기하도록 예약된 최대 지연입니다. 이 기간 동안 분리된 작업자의 커넥터와 작업은 할당되지 않은 상태로 유지됩니다.
socket.connection.setup.timeout.max.ms유형: long
기본값: 30000(30초)
유효한 값: [0,…]
중요도: 낮음
클라이언트가 소켓 연결이 설정될 때까지 대기하는 최대 시간입니다. 연결 설정 시간 초과는 연속 연결 오류마다 이 최대값까지 기하급수적으로 증가합니다. 연결 불란을 방지하기 위해 0.2의 무작위화 요소가 시간 초과에 적용되어 계산된 값보다 20% 이하에서 20% 사이의 임의 범위가 됩니다.
socket.connection.setup.timeout.ms유형: long
기본값: 10000(10초)
유효한 값: [0,…]
중요도: 낮음
클라이언트가 소켓 연결이 설정될 때까지 대기하는 시간입니다. 시간 초과가 경과하기 전에 연결이 빌드되지 않으면 클라이언트가 소켓 채널을 종료합니다. 이 값은 초기 백오프 값이며
socket.connection.setup.timeout.max.ms값까지 연속된 각 연결 오류에 대해 기하급수적으로 증가합니다.ssl.cipher.suitestype: list
default: null
Importance: low
암호화 제품군 목록입니다. 이는 TLS 또는 SSL 네트워크 프로토콜을 사용하여 네트워크 연결에 대한 보안 설정을 협상하는 데 사용되는 인증, 암호화, MAC 및 키 교환 알고리즘의 이름이 지정된 조합입니다. 기본적으로 사용 가능한 모든 암호화 제품군이 지원됩니다.
ssl.client.authtype: string
default: none
유효한 값: [required, requested, none]
Importance: low
클라이언트 인증을 요청하도록 kafka 브로커를 구성합니다. 다음은 일반적인 설정입니다.
-
SSL.client.auth=required필수 클라이언트 인증으로 설정된 경우. -
SSL.client.auth=requested이는 클라이언트 인증이 선택 사항임을 의미합니다. 이 옵션이 설정된 경우 클라이언트는 자체적으로 인증 정보를 제공하지 않도록 선택할 수 있습니다. -
SSL.client.auth=none이는 클라이언트 인증이 필요하지 않음을 의미합니다.
-
ssl.endpoint.identification.algorithm유형: 문자열
기본값: https
Importance: low
서버 인증서를 사용하여 서버 호스트 이름을 확인하는 끝점 식별 알고리즘입니다.
ssl.engine.factory.class유형: class
Default: null
Importance: low
SSLEngine 개체를 제공하는 org.apache.kafka.common.security.auth.SslEngineFactory 유형의 클래스입니다. 기본값은 org.apache.kafka.common.security.ssl.DefaultSslEngineFactory입니다. 또는 이를 org.apache.kafka.common.security.ssl.CommonNameLoggingSslEngineFactory로 설정하면 클라이언트가 로그 수준 INFO를 가진 브로커에서 인증하기 위해 클라이언트가 사용하는 만료된 SSL 인증서의 공통 이름을 기록합니다. 이로 인해 클라이언트가 제공하는 인증서 체인을 검사하기 위한 추가 코드로 인해 mTLS 클라이언트에서 브로커로의 새 연결을 설정하는 동안 약간의 지연이 발생합니다. 구현에서는 표준 Java 신뢰 저장소를 기반으로 사용자 정의 신뢰 저장소를 사용하므로 표준 클라이언트만큼 완성되지 않기 때문에 보안 위험으로 간주될 수 있습니다.
ssl.keymanager.algorithm유형: 문자열
기본값: SunX509
중요: 낮음
SSL 연결에 대해 키 관리자 팩토리에서 사용하는 알고리즘입니다. 기본값은 Java Virtual Machine에 대해 구성된 키 관리자 팩토리 알고리즘입니다.
ssl.secure.random.implementation유형: 문자열
기본값: null
Importance: low
SSL 암호화 작업에 사용할 SecureRandom PRNG 구현
ssl.trustmanager.algorithm유형: 문자열
기본값: PKIX
Importance: low
SSL 연결에 대해 신뢰 관리자 팩토리에서 사용하는 알고리즘입니다. 기본값은 Java 가상 머신에 대해 구성된 신뢰 관리자 팩토리 알고리즘입니다.
status.storage.partitions유형: int
default: 5
유효한 값: Positive number, -1 to use the broker's default
Importance: low
상태 스토리지 주제를 생성할 때 사용되는 파티션 수입니다.
status.storage.replication.factor유형: short
default: 3
유효한 값: Kafka 클러스터의 브로커 수보다 크지 않은 잠재적 숫자 또는 -1을 입력하여 브로커의 기본값
가져오기를 사용합니다.
상태 스토리지 주제를 생성할 때 사용되는 복제 요인입니다.
task.shutdown.graceful.timeout.ms유형: long
기본값: 5000 (5초)
중요도: 낮음
작업이 정상적으로 종료될 때까지 대기하는 시간입니다. 이는 작업이 아닌 총 시간입니다. 모든 작업이 중단된 후 순차적으로 대기합니다.
topic.creation.enable유형: 부울
기본값: true
Importance: low
소스 커넥터에서 사용하는 주제 자동 생성을 허용할지 여부, 소스 커넥터가
topic.creation.속성으로 구성되는 경우. 각 작업에서는 관리 클라이언트를 사용하여 주제를 생성하고 Kafka 브로커에 따라 주제를 자동으로 생성하지 않습니다.topic.tracking.allow.reset유형: 부울
기본값: true
Importance: low
true로 설정하면 사용자 요청이 커넥터당 활성 항목 집합을 재설정할 수 있습니다.
topic.tracking.enable유형: 부울
기본값: true
Importance: low
런타임 중에 커넥터당 활성 항목 집합을 추적할 수 있습니다.
7장. Kafka Streams 구성 속성 링크 복사링크가 클립보드에 복사되었습니다!
application.id유형: 문자열
Importance: high
스트림 처리 애플리케이션의 식별자입니다. Kafka 클러스터 내에서 고유해야 합니다. 1) 기본 클라이언트-id 접두사, 2) 멤버십 관리의 group-id, 3) 변경 로그 주제 접두사로 사용됩니다.
bootstrap.servers유형: list
Importance: high
Kafka 클러스터에 대한 초기 연결을 설정하는 데 사용할 호스트/포트 쌍 목록입니다. 클라이언트는 부트스트랩을 위해 여기에 지정된 서버를 여기에 관계없이 모든 서버를 사용합니다. 이 목록은 전체 서버 세트를 검색하는 데 사용되는 초기 호스트에만 영향을 미칩니다. 이 목록은
host1:port1,host2:port2,…이어야 합니다. 이러한 서버는 초기 연결에서 전체 클러스터 멤버십을 검색하는 데만 사용되므로(동적으로 변경될 수 있음) 이 목록에는 전체 서버 세트가 포함되지 않아도 됩니다(서버가 다운된 경우 하나 이상 필요).num.standby.replicas유형: int
기본값: 0
Importance: high
각 작업의 대기 복제본 수입니다.
state.dirtype: string
Default: /tmp/kafka-streams
Importance: high
상태 저장소의 디렉터리 위치입니다. 이 경로는 동일한 기본 파일 시스템을 공유하는 각 스트림 인스턴스에 대해 고유해야 합니다.
acceptable.recovery.lag유형: long
기본값: 10000
유효한 값: [0,…]
중요도: 중간
클라이언트가 활성 작업 할당을 받을 수 있을 만큼의 캡처된 최대 지연(최대 허용된 지연 수)입니다. 할당 시 처리 전에 나머지 변경 로그를 복원합니다. 리밸런스 중에 처리 일시 중지를 방지하려면 이 구성은 지정된 워크로드에 대해 1분 미만의 복구 시간에 해당해야 합니다. 최소 0이어야 합니다.
cache.max.bytes.buffering유형: long
기본값: 10485760
유효한 값: [0,…]
중요: 중간
모든 스레드에서 버퍼링에 사용할 최대 메모리 바이트 수입니다.
client.idtype: string
Default: ""
Importance: medium
내부 [main-|restore-|global-]consumer, producer 및 admin 클라이언트의 클라이언트 ID에 사용되는 ID 접두사 문자열 <
client.id>-[Global]StreamThread[-<threadSequenceNumber$gt;]-<consumer|restore-consumer|global-consumer> .default.deserialization.exception.handler유형: class
Default: org.apache.kafka.streams.errors.LogAndFailExceptionHandler
Importance: medium
org.apache.kafka.streams.errors.DeserializationExceptionHandler인터페이스를 구현하는 예외 처리 클래스입니다.default.key.serde유형: class
Default: null
Importance: medium
org.apache.kafka.common.serialization.Serde인터페이스를 구현하는 키에 대한 기본 serializer / deserializer 클래스입니다. windowed serde 클래스를 사용할 때 'default.windowed.key.serde.inner' 또는 'default.windowed.value.serde.inner'를 통해org.apache.kafka.common.serialization.Serde인터페이스를 구현하는 내부 serde 클래스를 설정해야 합니다.default.list.key.serde.inner유형: class
Default: null
Importance: medium
org.apache.kafka.common.serialization.Serde인터페이스를 구현하는 키에 대한 기본 내부 목록 serde 클래스입니다. 이 구성은default.key.serde구성이org.apache.kafka.common.serialization.Serdes.ListSerde로 설정된 경우에만 읽습니다.default.list.key.serde.type유형: class
Default: null
Importance: medium
java.util.List인터페이스를 구현하는 키에 대한 기본 클래스입니다. 이 구성은 목록 serde 클래스를 사용할 때default.key.serde구성이org.apache.kafka.common.serialization.ListSerde로 설정된 경우에만 읽습니다. 'default.key.common.serialization.Serde'를 통해org.apache.kafka.common.serialization.Serde인터페이스를 구현하는 내부 serde 클래스를 설정해야 합니다.default.list.value.serde.inner유형: class
Default: null
Importance: medium
org.apache.kafka.common.serialization.Serde인터페이스를 구현하는 값에 대한 기본 내부 목록 serde 클래스입니다. 이 구성은default.value.serde구성이org.apache.kafka.common.serialization.Serdes.ListSerde로 설정된 경우에만 읽습니다.default.list.value.serde.type유형: class
Default: null
Importance: medium
java.util.List인터페이스를 구현하는 값의 기본 클래스입니다. 이 구성은 목록 serde 클래스를 사용할 때default.value.serde구성이org.apache.kafka.common.serialization.Serde로 설정된 경우에만 읽기됩니다. 목록serde 클래스를 사용하면 'default.list.common.serialization.Serde 인터페이스를 통해org.apache.kafka.common.serialization.Serde인터페이스를 구현하는 내부 serde 클래스를 설정해야 합니다.default.production.exception.handler유형: class
Default: org.apache.kafka.streams.errors.DefaultProductionExceptionHandler
Importance: medium
org.apache.kafka.streams.errors.ProductionExceptionHandler인터페이스를 구현하는 예외 처리 클래스입니다.default.timestamp.extractor유형: class
Default: org.apache.kafka.streams.processor.FailOnInvalidTimestamp
Importance: medium
org.apache.kafka.streams.processor.TimestampExtractor인터페이스를 구현하는 기본 타임스탬프 추출기 클래스입니다.default.value.serde유형: class
Default: null
Importance: medium
org.apache.kafka.common.serialization.Serde인터페이스를 구현하는 값에 대한 기본 serializer / deserializer 클래스입니다. windowed serde 클래스를 사용할 때 'default.windowed.key.serde.inner' 또는 'default.windowed.value.serde.inner'를 통해org.apache.kafka.common.serialization.Serde인터페이스를 구현하는 내부 serde 클래스를 설정해야 합니다.max.task.idle.ms유형: long
기본값: 0
Importance: medium
이 구성에서는 조인과 병합이 순서가 없는 결과를 생성할 수 있는지 여부를 제어합니다. config 값은 스트림 작업이 일부(모든) 입력 파티션이 추가 레코드를 보내고 여러 입력 스트림에서 주문 아웃 레코드 처리를 방지할 때까지 대기할 때 스트림 작업이 유휴 상태로 유지되는 최대 시간(밀리초)입니다. 기본값(영)은 생산자가 더 많은 레코드를 보낼 때까지 기다리지 않지만 브로커에 이미 존재하는 데이터를 가져올 때까지 기다립니다. 이 기본값은 브로커에 이미 존재하는 레코드의 경우 Streams가 타임스탬프 순서로 처리합니다. 유휴 상태를 완전히 비활성화하고 로컬에서 사용 가능한 데이터를 처리하려면 -1로 설정합니다. 이렇게 하면 순서가 부족해질 수 있습니다.
max.warmup.replicas유형: int
기본값: 2
유효한 값: [1,…]
Importance: medium
하나의 인스턴스에서 작업을 사용할 수 있도록 한 번에 할당할 수 있는 최대 웜업 복제본 수(구성된 num.standbys 이외의 추가 대기 시간)는 다시 할당되었습니다. 고가용성에 사용할 수 있는 추가 브로커 트래픽 및 클러스터 상태를 제한하는 데 사용됩니다. 하나의 워밍업 복제본이 하나의 Stream Task에 해당한다는 점에 유의하십시오. 또한 각 웜업 복제본은 리밸런스 중에 활성 작업으로만 승격할 수 있습니다(일반적으로
probing.rebalance.ms구성에 의해 지정된 빈도에서 발생하는 재조정 중). 즉, 하나의 Kafka Streams 인스턴스에서 다른 인스턴스로 활성 작업을 마이그레이션할 수 있는 최대 속도를 (max.warmup.replicas/probing.rebalance.interval.ms)로 결정할 수 있습니다.num.stream.threads유형: int
기본값: 1
Importance: medium
스트림 처리를 실행할 스레드 수입니다.
processing.guaranteetype : string
default: at_least_once
유효한 값: [at_least_once, exactly_once, exactly_once_beta, exactly_once_v2]
Importance: medium
이를 사용해야 하는 처리 보증입니다. 가능한 값은
at_least_once(기본값) 및exactly_once_v2입니다(개체 버전 2.5 이상 필요). 더 이상 사용되지 않는 옵션은exactly_once( 브로커 버전 0.11.0 이상 필요) 및exactly_once_beta(개체 버전 2.5 이상 필요)입니다. exactly-once 처리에는 기본적으로 3개 이상의 브로커 클러스터가 필요합니다. 개발의 경우 브로커 설정transaction.state.log.replication.factor및transaction.state.log.min.isr을 조정하여 이 설정을 변경할 수 있습니다.rack.aware.assignment.non_overlap_cost유형: int
default: null
Importance: medium
기존 할당에서 작업을 이동하는 것과 관련된 비용입니다. 이 config 및
rack.aware.assignment.traffic_cost는 최적화 알고리즘이 랙 트래픽을 최소화하거나 기존 할당에서 작업 이동을 최소화할 수 있는지 여부를 제어합니다. 더 큰 값을 설정하면org.apache.kafka.streams.processor.internals.assignment.RackAwareTaskAssignor가 기존 할당을 유지하기 위해 최적화됩니다. 기본값은 null입니다. 즉, 다른 할당에서 기본 non_overlap 비용 값을 사용합니다.rack.aware.assignment.strategytype: string
default: none
유효한 값: [none, min_traffic, balance_subtopology]
Importance: medium
랙 인식 할당에 사용하는 전략입니다. Rack aware assignment은 교차 랙 트래픽을 최소화하기 위해 작업을 할당할 때
client.rack및racks의 Topics를 고려합니다.유효한 설정은 :none(기본값)으로 랙 인식 할당을 비활성화합니다.min_traffic는 최소 랙 트래픽 할당을 계산합니다.balance_subtopology는 최소 랙 트래픽을 계산하고 다른 클라이언트에서 동일한 하위 정책을 조정하려고 합니다.rack.aware.assignment.tagstype: list
default: ""
유효한 값: 최대 5개의 요소가 포함된 목록
중요도: medium
Kafka Streams 인스턴스에 대기 복제본을 배포하는 데 사용되는 클라이언트 태그 키 목록입니다. Kafka Streams를 구성하면 각 클라이언트 태그 크기에 대기 작업을 배포하는 데 가장 적합한 작업이 생성됩니다.
rack.aware.assignment.traffic_cost유형: int
default: null
Importance: medium
교차 랙 트래픽과 관련된 비용입니다. 이 config 및
rack.aware.assignment.non_overlap_cost는 최적화 알고리즘이 랙 트래픽을 최소화하거나 기존 할당에서 작업 이동을 최소화할 수 있는지 여부를 제어합니다. 더 큰 값을 설정하면org.apache.kafka.streams.processor.internals.assignment.RackAwareTaskAssignor는 랙 트래픽을 최소화하기 위해 최적화됩니다. 기본값은 null입니다. 즉, 다른 할당자에서 기본 트래픽 비용 값을 사용합니다.replication.factor유형: int
기본값: -1
Importance: medium
스트림 처리 애플리케이션에서 만든 변경 로그 주제 및 다시 분할 주제의 복제 요소입니다. 기본값
-1(즉, 브로커 기본 복제 요소 사용)에는 브로커 버전 2.4 이상이 필요합니다.security.protocol유형: 문자열
기본값: PLAINTEXT
유효한 값: (대소문자 구분) [SASL_SSL, PLAINTEXT, SSL, SASL_PLAINTEXT]
Importance: medium
브로커와 통신하는 데 사용되는 프로토콜입니다. 유효한 값은 PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL입니다.
statestore.cache.max.bytes유형: long
기본값: 10485760(10bibytes)
유효한 값: [0,…]
Importance: medium
모든 스레드의 상태 저장소 캐시에 사용할 최대 메모리 바이트 수입니다.
task.timeout.ms유형: long
기본값: 300000 (5분)
유효한 값: [0,…]
중요: 중간
내부 오류로 인해 작업이 중단될 수 있는 최대 시간(밀리초)입니다. 오류가 발생할 때까지 재시도할 수 있습니다. 시간 초과 0ms의 경우 작업에서 첫 번째 내부 오류에 오류가 발생했습니다. 0ms보다 큰 시간 초과의 경우 오류가 발생하기 전에 작업은 한 번 이상 재시도합니다.
topology.optimizationtype : string
default: none
Valid Values: org.apache.kafka.streams.StreamsConfig$$Lambda$31/0x00007f269c00d000@7e32c033
Importance: medium
토폴로지와 적용할 최적화를 최적화해야 하는 경우 Kafka Streams에 지시하는 구성입니다. 허용 가능한 값은 "NO_OPTIMIZATION", "OPTIMIZE" 또는 특정 최적화의 쉼표로 구분된 목록("REUSE_K Cryostat_SOURCE_TOPICS", "MERGE_RE CryostatITION_TOPICS" + "SINGLE_STORE_JOIN+")입니다.
application.server유형: 문자열
기본값: ""
중요도: 낮음
이 KafkaStreams 인스턴스의 상태 저장소 검색 및 대화형 쿼리에 사용할 수 있는 사용자 정의 엔드포인트를 가리키는 host:port 쌍입니다.
auto.include.jmx.reporter유형: 부울
기본값: true
Importance: low
더 이상 사용되지 않습니다.
metric.reporters에 나열되지 않은 경우에도 JmxReporter를 자동으로 포함할지 여부입니다. 이 구성은 Kafka 4.0에서 제거되며 대신 JmxReporter를 활성화하려면metric.reporters에org.apache.kafka.common.metrics.JmxReporter를 포함해야 합니다.buffered.records.per.partition유형: int
기본값: 1000
Importance: low
파티션당 버퍼링할 최대 레코드 수입니다.
built.in.metrics.version유형: 문자열
기본값: latest
올바른 값: [latest]
Importance: low
사용할 기본 제공 메트릭의 버전입니다.
commit.interval.ms유형: long
기본값: 30000(30초)
유효한 값: [0,…]
중요도: 낮음
처리 진행 상황을 커밋하는 빈도(밀리초)입니다. at-least-once 처리의 경우 커밋은 프로세서의 위치(예: 오프셋)를 저장하는 것을 의미합니다. 정확하게 처리를 위해 위치를 저장하고 출력 항목에 커밋된 데이터를 격리 수준 read_committed가 있는 소비자에 표시되도록 하는 트랜잭션을 커밋해야 합니다. (참고:
processing.guarantee가exactly_once_v2,exactly_once, 기본값은100, 그렇지 않으면 기본값은30000.connections.max.idle.ms유형: long
기본값: 540000 (9 분)
중요도: 낮음
이 구성에서 지정한 시간(밀리초) 후에 유휴 연결을 종료합니다.
default.client.supplier유형: class
Default: org.apache.kafka.streams.processor.internals.DefaultKafkaClientSupplier
Importance: low
org.apache.kafka.streams.KafkaClientSupplier인터페이스를 구현하는 클라이언트 공급자 클래스입니다.default.dsl.storetype: string
default: rocksDB
Valid Values: [rocksDB, in_memory]
Importance: low
DSL 운영자가 사용하는 기본 상태 저장소 유형입니다.
dsl.store.suppliers.class유형: class
Default: org.apache.kafka.streams.state. builtInDslStoreSuppliers$RocksDBDslStoreSuppliers
Importance: low
DSL Operator에 연결할 구현을 정의합니다.
org.apache.kafka.streams.state.DslStoreSuppliers인터페이스를 구현해야 합니다.enable.metrics.push유형: 부울
기본값: true
Importance: low
클러스터에 클라이언트와 일치하는 클라이언트 메트릭 서브스크립션이 있는 경우 내부 [main-|restore-|global]consumer, producer 및 admin 클라이언트 메트릭을 푸시할 수 있는지 여부입니다.
metadata.max.age.ms유형: long
기본값: 300000 (5분)
유효한 값: [0,…]
중요: 낮음
파티션 리더십 변경 사항을 보지 못하더라도 새 브로커 또는 파티션을 사전에 검색하지 못한 경우에도 메타데이터를 강제로 새로 고침한 후 밀리초 단위입니다.
metric.reporterstype: list
default: ""
Importance: low
메트릭 보고자로 사용할 클래스 목록입니다.
org.apache.kafka.common.metrics.MetricsReporter인터페이스를 구현하면 새 메트릭 생성을 알리는 클래스를 연결할 수 있습니다. JmxReporter는 항상 statistics를 등록하기 위해 포함되어 있습니다.metrics.num.samples유형: int
기본값: 2
유효한 값: [1,…]
중요도: 낮음
컴퓨팅 메트릭에 유지 관리되는 샘플 수입니다.
metrics.recording.level유형: 문자열
기본값: INFO
유효한 값: [INFO, DEBUG, TRACE]
Importance: low
메트릭의 가장 높은 레코딩 수준입니다.
metrics.sample.window.ms유형: long
기본값: 30000(30초)
유효한 값: [0,…]
중요도: 낮음
메트릭 샘플이 계산되는 시간입니다.
poll.ms유형: long
기본값: 100
중요도: 낮음
입력 대기를 차단하는 시간(밀리초)입니다.
probing.rebalance.interval.ms유형: long
기본값: 600000(10분)
유효한 값: [60000,…]
Importance: low
온난화를 완료하고 활성화될 준비가 된 웜업 복제본을 프로브하도록 리밸런스를 트리거하기 전에 대기하는 최대 시간(밀리초)입니다. 재조정은 할당의 균형을 조정할 때까지 계속 트리거됩니다. 최소 1분 이상이어야 합니다.
receive.buffer.bytes유형: int
기본값: 32768(32kibibytes)
유효한 값: [-1,…]
Importance: low
데이터를 읽을 때 사용할 TCP 수신 버퍼(SO_RCVBUF)의 크기입니다. 값이 -1이면 OS 기본값이 사용됩니다.
reconnect.backoff.max.ms유형: long
기본값: 1000 (1 second)
유효한 값: [0,…]
중요도: 낮음
반복적으로 연결하지 못한 브로커에 다시 연결할 때 대기하는 최대 시간(밀리초)입니다. 제공된 경우 호스트당 백오프는 연속되는 각 연결 오류에 대해 이 최대값까지 기하급수적으로 증가합니다. 백오프 증가를 계산한 후 연결 측정을 방지하기 위해 20%의 임의 지터가 추가됩니다.
reconnect.backoff.ms유형: long
기본값: 50
유효한 값: [0,…]
중요도: 낮음
지정된 호스트에 다시 연결하기 전에 대기하는 기본 시간입니다. 이렇게 하면 하드 루프로 호스트에 반복적으로 연결하는 것을 방지할 수 있습니다. 이 백오프는 클라이언트가 브로커에 대한 모든 연결 시도에 적용됩니다. 이 값은 초기 backoff 값이며,
reconnect.backoff.max.ms값까지 연속된 각 연결 오류에 대해 기하급수적으로 증가합니다.repartition.purge.interval.ms유형: long
기본값: 30000(30초)
유효한 값: [0,…]
중요도: 낮음
다시 분할 주제에서 완전히 사용되는 레코드를 삭제하는 데 걸리는 시간(밀리초)입니다. 삭제는 마지막 제거 이후 적어도 이 값 후에 발생하지만 나중에는 지연될 수 있습니다. (참고:
commit.interval.ms와 달리 이 값의 기본값은processing.guarantee가exactly_once_v2로 설정될 때 변경되지 않습니다.request.timeout.ms유형: int
기본값: 40000(40초)
유효한 값: [0,…]
중요: 낮음
구성은 클라이언트가 요청 응답을 기다리는 최대 시간을 제어합니다. 시간 초과가 경과하기 전에 응답을 수신하지 않으면 필요한 경우 클라이언트가 요청을 다시 전송하거나 재시도가 소진되면 요청을 다시 보냅니다.
재시도유형: int
기본값: 0
유효한 값: [0,…,2147483647]
Importance: low
값을 0보다 크게 설정하면 클라이언트가 일시적인 오류와 함께 실패하는 모든 요청을 다시 보냅니다. 값을 0 또는
MAX_VALUE로 설정하고 해당 시간 초과 매개변수를 사용하여 클라이언트가 요청을 재시도하는 기간을 제어하는 것이 좋습니다.retry.backoff.ms유형: long
기본값: 100
유효한 값: [0,…]
중요도: 낮음
지정된 주제 파티션에 대한 실패한 요청을 재시도하기 전에 대기하는 시간입니다. 이렇게 하면 일부 실패 시나리오에서 엄격한 루프로 요청을 반복적으로 보내는 것을 방지할 수 있습니다. 이 값은 초기 backoff 값이며,
retry.backoff.max.ms값까지 실패한 각 요청에 대해 기하급수적으로 증가합니다.rocksdb.config.setter유형: class
Default: null
Importance: low
org.apache.kafka.streams.state.RocksDBConfigSetter인터페이스를 구현하는 Rocks DB 구성 setter 클래스 또는 클래스 이름입니다.send.buffer.bytes유형: int
기본값: 131072(128 kibibytes)
유효한 값: [-1,…]
Importance: low
데이터를 전송할 때 사용할 TCP 전송 버퍼(SO_SNDBUF)의 크기입니다. 값이 -1이면 OS 기본값이 사용됩니다.
state.cleanup.delay.ms유형: long
기본값: 600000 (10분)
중요도: 낮음
파티션이 마이그레이션될 때 상태를 삭제하기 전에 대기하는 시간(밀리초)입니다. 적어도
state.cleanup.delay.ms에 대해 수정되지 않은 상태 디렉터리만 제거됩니다.upgrade.from유형: 문자열
default: null
유효한 값: [null, 0.10.0, 0.10.2, 0.10.2, 0.11.0, 1.0, 1.1, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6]
가져오기: 낮음
이전 버전과 호환되는 방식으로 업그레이드할 수 있습니다. 이는 [0.10.0, 1.1]에서 2.0 이상으로 업그레이드하거나 [2.0, 2.3]에서 2.4+로 업그레이드할 때 필요합니다. 3.3에서 최신 버전으로 업그레이드할 때 이 구성을 지정할 필요가 없습니다. 기본값은
null입니다. 허용되는 값은 "0.10.0", "0.10.1", "0.10.2", "0.11.0", "1.0", "1.1", "2.0", "2.1", "2.2", "2.3", "2.5", "2.5", "2.6", "2.7", "2.7", "2.8", "2.7"입니다. "3.0", "3.1", "3.2", "3.3", "3.4", "3.5", "3.6(해당 이전 버전에서 업그레이드하기 위해)window.size.ms유형: long
default: null
Importance: low
창 끝 시간을 계산하기 위해 역직렬화기의 창 크기를 설정합니다.
windowed.inner.class.serde유형: 문자열
기본값: null
Importance: low
창 지정된 레코드의 내부 클래스에 대한 기본 직렬화기 / deserializer입니다.
org.apache.kafka.common.serialization.Serde인터페이스를 구현해야 합니다. 이 구성을 KafkaStreams 애플리케이션에서 설정하면 Plain 소비자 클라이언트에서만 사용하므로 오류가 발생합니다.windowstore.changelog.additional.retention.ms유형: long
기본값: 86400000 (1 day)
중요: 낮음
로그에 조기에 데이터가 삭제되지 않도록 Windows maintainMs에 추가되었습니다. 클럭 드리프트를 허용합니다. 기본값은 1일입니다.
부록 A. 서브스크립션 사용 링크 복사링크가 클립보드에 복사되었습니다!
AMQ Streams는 소프트웨어 서브스크립션을 통해 제공됩니다. 서브스크립션을 관리하려면 Red Hat 고객 포털에서 계정에 액세스하십시오.
계정 액세스
- access.redhat.com 으로 이동합니다.
- 계정이 없는 경우 계정을 생성합니다.
- 계정에 로그인합니다.
서브스크립션 활성화
- access.redhat.com 으로 이동합니다.
- 내 서브스크립션 으로 이동합니다.
- 서브스크립션 활성화로 이동하여 16자리 활성화 번호를 입력합니다.
Zip 및 Tar 파일 다운로드
zip 또는 tar 파일에 액세스하려면 고객 포털을 사용하여 다운로드할 관련 파일을 찾습니다. RPM 패키지를 사용하는 경우 이 단계는 필요하지 않습니다.
- 브라우저를 열고 Red Hat Customer Portal 제품 다운로드 페이지에 access.redhat.com/downloads.
- INTEGRATION 및 AUTOMATION 카테고리에서 AMQ Streams for Apache Kafka 항목을 찾습니다.
- 원하는 AMQ Streams 제품을 선택합니다. 소프트웨어 다운로드 페이지가 열립니다.
- 구성 요소에 대한 다운로드 링크를 클릭합니다.
DNF를 사용하여 패키지 설치
패키지 및 모든 패키지 종속 항목을 설치하려면 다음을 사용합니다.
dnf install <package_name>
dnf install <package_name>
로컬 디렉터리에서 이전에 다운로드한 패키지를 설치하려면 다음을 사용합니다.
dnf install <path_to_download_package>
dnf install <path_to_download_package>
2024-04-24에 최종 업데이트된 문서