Kafka SASL/PLAIN 설정
1. 인증정보 conf 파일 구성
1) kafka_server_jaas.conf 생성
두 사용자(admin 및 alice)를 정의한다.
- 생성 위치:
../config/kafka_server_jaas.conf
1
2
3
4
5
6
7
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin-secret"
user_admin="admin-secret"
user_alice="alice-secret";
};
username, password: Super 유저 설정
user_[userName]=”[passwords]”
2. Server 설정
1) server.properties 편집
경로:
../config/server.properties
추가
1
2
3
4
listeners=SASL_PLAINTEXT://localhost:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
3. Server 인증정보 conf 파일 설정
에디터로 파일을 열고 JAAS 구성 파일 위치를 JVM 매개변수로 설정을 한다.
1) kafka-server-start 설정
- Linux:
../bin/kafka-server-start.sh
1
export KAFKA_OPTS=-Djava.security.auth.login.config=../config/kafka_server_jaas.conf
- Windows:
../bin/windows/kafka-server-start.bat
1
set KAFKA_OPTS=-Djava.security.auth.login.config=../../config/kafka_server_jaas.conf
4. Zookeeper 및 Kafka 실행
1) Zookeeper 실행
- Linux
1
./zookeeper-server-start.sh ../config/zookeeper.properties
- Windows
1
zookeeper-server-start.bat ../../config/zookeeper.properties
2) Kafka 실행
- Linux
1
./kafka-server-start.sh ../config/server.properties
- Windows
1
kafka-server-start.bat ../../config/server.properties
6. Producer 인증정보 conf 파일 설정
1) producer_jaas.conf 생성
- 생성 위치:
../config/producer_jaas.conf
1
2
3
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="alice" password="alice-secret";
7. Consumer 인증정보 conf 파일 설정
1) consumer_jaas.conf 생성
- 생성 위치:
../config/consumer_jaas.conf
1
2
3
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="alice" password="alice-secret";
8. Producer 및 Consumer 실행
1) Producer Console 실행
- Linux
1
./kafka-console-producer.sh --broker-list localhost:9092 --topic topic-test --producer.config=../config/producer_jaas.conf
- Windows
1
kafka-console-producer.bat --broker-list localhost:9092 --topic topic-test --producer.config=../../config/producer_jaas.conf
2) Consumer Console 실행
- Linux
1
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic topic-test --group local-group --consumer.config=../config/consumer_jaas.conf
- Windows
1
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic topic-test --group local-group --consumer.config=../../config/consumer_jaas.conf
[출처 및 참고]
This post is licensed under CC BY 4.0 by the author.