您的位置 首页 elasticsearch

kafka 3.7 带用户名密码 docker-compose (kafkamap 可是化管理kafka topic)

docker-compose部署 kafka 3.7 启用账号密码认证_docker安装kafka3.7-CSDN博客

1kafaka 3.7 带用户名密码 docker-compose

registry.cn-hangzhou.aliyuncs.com/baimeidashu/bmds:bitnami-kafka-3.7.0
registry.cn-hangzhou.aliyuncs.com/baimeidashu/bmds:dushixiang-kafka-map-v1.3.3

 

2 docker-compose.yml

version: "3"
services:
   kafka:
     image: registry.cn-hangzhou.aliyuncs.com/baimeidashu/bmds:bitnami-kafka-3.7.0
     container_name: kafka
     user: root
     ports:
       - '9092:9092'
     environment:
       - TZ=Asia/Shanghai
       - KAFKA_CFG_PROCESS_ROLES=broker,controller
       - BITNAMI_DEBUG=true
       - ALLOW_PLAINTEXT_LISTENER=no
       - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
       - KAFKA_CFG_NUM_PARTITIONS=1
       - KAFKA_CFG_LISTENERS=INTERNAL://:9094,CLIENT://:9095,CONTROLLER://:9093,EXTERNAL://:9092
       - KAFKA_CFG_ADVERTISED_LISTENERS=INTERNAL://10.0.0.250:9094,CLIENT://:9095,EXTERNAL://10.0.0.250:9092
       - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:SASL_PLAINTEXT,CLIENT:SASL_PLAINTEXT,CONTROLLER:PLAINTEXT,EXTERNAL:SASL_PLAINTEXT   
       - KAFKA_CFG_INTER_BROKER_LISTENER_NAME=INTERNAL
       - KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL=PLAIN
       - KAFKA_CFG_SASL_ENABLED_MECHANISMS=PLAIN
       - KAFKA_CLIENT_USERS=liu_bei
       - KAFKA_CLIENT_PASSWORDS=liubei@161
       - KAFKA_INTER_BROKER_USER=liu_bei
       - KAFKA_INTER_BROKER_PASSWORD=liubei@161
       - KAFKA_CFG_NODE_ID=1
       - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@127.0.0.1:9093
       - KAFKA_KRAFT_CLUSTER_ID=xishu
       - KAFKA_OPTS=-Djava.security.auth.login.config=/bitnami/kafka/data/kafka_server_jaas.conf
     volumes:
       - ./data:/bitnami/kafka/data:rw

 

 

启动:

 

测试:

kafkamap搭建(测试工具)

创建kafkamap目录,进入该目录
创建docker-compose.yml文件如下

docker-compose.yml

version: "3"
services:
   kafka_map:
     image: registry.cn-hangzhou.aliyuncs.com/baimeidashu/bmds:dushixiang-kafka-map-v1.3.3
     environment:
       - DEFAULT_USERNAME=liubei
       - DEFAULT_PASSWORD=liubei@161
     ports:
       - '8080:8080'

 

2.2 权限测试
web登录:http://10.0.0.250:8080

- DEFAULT_USERNAME=liubei
- DEFAULT_PASSWORD=liubei@161

创建连接

 

链接创建成功

创建topic

 

如果kafka 没有用户名密码:

 

2)说明:

KAFKA_CFG_PROCESS_ROLES =broker,controller

kafka扮演角色:broker 和 controller,即代表使用raft模式

broker

broker:
Kafka的核心组件,负责处理客户端的请求,存储和检索数据。
每个broker都持有一个或多个分区的数据,处理来自生产者和消费者的读写请求
broker之间的数据复制确保了数据的可靠性和可用性。

controller

一个特殊的broker
负责管理集群的元数据和协调不同broker之间的操作
负责选举leader分区,检测和处理集群中的故障,以及维护集群的成员信息。

BITNAMI_DEBUG=true :控制台打印日志

ALLOW_PLAINTEXT_LISTENER=no

Kafka 不允许使用非加密的(即明文的)监听器(listener)来接受客户端连接

KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER

控制器名称 对应下面CONTROLLER://:9093

KAFKA_CFG_NUM_PARTITIONS=1 :默认分区数

KAFKA_CFG_LISTENERS=INTERNAL://:9094,CLIENT://:9095,CONTROLLER://:9093,EXTERNAL://:9092 :监听器的地址和端口

INTERNAL:

用于 Kafka 集群内部通信(如 broker 之间的数据复制和控制器与 broker 之间的通信)
可能会配置为使用 PLAINTEXT 协议(因为内部通信通常在一个受信任的网络环境中进行)

CLIENT:

用于客户端与 Kafka broker 通信的监听器
可能会配置为使用 SSL/TLS 或 SASL/SCRAM 等安全协议,以确保客户端与 broker 之间的通信安全
通常通过 advertised.listeners 配置项将此类监听器的地址和端口暴露给客户端

CONTROLLER

专门用于 Kafka 控制器与 broker 通信的监听器
负责管理集群的状态
可能会配置为使用 PLAINTEXT 协议(因为控制器与 broker 之间的通信通常在一个受信任的内部网络环境中进行)

EXTERNAL:

用于从外部网络访问 Kafka 集群的监听器

通常会配置为使用 SSL/TLS 等安全协议

通常通过 advertised.listeners 配置项将此类监听器的地址和端口暴露给外部客户端。

KAFKA_CFG_ADVERTISED_LISTENERS=INTERNAL://10.10.181.199:9094,CLIENT://:9095,EXTERNAL://10.10.181.199:9092

发布监听器的地址和端口

KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:SASL_PLAINTEXT,CLIENT:SASL_PLAINTEXT,CONTROLLER:PL - AINTEXT,EXTERNAL:SASL_PLAINTEXT

定义监听器所使用的不同协议
SASL_PLAINTEXT协议:提供了基于SASL的身份验证功能,但数据传输是明文的
PLAINTEXT协议:不进行任何加密和身份验证,数据以明文形式传输

KAFKA_CFG_INTER_BROKER_LISTENER_NAME=INTERNAL

指定了 Kafka broker 之间进行通信时所使用的监听器的名称

KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL=PLAIN

指定了 Kafka broker 之间通信时所使用的 SASL 认证机制,为PLAIN
PLAIN :是 SASL 的一种认证机制,它使用简单的用户名和密码进行身份验证。

KAFKA_CFG_SASL_ENABLED_MECHANISMS=PLAIN

指定了 Kafka broker 支持哪些 SASL 认证机制

KAFKA_CLIENT_USERS=liu_bei :

客户端账号(必须是已经创建的)

KAFKA_CLIENT_PASSWORDS=liubei@161 :客户端用户的密码

KAFKA_INTER_BROKER_USER=liu_bei :内部broker之间通信账号(必须是已经创建的)

KAFKA_INTER_BROKER_PASSWORD=liubei@161 #内部broker之间通信密码

KAFKA_CFG_NODE_ID=1 #节点ID (如果多个节点,每个节点不相同)

KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@127.0.0.1:9093

定义了哪些 broker 将参与控制器的选举

KAFKA_KRAFT_CLUSTER_ID=xishu :集群id(所有节点相同)

KAFKA_OPTS=-Djava.security.auth.login.config=/bitnami/kafka/config/kafka_server_jaas.conf

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章