kafka 安装 以及 Kraft 模式、安全认证配置

这篇具有很好参考价值的文章主要介绍了kafka 安装 以及 Kraft 模式、安全认证配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

常见安装:zookeeper + kafka

zookeeper 单节点安装 :

  • apach官网下载对应包:apache-zookeeper-3.7.1-bin.tar.gz
  • 修改对应配置文件 /conf/zoo_sample.cfg ,配置端口以及数据目录
  • kafka 安装 以及 Kraft 模式、安全认证配置
  • sh zkServer.sh start 启动 、sh zkServer.sh stop 停止、sh zkServer.sh status 状态
  • sh zkCli.sh -server 客户端
    kafka 安装 以及 Kraft 模式、安全认证配置

zookeeper 集群安装:

  • 在每个节点data 目录,创建一个 myid 的文件,myid内容为服务id,没个节点服务id不同
    kafka 安装 以及 Kraft 模式、安全认证配置
    kafka 安装 以及 Kraft 模式、安全认证配置
  • 配置文件zoo.cfg添加集群信息:server.myid=ip:2888:3888
  • 2888为 服务器 follower 与集群leader 的通信端口、3888 leader挂掉后,选举用端口
    kafka 安装 以及 Kraft 模式、安全认证配置
  • 各节点启动集群.
  • 分布式框架提供协调服务,为kafak 管理员,需要 zookeeper 选择机制节点监听
    • 集群管理、leader选举
    • Topic注册
    • Broker注册
  • zookeeper 存储 kafka 的 borker信息,topic等 信息

kafka 安装 以及 Kraft 模式、安全认证配置

kafka 集群安装:

  • https://kafka.apache.org/ 官网下载对应运行体,eg:kafka_2.12-3.0.0.tgz
  • config/server.properties 修改对应服务配置
    • broker.id 服务唯一id
    • log.dirs=/tmp/kafka-logs 数据目录
    • zookeeper.connect=192.168.2.207:2181,192.168.2.208:2181/kafka 集群地址配置
  • 各节点启动 : sh kafka-server-start.sh -daemon …/config/server.properties

kafka - Kraft 模式(去掉zookeeper)

  • 版本大于 2.8.0 时,可以不依赖zookeeper 环境启动
    kafka 安装 以及 Kraft 模式、安全认证配置
  • 修改 krafk 目录下 server.properties 配置文件,以下操作每个节点需要同步配置,node.id 为唯一
    kafka 安装 以及 Kraft 模式、安全认证配置
    kafka 安装 以及 Kraft 模式、安全认证配置
    kafka 安装 以及 Kraft 模式、安全认证配置
  • 生成一个随机id: sh kafka-storage.sh random-uuid
  • 初始化:sh kafka-storage.sh format -t ${id} -c /opt/kafka/kafka_2.12-3.0.0/config/kraft/server.properties
    -Kraft 模式启动: sh ./bin/kafka-server-start.sh -daemon ./config/kraft/server.properties

Kraft 模式 以及 安全认证配置:

  • SASL/GSSAPI:kerberos认证方式,一般使用随机密码的keytab认证方式,密码是加密的,也是企业里使用最多的认证方式;
  • SASL/PLAIN:这种方式其实就是一个账号/密码的认证方式,不过它有很多缺陷,比如用户名密码是存储在文件中,不能动态添加,密码明文等等!好处是足够简单;
  • SASL/SCRAM:针对SASL/PLAIN方式的不足而提供的另一种认证方式。这种方式的用户名/密码是存储中zookeeper的,因此能够支持动态添加用户。该种认证方式还会使用sha256或sha512对密码加密,安全性相对会高一些,在0.10.2版本引入;

SASL/PLAIN 安全认证配置 :

  • 新建config 文件 config/kafka_server_jaas.conf
  • 👇
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
serviceName="kafka"
username="admin"
password="admin"
user_admin="admin";
};
  • copy一份kafka-server-start.sh ,修改名称 kafka-server-start-sasl.sh启动脚本修改名称,引入加密文件; 注意路径
    kafka 安装 以及 Kraft 模式、安全认证配置
    kafka 安装 以及 Kraft 模式、安全认证配置

修改配置文件内容:

  • cp一份 server_sasl.properties 修改名称为server_sasl.properties 与非安全认证分开
# 修改以下内容
node.id=1
controller.quorum.voters=1@kraft1:9093
listeners=SASL_PLAINTEXT://192.168.2.207:9092,CONTROLLER://192.168.2.207:9093
inter.broker.listener.name=SASL_PLAINTEXT
advertised.listeners=SASL_PLAINTEXT://192.168.2.207:9092
sasl.enabled.mechanisms=PLAIN
sasl.mechanism.inter.broker.protocol=PLAIN
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G -Djava.security.auth.login.config=/opt/kafka/kafka_2.12-3.0.0/config/kafka_server_jaas.conf"
fi

启动:sh ./bin/kafka-server-start-sasl.sh -daemon ./config/kraft/server_sasl.properties

spring boot yml配置

server:
  port: 8200

spring:
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher
  application:
    name: @artifactId@
  kafka:
    bootstrap-servers: 192.168.2.207:9092
    # 生产配置
    producer:
      key-serializer: org.apache.kafka.common.serialization.StringSerializer
      value-serializer: org.apache.kafka.common.serialization.StringSerializer
      properties:
        sasl.mechanism: PLAIN
        security.protocol: SASL_PLAINTEXT
        sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin";
    #消费配置
    consumer:
      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      group-id: xiaoshu
      enable-auto-commit: false
      properties:
        sasl.mechanism: PLAIN
        security.protocol: SASL_PLAINTEXT
        sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin";

    listener:
      # 手动调用Acknowledgment.acknowledge()后立即提交
      ack-mode: manual

注:Kraft 配置了安全模式后,集群搭建不成功了,下次配好了,再补上…

kafka 安装 以及 Kraft 模式、安全认证配置文章来源地址https://www.toymoban.com/news/detail-499970.html

到了这里,关于kafka 安装 以及 Kraft 模式、安全认证配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • kafka配置SASL/PLAIN 安全认证

    为zookeeper添加SASL支持,在配置文件zoo.cfg添加 新建zk_server_jaas.conf文件,为Zookeeper添加账号认证信息.这个文件你放在哪里随意,只要后面zkEnv配置正确的路径就好了。我是放在 /opt/zookeeper/conf/home 路径下。zk_server_jaas.conf文件的内容如下 Server { org.apache.kafka.common.security.plain.Plai

    2024年02月10日
    浏览(34)
  • Kerberos安全认证-连载12-Kafka Kerberos安全配置及访问

    目录 1. Kafka配置Kerberos 2. 客户端操作Kafka ​​​​​​​3. Java API操作Kafka 4. StructuredStreaming操作Kafka 5. Flink 操作Kafka 技术连载系列,前面内容请参考前面连载11内容:​​​​​​​​​​​​​​Kerberos安全认证-连载11-HBase Kerberos安全配置及访问_IT贫道的博客-CSDN博客 Kafk

    2024年02月12日
    浏览(14)
  • kafka安全认证与授权(SASL/PLAIN)

    SASL 鉴权协议,主要用来保证客户端登录服务器的时候,传输的鉴权数据的安全性,SASL是对用户名和密码加解密用的 SSL 是一种间于传输层(比如TCP/IP)和应用层(比如HTTP)的协议。对传输内容进行加密,如HTTPS 如果使用了SASL但是没有使用SSL,那么服务端可以认证客户端的身

    2023年04月25日
    浏览(14)
  • Apache zookeeper kafka 开启SASL安全认证

    Apache zookeeper kafka 开启SASL安全认证

    背景:我之前安装的kafka没有开启安全鉴权,在没有任何凭证的情况下都可以访问kafka。搜了一圈资料,发现有关于sasl、acl相关的,准备试试。 Kafka是一个高吞吐量、分布式的发布-订阅消息系统。Kafka核心模块使用Scala语言开发,支持多语言(如Java、Python、Go等)客户端,它可

    2024年03月14日
    浏览(13)
  • Kafka增加安全验证安全认证,SASL认证,并通过spring boot-Java客户端连接配置

    公司Kafka一直没做安全验证,由于是诱捕程序故需要面向外网连接,需要增加Kafka连接验证,保证Kafka不被非法连接,故开始研究Kafka安全验证 使用Kafka版本为2.4.0版本,主要参考官方文档 官网对2.4版本安全验证介绍以及使用方式地址: https://kafka.apache.org/24/documentation.html#secu

    2024年02月01日
    浏览(46)
  • Kafka安全认证机制详解之SASL_PLAIN

    Kafka安全认证机制详解之SASL_PLAIN

    官方文档: https://kafka.apache.org/documentation/#security 在官方文档中,kafka有五种加密认证方式,分别如下: SSL:用于测试环境 SASL/GSSAPI (Kerberos) :使用kerberos认证,密码是加密的,也是当前企业中使用最多的,最小支持版本0.9 SASL/PLAIN :使用简单用户名和密码形式,生产环境中一

    2024年01月21日
    浏览(13)
  • Kafka配置Kerberos安全认证及与Java程序集成

    Kafka配置Kerberos安全认证及与Java程序集成

    本文主要介绍在 Kafka 中如何配置 Kerberos 认证,以及 java 使用 JAAS 来进行 Kerberos 认证连接。 本文演示为单机版。 查看 Kerberos 版本命令: klist -V 软件名称 版本 jdk 1.8.0_202 kafka 2.12-2.2.1 kerberos 1.15.1 Kerberos 是一种由 MIT(麻省理工大学)提出的网络身份验证协议,它旨在通过使用密

    2024年01月22日
    浏览(19)
  • Apache zookeeper kafka 开启SASL安全认证 —— 筑梦之路

      Kafka是一个高吞吐量、分布式的发布-订阅消息系统。Kafka核心模块使用Scala语言开发,支持多语言(如Java、Python、Go等)客户端,它可以水平扩展和具有高吞吐量特性而被广泛使用,并与多类开源分布式处理系统进行集成使用。   Kafka作为一款开源的、轻量级的、分布式、可

    2024年02月11日
    浏览(14)
  • Kafka-配置Kerberos安全认证(JDK8、JDK11)

    Kafka-配置Kerberos安全认证(JDK8、JDK11)

    一、相关配置 1、JAAS 配置文件 2、keytab 文件(kafka.service.keytab) 从 Kerberos 服务器上拷贝到目标机器 或 找运维人员要一份 3、Kerberos 配置文件(krb5.conf) krb5文件参数说明:krb5.conf(5) 从 Kerberos 服务器上拷贝到目标机器 或 找运维人员要一份 Tip: JDK11版本 sun.security.krb5.Config 类

    2024年02月15日
    浏览(14)
  • 第一章 Kafka 配置部署及SASL_PLAINTEXT安全认证

    第一章 Kafka 配置部署及SASL_PLAINTEXT安全认证

    第一章 Kafka 配置部署及SASL_PLAINTEXT安全认证 第二章  Spring Boot 整合 Kafka消息队列 生产者 第三章  Spring Boot 整合 Kafka消息队列 消息者 Kafka下载地址:Apache Kafka 2.1、修改 Zookeeper 配置文件 config/zookeeper.properties 2.2、Zookeeper 配置文件修改内容 2.2、Zookeeper 配置文件增加配置说明

    2024年01月16日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包