kafka 고가 용 집단 구축 절차
12122 단어 짜임새
기계 배치
기계 ip 주소: 10.16.18.213;10.16.18.214
Kafka 버 전 정보
kafka 버 전: kafka2.11 - 1.0.0 zookeeper 버 전: kafka 자체 테이프 의 zookeeper 다운로드 주소 사용:http://archive.apache.org/dist/kafka/1.0.0/kafka_2.11-1.0.0.tgz
Broker
네 개의 broker 를 예 로 들 면, 한 대의 기계 가 두 개의 broker 를 운행 하고, 설정 포트 를 통 해 현재 zookeeper 를 사용 하지 않 았 으 며, 깊이 연구 해 야 합 니 다 ~ 이번 테스트 의 모든 broker 는 10.16.18.213: 2181 의 zookeeper 를 사용 합 니 다.
broker1
broker2
broker3
broker4
brokerId
1
2
11
12
ip
10.16.18.213
10.16.18.213
10.16.18.214
10.16.18.214
포트
9093
9094
9093
9094
메시지 저장 경로
/root/kafka/kafka_2.11-1.0.0/data1
/root/kafka/kafka_2.11-1.0.0/data2
/root/kafka/kafka_2.11-1.0.0/data1
/root/kafka/kafka_2.11-1.0.0/data2
로그
/kafka_2.11-1.0.0/logs
/kafka_2.11-1.0.0/logs
/kafka_2.11-1.0.0/logs
/kafka_2.11-1.0.0/logs
zookeeper
10.16.18.213:2181
10.16.18.213:2181
10.16.18.213:2181
10.16.18.213:2181
로그
콘 솔 출력 로 그 는
kafka_2.11-1.0.0/logs
에 저 장 됩 니 다. 시작 에 실패 하면 실패 원인 을 볼 수 있 습 니 다.logs 디 렉 터 리 에 다음 로그 파일 포함# kafka ,
controller.log
# Kafka
kafka-authorizer.log
#
kafka-request.log
# kafkaGC
kafkaServer-gc.log.0.current
# kafka
kafkaServer.out
#
log-cleaner.log
#kafkaAppender appender layout
server.log
# Kafka
state-change.log
# zookeeper GC
zookeeper-gc.log.0.current
# zookeeper
zookeeper.out
기억
kafka 의 메시지 저장 경 로 는
config/server.properties
중의 log.dirs
을 통 해 설정 합 니 다.하나의 topic 는 여러 개의 partition 으로 나 눌 수 있 고, partition 은 segment 로 세분 화 할 수 있 으 며, 하나의 partition 은 물리 적 으로 여러 개의 segment 로 구성 된다.
파 티 션 이 4 로 설정 되 었 을 때
log.dirs
디 렉 터 리 아래 폴 더 를 볼 수 있 습 니 다.drwxr-xr-x 2 root root 4096 Apr 10 16:10 topic_zzh_test-0
drwxr-xr-x 2 root root 4096 Apr 10 16:10 topic_zzh_test-1
drwxr-xr-x 2 root root 4096 Apr 10 16:10 topic_zzh_test-2
drwxr-xr-x 2 root root 4096 Apr 10 16:10 topic_zzh_test-3
partition 폴 더 에 저 장 된
00000000000000000000.index
00000000000000000000.log
00000000000000170410.index
00000000000000170410.log
00000000000000239430.index
00000000000000239430.log
partition 전역 의 첫 번 째 segment 는 0 부터 시작 합 니 다. 다음 segment 파일 이름 은 이전 segment 파일 의 마지막 메시지 의 offset 값 입 니 다. 수치 크기 는 64 비트, 20 비트 디지털 문자 길이 이 며 숫자 는 0 으로 채 워 지지 않 습 니 다.
배치 하 다.
여기 서 broker 1 의 경우 다른 broker 는 수정
broker.id
listeners``host.name
advertised.listeners
log.dirs
등 매개 변 수 를 수정 해 야 합 니 다. 여러 개의 zookeeper 를 설정 하면 수정 zookeeper.connect
이 필요 합 니 다.# broker ID
broker.id=1
############# Socket Server Settings #############
# 0.0.0.0 。 。 > :PLAINTEXT:// myhost:9092,SSL://:9091 CLIENT://0.0.0.0:9092,REPLICATION>:// localhost:9093
listeners=PLAINTEXT://:9093
# : `listeners` 。 `listeners` 。 broker , 。 , 。
host.name=10.16.18.213
# ZooKeeper , `listeners` 。 IaaS , broker 。 , `listeners` 。 `listeners` , 0.0.0.0 。
advertised.listeners=PLAINTEXT://10.16.18.213:9093
#
num.network.threads=3
# , I/O
num.io.threads=8
# socket SO_SNDBUF 。 -1, 。
socket.send.buffer.bytes=102400
# socket SO_RCVBUFF 。 -1, 。
socket.receive.buffer.bytes=102400
# socket , server , Java 。
socket.request.max.bytes=104857600
############## Log Basics ############
# , log.dir 。
log.dirs=/root/kafka/kafka_2.11-1.0.0/data1
# topic partitions
num.partitions=1
# ,
num.recovery.threads.per.data.dir=1
############ Internal Topic Settings ##########
# offset topic ( , )。 , topic ,。
offsets.topic.replication.factor=3
# topic ( , )。 topic , 。
transaction.state.log.replication.factor=3
# ISR
transaction.state.log.min.isr=2
################ Log Retention Policy ################
# : compact
log.cleanup.policy=delete
# 30
log.retention.minutes=30
#
log.segment.bytes=1073741824
# ( )
log.retention.check.interval.ms=300000
################## Zookeeper #################
# Zookeeper "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"
zookeeper.connect=10.16.18.213:2181
# ZK server , zookeeper.session.timeout.ms
zookeeper.connection.timeout.ms=6000
######### Group Coordinator Settings ###############
# ,group consumer group 。 > , 。
group.initial.rebalance.delay.ms=0
Topic
매개 변수
# topic
--relication-factor 3
# topic partitions
--partitions 1
# , request.required.acks -1 , , ISR min.insync.replicas , :org.apache.kafka.common.errors.NotEnoughReplicasExceptoin: Messages are rejected since there are fewer in-sync replicas than required。
-- config min.insync.replilcas=2
# partition replica , 。 :
#1 false ISR replica“ ” , leader
#2 true( ) “ ” replica( ISR ) leader
--config unclean.leader.election.enable=false
상용 명령
# topic
bin/kafka-topics.sh --create --zookeeper 10.16.18.213:2181 --replication-factor 3 --partitions 1 --config unclean.leader.election.enable=false --config min.insync.replicas=2 --topic command_topic
#
bin/kafka-console-producer.sh --broker-list 10.16.18.213:9094 --request-required-acks -1 --topic command_topic
#
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic my-replicated-topic
# Topic
bin/kafka-topics.sh --describe --zookeeper master:2181,slave1:2181,slave2:2181 --topic topic_name
# Topic
bin/kafka-topics.sh --delete --zookeeper master:2181,slave1:2181,slave2:2181 --topic topic_name
# Topic
bin/kafka-topics.sh --alter --zookeeper master:2181,slave1:2181,slave2:2181 --topic topic_name --partitions 3
# broker offset
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list 10.16.18.214:9093 -topic command_topic --time -1
# broker
./kafka-server-start.sh -daemon ../config/server2.properties
건설 공정
Kafka 다운로드
wget http://archive.apache.org/dist/kafka/1.0.0/kafka_2.11-1.0.0.tgz
tar -xzf kafka_2.11-1.0.0.tgz
cd kafka_2.11-1.0.0
Kafka 설정
위 에서 소개 한 카 프 카 의 설정 에 따라 설정
vim config/server.properties
# 213
# broker1
server1.properties
# broker2
server2.properties
broker.id
# 213 broker1
broker.id=1
PLAINTEXT://:9093
host.name=10.16.18.213
advertised.listeners=PLAINTEXT://10.16.18.213:9093
# 213 broker2
broker.id=2
PLAINTEXT://:9094
host.name=10.16.18.213
advertised.listeners=PLAINTEXT://10.16.18.213:9094
# 214 broker11
broker.id=11
PLAINTEXT://:9093
host.name=10.16.18.214
advertised.listeners=PLAINTEXT://10.16.18.214:9093
# 214 broker12
broker.id=12
PLAINTEXT://:9094
host.name=10.16.18.214
advertised.listeners=PLAINTEXT://10.16.18.214:9094
log.dirs
를 통 해 설정 해 야 합 니 다 zookeeper.connect=10.16.18.213:2181
시동 을 걸다
# 213 zookeeper
./bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
# broker
# 213
./bin/kafka-server-start.sh -daemon config/server1.properties
./bin/kafka-server-start.sh -daemon config/server2.properties
# 214
./bin/kafka-server-start.sh -daemon config/server1.properties
./bin/kafka-server-start.sh -daemon config/server2.properties
# topic
bin/kafka-topics.sh --create --zookeeper 10.16.18.213:2181,10.16.18.214:2181 --replication-factor 3 --partitions 1 --config unclean.leader.election.enable=false --config min.insync.replicas=2 --topic command_topic
#
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-replicated-topic
#
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic my-replicated-topic
Kafka Tool
을 사용 하여 서비스 상 태 를 보 거나 명령 으로 볼 수 있 습 니 다.bin/kafka-topics.sh --describe --zookeeper 10.16.18.213:2181,10.16.18.214:2181 --topic topic_name
고가 용 테스트 프로 세 스
설정: partitions 1, replication - factor 3 min. insync. replicas = 2
org.apache.kafka.common.errors.NotEnoughReplicasExceptoin: Messages are rejected since there are fewer in-sync replicas than required。
참고 문장
kafka 중국어 문서:http://kafka.apachecn.org/quickstart.html Kafka 로그 정리 로그 삭제https://blog.csdn.net/u013256816/article/details/80418297 kafka 데이터 신뢰성 깊이 해석https://hiddenpps.blog.csdn.net/article/details/71091774 kafka 군집 구축 (자체 Zookeeper)https://www.jianshu.com/p/898ad61c59fd
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
OpenResty 관련 nginx 및 lua 함수루 아 코드 를 어떻게 사용 하 는 지 소개 한다.두 가지 방법 이 있 습 니 다.첫 번 째, server 의 location 에 직접 삽입 합 니 다. Nginx subrequest 를 통 해 다른 location...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.