写点什么

Kafka 单机搭建 (信任认证 / 口令认证)

作者:Shen-Xmas
  • 2023-06-16
    北京
  • 本文字数:1425 字

    阅读完需:约 5 分钟

Kafka 详细单机版搭建教程,包含信任认证和口令认证两种方式。


由于在学习 Kafka 的过程中发现详细全面的 Kafka 搭建及 Schema Registry 搭建资料较少,踩坑较多,所以输出这篇记录我的 Kafka 搭建过程。

1. 信任认证 Kafka 搭建

1. 下载安装包

首先第一步下载 Kafka 对应的安装包, 在 Kafka安装包下载地址 中下载自己需要版本的包,注意下载 Binary downloads 下的包,不是 src 包。


本次我是用的是 kafka_2.13-2.8.2.tgz,其中 2.13 为 Scala 版本,2.8.2 才是 Kafka 的版本。

2. 解压

解压 Kafka 包到指定目录,我选择的是/usr/local/kafka。

3. Zookeeper

目前装的这个版本的 Kafka 还是依赖 Zookeeper 的。

1. 配置

Kafka 安装包自带 Zookeeper,配置文件位于 config/zookeeper.properties


dataDir=/tmp/zookeeperclientPort=2181maxClientCnxns=60admin.enableServer=false# admin.serverPort=8080
复制代码


其中,dataDir 为数据目录,主要存储事务日志和快照;


maxClientCnxns 为 ZooKeeper 服务器与客户端的最大连接数;


admin.enableServer 指定是否启用远程 JMX 服务器。

2. 启动

./zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties  >> {日志输出目的地} 2>&1 &
复制代码

4. Kafka

1. 配置

配置文件位于 config/server.properties


信任认证的话:


listeners=PLAINTEXT://{ip}:9092
复制代码


如果 zookeeper 改了端口记得改对应的。其他按需改就好。

2. 启动

/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties  >> {日志输出目的地} 2>&1 &
复制代码

2. 口令认证 Kafka 搭建

一样的操作在此不做赘述。主要讲配置和启动的不同。

1. Zookeeper

1. 配置

首先添加一个 jaas 设置用户名密码。


Server {       org.apache.zookeeper.server.auth.DigestLoginModule required       user_admin="password"       user_root="password"       ;};Client {       org.apache.zookeeper.server.auth.DigestLoginModule required       username="user"       password="password"       ;};
复制代码


在 zookeeper.properties 中也要加入对应参数。


###########################authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProviderrequireClientAuthScheme=sasljaasLoginRenew=3600000
复制代码

2. 启动

export KAFKA_OPTS="-Djava.security.auth.login.config={addr}/zookeeper_jaas.conf"./zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties  >> {日志输出目的地} 2>&1 &
复制代码

2. Kafka

1. 配置

首先添加一个 jaas 设置用户名密码。


KafkaServer{    org.apache.kafka.common.security.plain.PlainLoginModule required    username="user"    password="password"    user_root="password"    user_username="password";};Client{    org.apache.zookeeper.server.auth.DigestLoginModule required    username="user"    password="password";};
复制代码


在 server.properties 中也要加入对应参数。


#################################listeners=SASL_PLAINTEXT://{ip}:9092advertised.listeners=SASL_PLAINTEXT://{ip}:9092security.inter.broker.protocol=SASL_PLAINTEXTsasl.enabled.mechanisms=PLAINsasl.mechanism.inter.broker.protocol=PLAIN
复制代码

2. 启动

export KAFKA_OPTS="-Djava.security.auth.login.config={addr}/kafka_jaas.conf"/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties  >> {日志输出目的地} 2>&1 &
复制代码


发布于: 刚刚阅读数: 6
用户头像

Shen-Xmas

关注

like a compass 2022-10-28 加入

Java / Golang/ Python

评论

发布
暂无评论
Kafka单机搭建(信任认证/口令认证)_kafka_Shen-Xmas_InfoQ写作社区