使用了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