记录一次部署测试
部署程序版本选择
kafka 2.7.1
eagle 2.0.6
选择2.7.1是因为kafka在2.7之后的java的SDK中提供了操作scram账号的方法。我们可以将此集成到业务系统中对topic的读写对账户的授权管理。
Kafka搭建我们将kafka部署到3个服务节点,例如192.168.40.1/192.168.40.2/192.168.40.3
第1步
下载kafka安装包,地址https://www.apache.org/dyn/closer.cgi?path=/kafka/2.7.1/kafka_2.12-2.7.1.tgz
第2步
登陆第一个服务器节点,将安装包放到/data目录
第3步
解压安装包,tar -xzvf kafka_2.12-2.7.1.tgz
第4步
编辑zookeeper配置文件,vim /data/kafka_2.12-2.7.1/config/zookeeper.properties,编辑内容如下
dataDir=/data/zookeeper server.1=192.168.40.1:2888:3888 server.2=192.168.40.2:2888:3888 server.3=192.168.40.3:2888:3888 authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider authProvider.2=org.apache.zookeeper.server.auth.SASLAuthenticationProvider authProvider.3=org.apache.zookeeper.server.auth.SASLAuthenticationProvider requireClientAuthScheme=sasl jaasLoginRenew=3600000 initLimit=10 syncLimit=5
server.1/2/3代表着三个节点
第5步
创建文件夹/data/zookeeper
第6步
生成myid文件,echo 1 >/data/zookeeper/myid,1是指第一个节点
第7步
编辑kafka的配置文件,vim /data/kafka_2.12-2.7.1/config/server.properties,编辑内容如下
broker.id=1 listeners=SASL_PLAINTEXT://192.168.40.1:9092 log.dirs=/data/kafka-logs num.partitions=3 zookeeper.connect=192.168.40.1:2181,192.168.40.2:2181,192.168.40.3:2181 sasl.mechanism.inter.broker.protocol=SCRAM-SHA-256 sasl.enabled.mechanisms=SCRAM-SHA-256 security.inter.broker.protocol=SASL_PLAINTEXT allow.everyone.if.no.acl.found=false super.users=User:admin authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
broker.id=1就是代表着第一个节点
第8步
创建jaas.conf文件,vim /data/kafka_2.12-2.7.1/config/kafka_server_jaas.conf,内容如下
KafkaServer{
org.apache.kafka.common.security.scram.ScramLoginModule required
username="admin"
password="admin@2021";
};
Server {
org.apache.zookeeper.server.auth.DigestLoginModule required
user_super="super@2021"
user_kafka="kafka@2021";
};
Client {
org.apache.zookeeper.server.auth.DigestLoginModule required
username="kafka"
password="kafka@2021";
};
第9步
编辑kafka-run-class.sh脚本中的KAFKA_OPTS,vim /data/kafka_2.12-2.7.1/bin/kafka-run-class.sh,修改内容如下
# Generic jvm settings you want to add if [ -z "$KAFKA_OPTS" ]; then KAFKA_OPTS="-Djava.security.auth.login.config=/data/kafka_2.12-2.7.1/config/kafka_server_jaas.conf" fi
第10步
启动zookeeper,/data/kafka_2.12-2.7.1/bin/zookeeper-server-start.sh -daemon /data/kafka_2.12-2.7.1/config/zookeeper.properties,并查看日志是否正常启动,tail -f /data/kafka_2.12-2.7.1/logs/zookeeper.out
第11步
启动kafka,/data/kafka_2.12-2.7.1/bin/kafka-server-start.sh -daemon /data/kafka_2.12-2.7.1/config/server.properties,,并查看日志是否正常启动,tail -f /data/kafka_2.12-2.7.1/logs/server.log
第12步
重复第3步到第12步,部署安装另外两个节点,其中需要修改的就是/data/zookeeper/myid文件值,和/data/kafka_2.12-2.7.1/config/server.properties中的broker.id值
第13步
创建scram账号,/data/kafka_2.12-2.7.1/bin/kafka-configs.sh --zookeeper localhost:2181 --alter --add-config 'SCRAM-SHA-256=[password=admin@2021],SCRAM-SHA-512=[password=admin@2021]' --entity-type users --entity-name admin
至此kafka三节点搭建完成
如果想用java的SDK控制账号权限,可参考一下文章
https://blog.csdn.net/Smallc0de/article/details/119296739
https://blog.csdn.net/Smallc0de/article/details/113866633
第1步
去官网下载安装包,https://www.kafka-eagle.org/
第2步
将安装包上传到服务器节点,并放到/data目录下
第3步
解压安装包,tar -xvf kafka-eagle-web-2.0.6-bin.tar.gz
第4步
修改配置文件,vim /data/kafka-eagle-bin-2.0.6/kafka-eagle-web-2.0.6/conf/system-config.properties,编辑内容如下
kafka.eagle.zk.cluster.alias=cluster1 cluster1.zk.list=192.168.40.1:2181,192.168.40.2:2181,192.168.40.3:2181 cluster1.kafka.eagle.sasl.enable=true cluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXT cluster1.kafka.eagle.sasl.mechanism=SCRAM-SHA-256 cluster1.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule req uired username="admin" password="admin@2021"; kafka.eagle.driver=org.sqlite.JDBC kafka.eagle.url=jdbc:sqlite:/data/kafka-eagle-bin-2.0.6/kafka-eagle-web-2.0.6/db/ke.db kafka.eagle.username=root kafka.eagle.password=www.kafka-eagle.org
第5步
启动eagle,/data/kafka-eagle-bin-2.0.6/kafka-eagle-web-2.0.6/bin/ke.sh start
第6步
在浏览器中打开地址http://192.168.40.1:8048/,默认用户名密码为admin/123456,登陆后可以看到kafka集群状态详情,如下



