为Kafka 添加用户名 密码权限,即SASL/PLAIN

By | 2019年1月31日

从Kafka 官网下载 Kafka 安装包 我的版本是 kafka_2.12-1.1.1  

我的Kafka 安装在 目录下

/usr/local

步骤1

找到 /usr/local/kafka_2.12-1.1.1/config 目录下的   server.properties 文件 进行修改。 我的做法是保持 源文件不动 又复制了 一份

在复制上面进行改动  server-sasl.properties  修改文件


# 添加下面的配置  ip和端口改成自己需要
listeners=SASL_PLAINTEXT://xx.xx.xx.xx:8123
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN


步骤2

在config目录添加kafka_server_jaas.conf 文件 此文件是服务端 设置用户名  和密码

KafkaServer {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="kafka"
    password="kafkapswd"
    user_kafka="kafkapswd"
    user_mooc="moocpswd";
};

其中 Kafka 定义了关键字KafkaServer字段用于指定服务端登录配置。该配置通过org.apache.
org.apache.kafka.common.security.plain.PlainLoginModule由指定采用PLAIN 机制, 定义了两个用户, 用户通
过usemame 和password 指定该代理与集群其他代理初始化连接的用户名和密码, 通过“ user_ “
为前缀后接用户名方式创建连接代理的用户名和密码,例如, user_mooc = “moocpswd” 是指
用户名为mooc, 密码为moocpswd

步骤3

在config目录添加kafka_client_jaas.conf

KafkaClient {
        org.apache.kafka.common.security.plain.PlainLoginModule required
        username="mooc"
        password="moocpswd";
};

步骤4

修改目录/usr/local/kafka_2.12-1.1.1/bin 下的 kafka-server-start.sh文件 。 我的做法也是复制出来一份 ,然后进行修改

kafka-server-start-saal.sh  添加以下文件

if [ "x$KAFKA_OPTS"  ]; then
    export KAFKA_OPTS="-Djava.security.auth.login.config=/usr/local/kafka_2.12-1.1.1/config/kafka_server_jaas.conf"
fi

步骤5

修改目录/usr/local/kafka_2.12-1.1.1/bin 下的  kafka-console-producer.sh 和 kafka-console-consumer.sh 文件

也是 都各自复制一份 在复制上面进行修改

if [ "x$KAFKA_OPTS"  ]; then
    export KAFKA_OPTS="-Djava.security.auth.login.config=/usr/local/kafka_2.12-1.1.1/config/kafka_client_jaas.conf"
fi

到此为止 kafka的 SASL/PLAIN 认证 就添加完成了

现在测试运行

启动zookeeper

 启动kafka

./zookeeper-server-start.sh  -daemon ../config/zookeeper.properties

./kafka-server-start-saal.sh  -daemon ../config/server-sasl.properties

创建个Topic

 

./kafka-topics.sh  –zookeeper localhost:8124 –create –topic Test  –partitions 1 –replication-factor 1

启动生产者 生产条消息

查看消费者

被挡住部分是自己的 服务器地址 加kafka端口

现在修改下 错误的用户名 密码 进行测试

 

在发送条消息测试下

测试 成功 

大家也可以下载 我配置好的 kafaka 进行运行 调试。  注意要改变 kafka的ip 和zookeeper的端口 和 .sh 文件里面所配置的目录 进行修改

文件下载地址为:

https://download.csdn.net/download/u012040869/10656873

 

发表评论