使用了kerberos认证之后,整个kafka系统安全了,而且性能也保持着不错的状态,但是在实际中工作中kerberos未必都能够正常使用,也就是说一些组件无法正常运用Kerberos认证。但是在实际的开发之中,作为消息生产者的数据来源可能非常的多,所以在这样的状态下,kerberos认证必须保留,但是后台如果有一些固定的程序,比如:一些指定的服务器要进行数据的消费处理。这些服务器的地址或者连接的端口往往都是固定的,所以在实际运用的时候,kafka有可能会设置多个访问端口。
如果要想设置多个访问端口,那么最简单的做法就是直接修改listeners即可。
打开配置文件:vim /usr/local/kafka/config/server.properties
listeners=SASL_PLAINTEXT://172.16.0.2:9092,PLAINTEXT://172.16.0.2:9095 advertised.listeners=SASL_PLAINTEXT://203.195.205.63:9092,PLAINTEXT://203.195.205.63:9095
9092端口走kerberos认证,9095端口不用认证直接暴露访问。
重启Kafka
cd /root/soft/kafka_2.11-2.4.1/bin ./kafka-server-stop.sh ./kafka-server-start.sh ../config/server.properties #./kafka-server-start.sh ../config/server.properties > /logs/kafka.log 2>&1 & lsof -i:9092 lsof -i:9095