Kafka 클러스터 구축 및 보안 인증
22356 단어 kafka
Kafka 클러스터 구축 및 보안 인증
환경
시스템 버전: Centos7.4 kafka 버전: kafka_2.11-2.4.0 zookeeper 버전: zookeeper-3.5.7 JDK 버전: jdk1.8
서버: 192.168.1.101 192.168.1.1.102 192.168.1.103
배포 디렉터리/webapps/kafka/webapps/zookeeper
zookeeper 집단 배치 및 보안 인증
zookeeper 집단, 바로 프로필에 서로 가입하는 1.프로파일 수정
#192.168.1.101
vi /webapps/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/webapps/zookeeper_data/
clientPort=12181
server.1=0.0.0.0:12888:13888
server.2=192.168.1.102:12888:13888
server.3=192.168.1.103:12888:13888
##SASL ----
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000
##------
#192.168.1.102
vi /webapps/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/webapps/zookeeper_data/
clientPort=12181
server.1=192.168.1.101:12888:13888
server.2=0.0.0.0:12888:13888
server.3=192.168.1.103:12888:13888
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000
#192.168.1.103
vi /webapps/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/webapps/zookeeper_data/
clientPort=12181
server.1=192.168.1.101:12888:13888
server.2=192.168.1.102:12888:13888
server.3=0.0.0.0:12888:13888
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000
2. 매일 서버에 유일한 myid 이전 프로필의 디렉터리 dataDir=/webapps/zookeeper_ 추가data/
#192.168.1.101
cd /webapps/zookeeper_data
cat "1" > myid
#192.168.1.102
cd /webapps/zookeeper_data
cat "2" > myid
#192.168.1.103
cd /webapps/zookeeper_data
cat "3" > myid
3. 보안 인증 정보 파일 zk_ 추가server_jaas.conf
3대의 서버가 모두 같습니다.conf 파일은 임의의 위치에 놓을 수 있습니다
vi /webapps/zookeeper/conf/zk_server_jaas.conf
Server {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin"
user_kafka="kafka";
};
4. kafka 관련jar 패키지를 zookeeper로 가져오고 kafka/lib에서 관련jar 패키지를 zookeeper/lib로 복사하기
kafka-clients-1.1.1.jar
lz4-java-1.4.1.jar
slf4j-api-1.7.25.jar
slf4j-log4j12-1.7.25.jar
snappy-java-1.1.7.1.jar
5. bin/zkEnv를 수정합니다.sh, zk 시작 시 zk_ 읽기server_jaas.conf
vi /webapps/zookeeper/bin/zkEnv.sh
#
export SERVER_JVMFLAGS=" -Djava.security.auth.login.config=/webapps/zookeeper/conf/zk_server_jaas.conf"
6. bin/zkServer를 시작합니다.sh start
기타 명령 중지: bin/zkServer.sh stop 재부팅: bin/zkServer.sh restart 상태:bin/zkServer.sh status
kafka 집단 배치 및 안전 인증
1. 프로필 수정
#192.168.1.101
vi /webapps/kafka/config/server.properties
#
broker.id=1
listeners=SASL_PLAINTEXT://0.0.0.0:9092
#
advertised.listeners=SASL_PLAINTEXT://192.168.1.101:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
allow.everyone.if.no.acl.found=true
# topic, true
auto.create.topics.enable=false
#log
log.dirs=/webapps/kafka/logs
#
num.partitions=3
#topic offset
offsets.topic.replication.factor=3
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
# , topics
default.replication.factor=3
#zookeeper
zookeeper.connect=192.168.1.101:12181,192.168.1.102:12181,192.168.1.103:12181
#192.168.1.102
vi /webapps/kafka/config/server.properties
#
broker.id=2
listeners=SASL_PLAINTEXT://0.0.0.0:9092
#
advertised.listeners=SASL_PLAINTEXT://192.168.1.102:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
allow.everyone.if.no.acl.found=true
# topic, true
auto.create.topics.enable=false
#log
log.dirs=/webapps/kafka/logs
#
num.partitions=3
#topic offset
offsets.topic.replication.factor=3
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
# , topics
default.replication.factor=3
#zookeeper
zookeeper.connect=192.168.1.101:12181,192.168.1.102:12181,192.168.1.103:12181
#192.168.1.103
vi /webapps/kafka/config/server.properties
#
broker.id=3
listeners=SASL_PLAINTEXT://0.0.0.0:9092
# ----
advertised.listeners=SASL_PLAINTEXT://192.168.1.103:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
allow.everyone.if.no.acl.found=true
#----
# topic, true
auto.create.topics.enable=false
#log
log.dirs=/webapps/kafka/logs
#
num.partitions=3
#topic offset
offsets.topic.replication.factor=3
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
# , topics
default.replication.factor=3
#zookeeper
zookeeper.connect=192.168.1.101:12181,192.168.1.102:12181,192.168.1.103:12181
3. 보안 인증 정보 파일 추가 kafka_server_jaas.ff 3대의 서버가 같은 Kafka 서버 블록 중,kafka가 설정한 인증 정보 클라이언트 블록 중,zookeeper의 인증 정보,kafka 연결 zookeeper에 사용
vi /webapps/kafka/config/kafka_server_jaas.conf
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin"
user_kafka="kafka";
};
Client {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="kafka"
password="kafka";
};
4. kafka 시작 환경 변수 설정
vi /webapps/kafka/bin/kafka-run-class.sh
#
export KAFKA_HEAP_OPTS="-Xmx2G -Xms2G -Djava.security.auth.login.config=/webapps/kafka/config/kafka_server_jaas.conf"
5. bin/kafka-server-start를 시작합니다.sh -daemon config/server.properties
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Spring Cloud를 사용한 기능적 Kafka - 1부지금까지 찾을 수 없었던 Spring Cloud Kafka의 작업 데모를 만들기 위해 이 기사를 정리했습니다. Confluent 스키마 레지스트리 7.1.0 이 기사는 먼저 Spring Cloud Stream을 사용...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.