Kafka์์ ํ๊ฐ๋์ง ์์ ์ฌ์ฉ์์ ์ ๊ทผ์ ๋ง๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ฐฉ์ ์ค JAAS ๊ธฐ๋ฐ์ SASL์ ์ฌ์ฉ
New Consumer(Kafka Consumer)์์ SASL์ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
- server_jaas.conf
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="admin-secret"
user_admin="admin-secret"
user_sphong="sphong-secret";
};
-Djava.security.auth.login.config=/sever_jaas.conf/path/
์ ์ถ๊ฐํ์ฌ Kafka Server๋ฅผ ์คํํ๋ค.
-
server.conf
listeners=SASL_SSL://host.name:port security.inter.broker.protocol=SASL_PLAINTEXT sasl.mechanism.inter.broker.protocol=PLAIN sasl.enabled.mechanisms=PLAIN
-
consumer.properties
security.protocol=SASL_PLAINTEXT sasl.mechanism=PLAIN sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \ username="sphong" \ password="alice-secret";
Kafka Consumer๋ Old Consumer์ New Consumer๋ก ๋๋์ด์ง๋ค. ๋ ์ปจ์๋จธ์ ์ฐจ์ด๋ offset ๊ด๋ฆฌ๋ฅผ Kafka์์ ํ๋์ง, Zookeeper์์ ํ๋์ง์ด๋ค. Kafka 0.9 ๋ฒ์ ๋ถํฐ ์ฑ๋ฅ์์ ์ด์๋ก Consumer์ Offset ์ ์ฅ์ Kafka Topic _consumer_offsets
์ ๋ณด๊ดํ๋๋ก ๋ณ๊ฒฝ๋์๋ค.
Graylog๋ Old / New Kafka Consumer๋ฅผ ์ง์ํ๊ณ ์์ง๋ง, ๋ ๋ฒ์ ์ Client ๋ชจ๋ 0.9 ๋ฒ์ ์ด๋ค. SASL/PLAINTEXT ์ธ์ฆ ๋ฐฉ์์ kafka 0.10 ๋ฒ์ ๋ถํฐ ์ ์ฉ๋์๊ธฐ ๋๋ฌธ์ ์์ ์ค์ ์ ์ ์ฉํ ๊ฒฝ์ฐ, org.apache.kafka.common.security.plain.PlainLoginModule
์ ์ฐพ์ ์ ์๋ค๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
๋ค๋ฅธ ์๋๋ Old Consumer๋ฅผ ์ฌ์ฉํ๊ณ Zookeeper์ SASL/PLAINTEXT ๋ฐฉ์์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ.
์ด๋ Zookeeper์ ์ธ์ฆ์ ์ํํ์ง๋ง Old Kafka Consumer๋ฅผ Graylog์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ consumer.properties๋ฅผ override ํ ์ ์๊ธฐ ๋๋ฌธ์, security.protocol์ SASL_PLAINTEXT ๋ณ๊ฒฝํ์ง ๋ชปํ๊ณ Default ๊ฐ์ธ PLAINTEXT๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ค. ์ด์ ๋ฐ๋ผ kafka.common.BrokerEndPointNotAvailableException: End point PLAINTEXT not found for broker 0
๋ผ๋ ์๋ฌ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค.