부록 E. 관리자 클라이언트 구성 매개변수
bootstrap.servers유형: list
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는 기본 메커니즘입니다.
security.protocol유형: 문자열
기본값: 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초)
중요도: 중간
클라이언트가 소켓 연결이 설정될 때까지 대기하는 시간입니다. 시간 초과가 경과하기 전에 연결이 빌드되지 않으면 클라이언트가 소켓 채널을 종료합니다.
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.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
중요도: 중간
신뢰 저장소 파일의 파일 형식입니다.
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,…]
중요도: 낮음
지정된 호스트에 다시 연결하기 전에 대기하는 기본 시간입니다. 이렇게 하면 하드 루프로 호스트에 반복적으로 연결하는 것을 방지할 수 있습니다. 이 백오프는 클라이언트가 브로커에 대한 모든 연결 시도에 적용됩니다.
재시도유형: int
기본값: 2147483647
유효한 값: [0,…,2147483647]
Importance: low
값을 0보다 크게 설정하면 클라이언트가 일시적인 오류와 함께 실패하는 모든 요청을 다시 보냅니다. 값을 0 또는
MAX_VALUE로 설정하고 해당 시간 초과 매개변수를 사용하여 클라이언트가 요청을 재시도하는 기간을 제어하는 것이 좋습니다.retry.backoff.ms유형: long
기본값: 100
유효한 값: [0,…]
중요도: 낮음
실패한 요청을 재시도하기 전에 대기하는 시간입니다. 이렇게 하면 일부 실패 시나리오에서 엄격한 루프로 요청을 반복적으로 보내는 것을 방지할 수 있습니다.
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.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에만 적용됩니다.
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입니다.
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 가상 머신에 대해 구성된 신뢰 관리자 팩토리 알고리즘입니다.