kafka 增加权限认证配置 - Go语言中文社区

kafka 增加权限认证配置


一、 版本说明:
     zookeeper版本无要求,kafka必须使用0.9 以后的版本
     本例使用:zookeeper-3.4.10,kafka_2.11-1.0.0
     安装链接:Linux下kafka安装和zookeeper环境搭配

二、 zookeeper配置
    2.1  切换至 /usr/zookeeper/zookeeper-3.4.10/conf/ 下
          新建文件:zk_server_jaas.conf
          文件内容:
            Server {
                    org.apache.kafka.common.security.plain.PlainLoginModule required
                    username="admin"
                    password="admin-secret"
                    user_kafka="kafka-sec"
                    user_producer="prod-sec";
                    };

         # 注释: "user_"  接用户名, "=" 后为密码   (例user_kafka="kafka-sec": 用户名为 kafka,密码为 kafka-sec  ) 

    2.2   zoo.cfg 文件配置添加如下配置:
            authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
            requireClientAuthScheme=sasl
            jaasLoginRenew=3600000

    2.3  切换至  /usr/zookeeper/zookeeper-3.4.10/ 下
           新建文件夹: for_sasl
           将以下jar包拷贝到for_sasl文件夹中(jar在 kafka_2.11-1.0.0/libs/ 中查找, 版本号可以不同,名字相同即可
             kafka-clients-0.10.0.1.jar
             lz4-1.3.0.jar
             slf4j-api-1.7.21.jar
             slf4j-log4j12-1.7.21.jar
             snappy-java-1.1.2.6.jar

    2.4   切换至 /usr/zookeeper/zookeeper-3.4.10/bin/ 下

            zkEnv.sh  文件添加如下配置
                  for i in "$ZOOBINDIR"/../for_sasl/*.jar;
                  do CLASSPATH="$i:$CLASSPATH"
                  done
                  SERVER_JVMFLAGS=" -Djava.security.auth.login.config=$ZOOCFGDIR/zk_server_jaas.conf "

三、kafka配置
    3.1  切换至 /usr/kafka/kafka_2.11-1.0.0/config/
           新建文件:kafka_server_jaas.conf
           文件内容:
               KafkaServer {
                            org.apache.kafka.common.security.plain.PlainLoginModule required
                            username="admin"
                            password="admin"
                            user_admin="admin"
                            user_producer="prod-sec"
                            user_consumer="cons-sec";
                            };

               Client {
                       org.apache.kafka.common.security.plain.PlainLoginModule required
                       username="kafka"
                       password="kafka-sec";
                      };

    3.2  切换至   /usr/kafka/kafka_2.11-1.0.0/config/
          server.properties 文件添加如下配置:
             # 注意:172.10.10.10   修改为自己本机IP
             listeners=SASL_PLAINTEXT://172.10.10.10: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

    3.3 切换至 /usr/kafka/kafka_2.11-1.0.0/
        新建文件:start.sh     (kafka启动脚本)
        文件内容:
            ROOT=$(cd `dirname $0`; pwd)
            export KAFKA_OPTS=" -Djava.security.auth.login.config=$ROOT/config/kafka_server_jaas.conf "
            $ROOT/bin/kafka-server-start.sh -daemon $ROOT/config/server.properties
        修改文件权限:
             sudo chmod 777 start.sh

四、启动
       (若有启动运行的,请先关闭,重启)
       1. 启动zookeeper:
              cd  /usr/zookeeper/zookeeper-3.4.10/bin
              ./zkServer.sh  start

       2. 启动kafka:
           # 注意:请勿使用 ./bin/kafka-server-start.sh -daemon ./config/server.properties 在终端直接启动
               cd /usr/kafka/kafka_2.11-1.0.0/
              ./start.sh

       3.验证启动:
           jps
            # 如下启动成功
     

 

下一篇:Python实例权限认证连接 Kafka

 

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/LeonTom/article/details/82699923
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-06 09:36:09
  • 阅读 ( 1951 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢