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