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 &