Simple Kafka with Zookeeper ACL authentication
yum install wget java-1.8.0-openjdk
mkdir /opt/{kafka,zookeeper}
wget http://ftp.tudelft.nl/apache/zookeeper/current/apache-zookeeper-3.5.6-bin.tar.gz -P /opt/zookeeper
wget http://apache.mirror.triple-it.nl/kafka/2.3.1/kafka_2.12-2.3.1.tgz -P /opt/kafka
tar -xzvf /opt/zookeeper/apache-zookeeper-3.5.6-bin.tar.gz -C /opt/zookeeper/
tar -xzvf /opt/kafka/kafka_2.12-2.3.1.tgz -C /opt/kafka
ln -s /opt/zookeeper/apache-zookeeper-3.5.6-bin /opt/zookeeper/zookeeper
ln -s /opt/kafka/kafka_2.12-2.3.1 /opt/kafka/kafka
vi /opt/zookeeper/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/lib/zookeeper
clientPort=2181
requireClientAuthScheme=sasl
authProvider.0=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
vi /opt/zookeeper/zookeeper/conf/jaas.conf
Server {
org.apache.zookeeper.server.auth.DigestLoginModule required
user_super="123456"
user_kafka="123456";
};
vi /opt/kafka/kafka/config/server.properties
log.dirs=/var/lib/kafka-logs
zookeeper.set.acl=true
vi /opt/kafka/kafka/config/jaas.conf
Client {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="kafka"
password="123456";
};
export SERVER_JVMFLAGS="-Djava.security.auth.login.config=/opt/zookeeper/zookeeper/conf/jaas.conf";/opt/zookeeper/zookeeper/bin/zkServer.sh start
export KAFKA_OPTS="-Djava.security.auth.login.config=/opt/kafka/kafka/config/jaas.conf";/opt/kafka/kafka/bin/kafka-server-start.sh /opt/kafka/kafka/config/server.properties &