2020년 9월 20일 일요일

Apache Kafka [3] server.properties 환경설정


* https://www.ibm.com/support/knowledgecenter/ko/SSPFMY_1.3.5/com.ibm.scala.doc/config/iwa_cnf_scldc_kfk_prp_exmpl_c.html


$ vi /usr/local/kafka/config/server.properties


[ Server Basics ]

broker.id=1 : 브로커를 구분하기위한 ID


[ Socket Server Settings ]

listeners=PLAINTEXT://:9092 : 카프카 소켓서버가 수신하는 주소. 기본포트는 9092

num.network.threads=3 : 네트워크 요청을 처리하는 데 사용되는 스레드 수

num.io.threads=8 : 입력 및 출력 조작에 사용되는 스레드의 수

socket.send.buffer.bytes=102400 : 소켓서버가 사용하는 전송버퍼의 크기

socket.receive.buffer.bytes=102400 : 소켓서버가 사용하는 수신버퍼의 크기

socket.request.max.bytes=104857600 : 소켓 서버가 수락하는 요청의 최대 크기, Out Of Memory를 방지

queued.max.requests=16 : 네트워크 스레드가 차단되기 전에 허용되는 최대 스레드 수


[ Log Basics ]

log.dirs=/data1,/data2 : 로그 파일을 저장하려는 디렉토리

num.partitions=1 : 토픽당 기본 파티션의 수. 파티션이 많을수록 메세지 소비가 더 많은 병렬처리가 된다. 그러나 기본적으로 서버의 물리적 프로세서 수의 절반정도를 권한다. 예를 들어 8개의 프로세서가 있으면 4개로 지정

num.recovery.threads.per.data.dir=1 : 각 데이터 디렉토리에 대한 로그 복구에 사용되는 스레드 수

log.index.size.max.bytes=154624 : 오프셋 색인의 최대 크기

log.index.interval.bytes=4096 : 오프셋 색인에 추가되는 간격바이트

message.max.bytes=1000000 : 서버가 수신할 수 있는 메시지의 최대 크기

auto.create.topics.enable=true : 서버에서 토픽을 자동 생성 ( 존재하지 않는 토픽으로 메세지 보낼시 )


[ Internal Topic Settings ]

offsets.topic.replication.factor=1 : 

transaction.state.log.replication.factor=1 :

transaction.state.log.min.isr=1 : 

그룹 메타데이터 _consumer_offsets 과 _transaction_state에 대한 복제관련 설정 


Log Flush Policy ]

log.flush.interval.messages=10000 : 메시지가 플러시되기 전에 누적될 수 있는 최대 메시지 수

log.flush.interval.ms=1000 : 메시지가 플러시되기 전에 메모리에 유지할 수 있는 최대 시간

log.flush.scheduler.interval.ms=2000 : 로그가 플레시 되는 간격


Log Retention Policy ]

log.retention.hours=168 : 저장된 로그 보관시간

log.retention.bytes=1073741824 : 지정된 로그에서 보존되어야 하는 바이트 수

log.segment.bytes=1073741824 : 저장되는 로그파일 하나의 크기

log.retention.check.interval.ms=300000 : 로그 보관주기 체크시간

log.cleaner.enable=false : 로그 클리너사용. 설정 시 로그 보존 정책에서 지정된 보존 기간이 만료된 후 로그가 삭제됨


[ Zookeeper ] 

zookeeper.connect=hadoop01:2181,hadoop02:2181,hadoop03:2181/hadoop-kafka : 주키퍼 접속 정보

zookeeper.connection.timeout.ms=6000 : 브로커와 주키퍼 사이의 최대 연결 대기시간. 연결되지 않으면 타임아웃 발생


[ Group Coordinator Settings ]
group.initial.rebalance.delay.ms=0 : Group Coordinator가 초기 컨수머 재조정 시키는 시간. 개발 및 테스트를 위해 딜레이 없는 0으로 정의. 볼륨이 큰 운영환경에서는 3초 권장

댓글 없음:

댓글 쓰기