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/zookeeper
clientPort=2181
maxClientCnxns=60
admin.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.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=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}:9092
advertised.listeners=SASL_PLAINTEXT://{ip}:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.enabled.mechanisms=PLAIN
sasl.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 &
复制代码
评论