kafka内外网和安全配置
内外网不通集群部署模式
分别给kafka配置不同网段的监听
broker.id=70
listener.security.protocol.map=INTERNAL:SASL_PLAINTEXT,EXTERNAL:SASL_PLAINTEXT
#SASL_PLAINTEXT 表示需要先经过安全认证,如果没有安全认证就会启动失败
listeners=INTERNAL://0.0.0.0:19091,EXTERNAL://0.0.0.0:19092
advertised.listeners=INTERNAL://10.30.92.7:19091,EXTERNAL://10.255.206.22:19092
inter.broker.listener.name=INTERNAL
无需安全认证
listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
listeners=INTERNAL://0.0.0.0:19091,EXTERNAL://0.0.0.0:19092
advertised.listeners=INTERNAL://10.30.92.7:19091,EXTERNAL://10.255.206.22:19092
inter.broker.listener.name=INTERNAL
这样可以实现可以实现两个不同的网段的主机都能连接同一个kafka集群
10.30.92.0/24网段和10.255.206.0/24网段两者之间的主机互不相通,但是他们却可以通过10.30.92.78:19091和10.255.206.22:19092来连接到同一台主机上的kafka
broker.id=70
listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
listeners=INTERNAL://0.0.0.0:19091,EXTERNAL://0.0.0.0:19092
advertised.listeners=INTERNAL://10.30.92.7:19091,EXTERNAL://10.255.206.22:19092
inter.broker.listener.name=INTERNAL
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=4194304
socket.receive.buffer.bytes=4194304
socket.request.max.bytes=104857600
log.dirs=/data/soc/logs/kafka/log
num.partitions=1
num.recovery.threads.per.data.dir=1
log.retention.hours=96
log.retention.bytes=-1
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=10.30.92.70:2181,10.30.92.71:2181,10.30.92.73:2181
zookeeper.connection.timeout.ms=6000000
delete.topic.enable=true
auto.create.topics.enable=true
default.replication.factor=1
offsets.topic.replication.factor=1
配置样例1
############################# Server Basics #############################
#broker 的 id,必须唯一
broker.id=6
############################# Socket Server Settings #############################
#监听地址
#listeners=SASL_PLAINTEXT://:9092
#advertised.listeners=SASL_PLAINTEXT://10.255.206.189:9092
#sasl相关配置
#security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
#0519
#listeners=INSIDE://10.32.3.6:9091,OUTSIDE://10.255.206.189:9092
#advertised.listeners=INSIDE://10.32.3.6:9091,OUTSIDE://10.255.206.189:9092
###listener.security.protocol.map=OUTSIDE:PLAINTEXT
#listener.security.protocol.map=INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
#inter.broker.listener.name=INSIDE
listener.security.protocol.map=INTERNAL:SASL_PLAINTEXT,EXTERNAL:SASL_PLAINTEXT
listeners=INTERNAL://0.0.0.0:9091,EXTERNAL://0.0.0.0:9092
advertised.listeners=INTERNAL://10.32.3.66:9091,EXTERNAL://10.255.206.18:9092
inter.broker.listener.name=INTERNAL
#listeners=SASL_PLAINTEXT://0.0.0.0:9092
#advertised.listeners=SASL_PLAINTEXT://10.255.206.189:9092
#listeners=SASL_PLAINTEXT://kddos-node-6:9092
#advertised.listeners=SASL_PLAINTEXT://10.255.206.189:9092
#sasl相关配置
#security.inter.broker.protocol=SASL_PLAINTEXT
#sasl.mechanism.inter.broker.protocol=PLAIN
#sasl.enabled.mechanisms=PLAIN
#Broker 用于处理网络请求的线程数
num.network.threads=6
#Broker 用于处理 I/O 的线程数,推荐值 8 * 磁盘数
num.io.threads=24
#在网络线程停止读取新请求之前,可以排队等待 I/O 线程处理的最大请求个数
queued.max.requests=1000
#socket 发送缓冲区大小
socket.send.buffer.bytes=102400
#socket 接收缓冲区大小
socket.receive.buffer.bytes=102400
#socket 接收请求的最大值(防止 OOM)
socket.request.max.bytes=104857600
############################# Log Basics #############################
#数据目录
log.dirs=/data/ddos/logs/kafka/log
#清理过期数据线程数
num.recovery.threads.per.data.dir=3
#单条消息最大 10 M
message.max.bytes=10485760
############################# Topic Settings #############################
#允许自动创建 Topic
auto.create.topics.enable=true
#不允许 Unclean Leader 选举。
unclean.leader.election.enable=false
#不允许定期进行 Leader 选举。
auto.leader.rebalance.enable=false
#默认分区数
num.partitions=3
#默认分区副本数
default.replication.factor=3
#当生产者将 acks 设置为 "all"(或"-1")时,此配置指定必须确认写入的副本的最小数量,才能认为写入成功
min.insync.replicas=2
#允许删除主题
delete.topic.enable=true
############################# Log Flush Policy #############################
#建议由操作系统使用默认设置执行后台刷新
#日志落盘消息条数阈值
#log.flush.interval.messages=10000
#日志落盘时间间隔
#log.flush.interval.ms=1000
#检查是否达到flush条件间隔
#log.flush.scheduler.interval.ms=200
############################# Log Retention Policy #############################
#日志留存时间 7 天
log.retention.hours=168
#最多存储 256GB 数据
log.retention.bytes=274877906944
#日志文件中每个 segment 的大小为 1G
log.segment.bytes=1073741824
#检查 segment 文件大小的周期 5 分钟
log.retention.check.interval.ms=300000
#开启日志压缩
log.cleaner.enable=true
#日志压缩线程数
log.cleaner.threads=8
############################# Zookeeper #############################
#Zookeeper 连接参数
zookeeper.connect=10.32.3.6:2181,10.32.3.7:2181,10.32.3.8:2181
#连接 Zookeeper 的超时时间
zookeeper.connection.timeout.ms=6000
############################# Group Coordinator Settings #############################
#为了缩短多消费者首次平衡的时间,这段延时期间 10s 内允许更多的消费者加入组
group.initial.rebalance.delay.ms=10000
#心跳超时时间默认 10s,设置成 6s 主要是为了让 Coordinator 能够更快地定位已经挂掉的 Consumer
session.timeout.ms = 6s
#心跳间隔时间,session.timeout.ms >= 3 * heartbeat.interval.ms。
heartbeat.interval.ms=2s
#最长消费时间 5 分钟
max.poll.interval.ms=300000
配置样例2
kafka安全认证配置
listener.security.protocol.map=INTERNAL:SASL_PLAINTEXT,EXTERNAL:SASL_PLAINTEXT
############################# Server Basics #############################
#broker 的 id,必须唯一
broker.id=6
############################# Socket Server Settings #############################
#监听地址
#listeners=SASL_PLAINTEXT://:9092
#advertised.listeners=SASL_PLAINTEXT://10.255.206.189:9092
#sasl相关配置
#security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
#0519
#listeners=INSIDE://10.32.3.6:9091,OUTSIDE://10.255.206.189:9092
#advertised.listeners=INSIDE://10.32.3.6:9091,OUTSIDE://10.255.206.189:9092
###listener.security.protocol.map=OUTSIDE:PLAINTEXT
#listener.security.protocol.map=INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
#inter.broker.listener.name=INSIDE
listener.security.protocol.map=INTERNAL:SASL_PLAINTEXT,EXTERNAL:SASL_PLAINTEXT
listeners=INTERNAL://0.0.0.0:9091,EXTERNAL://0.0.0.0:9092
advertised.listeners=INTERNAL://10.32.3.66:9091,EXTERNAL://10.255.206.18:9092
inter.broker.listener.name=INTERNAL
#listeners=SASL_PLAINTEXT://0.0.0.0:9092
#advertised.listeners=SASL_PLAINTEXT://10.255.206.189:9092
#listeners=SASL_PLAINTEXT://kddos-node-6:9092
#advertised.listeners=SASL_PLAINTEXT://10.255.206.189:9092
#sasl相关配置
#security.inter.broker.protocol=SASL_PLAINTEXT
#sasl.mechanism.inter.broker.protocol=PLAIN
#sasl.enabled.mechanisms=PLAIN
#Broker 用于处理网络请求的线程数
num.network.threads=6
#Broker 用于处理 I/O 的线程数,推荐值 8 * 磁盘数
num.io.threads=24
#在网络线程停止读取新请求之前,可以排队等待 I/O 线程处理的最大请求个数
queued.max.requests=1000
#socket 发送缓冲区大小
socket.send.buffer.bytes=102400
#socket 接收缓冲区大小
socket.receive.buffer.bytes=102400
#socket 接收请求的最大值(防止 OOM)
socket.request.max.bytes=104857600
############################# Log Basics #############################
#数据目录
log.dirs=/data/ddos/logs/kafka/log
#清理过期数据线程数
num.recovery.threads.per.data.dir=3
#单条消息最大 10 M
message.max.bytes=10485760
############################# Topic Settings #############################
#允许自动创建 Topic
auto.create.topics.enable=true
#不允许 Unclean Leader 选举。
unclean.leader.election.enable=false
#不允许定期进行 Leader 选举。
auto.leader.rebalance.enable=false
#默认分区数
num.partitions=3
#默认分区副本数
default.replication.factor=3
#当生产者将 acks 设置为 "all"(或"-1")时,此配置指定必须确认写入的副本的最小数量,才能认为写入成功
min.insync.replicas=2
#允许删除主题
delete.topic.enable=true
############################# Log Flush Policy #############################
#建议由操作系统使用默认设置执行后台刷新
#日志落盘消息条数阈值
#log.flush.interval.messages=10000
#日志落盘时间间隔
#log.flush.interval.ms=1000
#检查是否达到flush条件间隔
#log.flush.scheduler.interval.ms=200
############################# Log Retention Policy #############################
#日志留存时间 7 天
log.retention.hours=168
#最多存储 256GB 数据
log.retention.bytes=274877906944
#日志文件中每个 segment 的大小为 1G
log.segment.bytes=1073741824
#检查 segment 文件大小的周期 5 分钟
log.retention.check.interval.ms=300000
#开启日志压缩
log.cleaner.enable=true
#日志压缩线程数
log.cleaner.threads=8
############################# Zookeeper #############################
#Zookeeper 连接参数
zookeeper.connect=10.32.3.6:2181,10.32.3.7:2181,10.32.3.8:2181
#连接 Zookeeper 的超时时间
zookeeper.connection.timeout.ms=6000
############################# Group Coordinator Settings #############################
#为了缩短多消费者首次平衡的时间,这段延时期间 10s 内允许更多的消费者加入组
group.initial.rebalance.delay.ms=10000
#心跳超时时间默认 10s,设置成 6s 主要是为了让 Coordinator 能够更快地定位已经挂掉的 Consumer
session.timeout.ms = 6s
#心跳间隔时间,session.timeout.ms >= 3 * heartbeat.interval.ms。
heartbeat.interval.ms=2s
#最长消费时间 5 分钟
max.poll.interval.ms=300000
添加认证配置
2.在kafka的安装目录下添加认证配置文件
3.kafka的server.properties中如果配置成SASL_PLAINTEXT 那么就一定要在config的目录下创建kafka_server_jaas.conf和kafka_client_jaas.conf配置文件,否则kafka无法正常启动
4.配置文件实例
KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="11111";
};
kafka_client_jaas.conf
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="admin"
password="22222"
user_admin="11111";
};
kafka_server_jaas.conf
kafka集群重启异常
修改kafka的配置后重启kafka服务 提示
Error while executing topic command : Replication factor: 1 larger than available brokers: 0.
集群重启操作步骤
1.先把所有节点的kafka停止 supervisorctl stop kafka
2.把所有节点的zookeeper重启 supervisorctl restart zookeeper
3.最后把所有节点的kafka启动 supervisorctl start kafka
4.修改kafka的配置后不能仅仅重启kafka本身 还需要先重启kafka的依赖服务zookeeper
kafka外网转发
配置项目解析
配置多个IP监听
broker.id=70
listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT,OUTSIDE:PLAINTEXT
listeners=INTERNAL://0.0.0.0:19091,EXTERNAL://0.0.0.0:19093,OUTSIDE://0.0.0.0:19092
advertised.listeners=INTERNAL://1.1.1.1:19091,EXTERNAL://2.2.2.2:19093,OUTSIDE://3.3.3.3:19092
inter.broker.listener.name=INTERNAL
View Code
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhibehaj
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22