zoukankan      html  css  js  c++  java
  • Kafka Kerberos服务端配置

    正是因为Kafka推出了Kerberos认证,才表示Kafka真正的由实验阶段变为了实际的生产环境(速度很慢),但是对于SSL的认证处理是非常复杂的,所以在实际的开发中,更多的开发者会选择利用Kerberos这种认证机制,同时结合jaas配置文件进行更加有效的安全认证处理。

    Kerberos认证需要考虑如下几个层次:
    a、zookeeper的访问安全:kafka_zookeeper_jaas.conf
    b、KafkaServer的访问安全:kafka_server_jaas.conf
    c、客户端命令和Java:kafka_client_jaas.conf

    这样配置完成之后可以保证你的zookeeper足够安全,你的kafkaserver足够安全,同时千万要记住,在zookeeper和kafkaserver之间进行互相配置的时候,必须有一个相同的用户名和密码。

    kerberos认证

    1、为了方便进行所有kerberos认证文件的管理建立一个目录:

    mkdir -p /usr/local/kafka/jaas


    2、建立ZooKeeper的JAAS配置文件:vim /usr/local/kafka/jaas/kafka_zookeeper_jaas.conf

    Server  {
        org.apache.kafka.common.security.plain.PlainLoginModule required
        username="zkadmin"
        password="zkadmin-pwd";
    };


    在此处配置了一个新的用户:zkadmin/zkadmin-pwd。

    3、 建立一个kafkaServer的JAAS配置:

    vim /usr/local/kafka/jaas/kafka_server_jaas.conf
    KafkaServer {
        org.apache.kafka.common.security.plain.PlainLoginModule required
        username="zkadmin"
        password="zkadmin-pwd"
        user_zkadmin="zkadmin-pwd"
        user_alice="alice-pwd"
        user_bob="bob-pwd";
    };

    格式:user_用户名=密码,此时的程序配置有三个账户:zkadmin/zkadmin-pwd、alice/alice-pwd、bob/bob-pwd。

    4、 如果要想正常去使用kerberos认证处理,必须由用户自己去指派jaas的访问路径,也就是说kafka本身依赖于JDK,那么这个时候必须通过JDK中的初始化参数去定义好jaas访问路径之后才可以进行处理。

    4.1、修改zookeeper服务启动命令:

    #vim /root/soft/zookeeper-3.4.14/bin/zookeeper-server-start.sh
    vim /root/soft/zookeeper-3.4.14/bin/zkServer.sh
    
    export KAFKA_OPTS="-Djava.security.auth.login.config=/usr/local/kafka/jaas/kafka_zookeeper_jaas.conf"

    注:第一行追加

    4.2、修改kafkaserver启动命令:vim /root/soft/kafka_2.11-2.4.1/bin/kafka-server-start.sh

    export KAFKA_OPTS="-Djava.security.auth.login.config=/usr/local/kafka/jaas/kafka_server_jaas.conf"

    注:第一行追加

    5、如果要想让kafka支持jaas处理操作,那么还需要修改server.properties配置文件:
    打开配置文件:vim /usr/local/kafka/config/server.properties;

    编写端口号:    
    port=9092
    
    编写内部的通讯连接:    
    listeners=SASL_PLAINTEXT://172.16.0.2:9092
    
    设置外部的通讯连接:    
    advertised.listeners=SASL_PLAINTEXT://203.195.205.63:9092
    
    设置使用的通讯协议:    
    security.inter.broker.protocol=SASL_PLAINTEXT
    
    启用SASL处理机制间的通讯:    
    sasl.enabled.mechanisms=PLAIN
    
    设置broker之间的传输机制:    
    sasl.mechanism.inter.broker.protocol=PLAIN

    6、 启动当前的Kafka服务:

    6.1、启动zk
    cd /root/soft/zookeeper-3.4.14/bin
    ./zkServer.sh stop
    ./zkServer.sh start
    
    6.2、启动kafka
    cd /root/soft/kafka_2.11-2.4.1/bin
    ./kafka-server-stop.sh
    ./kafka-server-start.sh ../config/server.properties > /logs/kafka.log 2>&1 &
    
    6.3、查看主题列表
    ./kafka-topics.sh --list --zookeeper localhost:2181

    可以查看主题,表示kerberos认证配置成功。

     


  • 相关阅读:
    hdu 4825 Xor Sum (01 Trie)
    hdu 5877 Weak Pair (Treap)
    bzoj 1861: [Zjoi2006]Book 书架 (splay)
    bzoj 1503: [NOI2004]郁闷的出纳员 (splay)
    hihocoder#1333 : 平衡树·Splay2 (区间操作)
    「BZOJ1251」序列终结者 (splay 区间操作)
    二进制运算符的相关运算
    Bzoj 1085: [SCOI2005]骑士精神 (dfs)
    Bzoj 1083: [SCOI2005]繁忙的都市 (最小生成树)
    Bzoj 1088: [SCOI2005]扫雷Mine (DP)
  • 原文地址:https://www.cnblogs.com/linjiqin/p/13200190.html
Copyright © 2011-2022 走看看