Kafka3.3单机模式-Windows-SASL/PLAIN身份验证-使用自带zookeeper

1.安装Kafka

windows下安装kafka网上有很多教程,可以参考一下,因为这次使用的zk是kafka自带的,所以不再单独装zk。

2.Kafka、zookerper一键启动bat

第1步参考别的教程安装好kafka后记得测试kafka能不能正常启动,能不能正常首发信息。

当我们启动kafka或者自带的zookeeper时,需要在命令行界面(kafka文件夹)输入

.\bin\windows\kafka-server-start.bat .\config\server.properties

.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties

我感觉很麻烦,每次都要输一大段,想模仿tomcat的启动方式直接一键启动,找了很久终于找到了

在kafka的目录下创建zk-start.bat,内容为

cd C:\programfiles\kafka
.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties

创建kafka-start.bat,内容为

cd C:\programfiles\kafka
.\bin\windows\kafka-server-start.bat .\config\server.properties

其中cd的文件目录修改成自己的kafka文件夹路径。以后启动就可以一键启动了,先双击zk-start.bat启动,然后双击kafka-start.bat启动。启动后的命令行界面不能关闭!

网上还有一种更快的方法,将kafka加入windows的服务中,就能开机自动启动,但我看了还需要下载别的软件才能实现,而且我也不需要自启,就没用这个方法。

tips:如果运行一键bat文件时命令行界面报错:找不到系统路径,可以修改bin/windows目录下的kafka-run-class.bat,将其中的

IF ["%JAVA_HOME%"] EQU [""] (
	set JAVA=java
) ELSE (
	set JAVA="C:\Program Files\Java\jdk1.8.0_321\bin\java"
)

JAVA的值设置成你本机的jdk路径下bin文件夹中的java

3.zookeeper配置

3.1为啥要配置zookeeper

kafka使用zookeeper来存储元数据,其中包括了ACL。默认的情况下,任何可以访问网络的人,都可以访问zookeeper,这意味着任何人可以:

  • 通过修改配置ACL来升级特权
  • 通过恶意修改zookeeper的元数据,来使得kafka集群收到污染,崩溃
  • 开启认证后,可以阻止恶意修改,同时不妨碍正常访问zookeeper服务

3.2

打开config目录下的zookeeper.properties,在后面加上

authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider #开启认证功能
requireClientAuthScheme=sasl  #认证方式为sasl
jaasLoginRenew=3600000
zookeeper.sasl.client=true

在config目录中新建kafka_zoo_jaas.conf文件,内容

Server {
	org.apache.kafka.common.security.plain.PlainLoginModule required
	username="admin"
	password="admin"
	user_admin1="admin1";
};

注意,配置项最后必须添加分号 " ; ",如果有配置user_admin(即user_xxx中的xxx和username的值一致)时,user_admin的值必须和password一致,下面kafka_cluster_jaas.conf文件同理

说明:username、password是给zookeeper自己用的,在kafka或其他zookeeper连接的时候,告诉它我的用户名是admin,密码是admin,可以不设置。user_admin1="admin1"是保存别人的信息,当有其他zookeeper集群或kafak连接到我时,如果它的用户名是admin1且密码是admin1才能通过权限验证,可以记录多个,user_admin2="admin2"等等。(我根据其他文章的资料推测的,有不对的地方望指出)

编辑bin/windows路径下的zookeeper-server-start.bat,在setLocal下一行增加

SET KAFKA_OPTS=-Djava.security.auth.login.config=C:/programfiles/kafka/config/kafka_zoo_jaas.conf

kafka_zoo_jaas.conf的路径改成自己的

3.3启动zookeeper

双击前面创建的zk-start.bat

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值