中间件Kafka 高可用企业级集群交付文档

释放双眼,带上耳机,听听看~!
Kafka集群开启JMX端口后,在Broker执行kafka-topic命令会存在JMX端口占用情况,所有命令需要到Kafka Client节点执行
🤖 由 ChatGPT 生成的文章摘要

Kafka集群配置说明

IP 架构
192.168.31.70 Kafka01-Broker节点
192.168.31.71 Kafka02-Broker节点
192.168.31.72 Kafka03-Broker节点
192.168.31.70 Zookeeper-01
192.168.31.71 Zookeeper-02
192.168.31.72 Zookeeper-03
192.168.31.73 Kafka Client,Kafka manager

Kafka集群开启JMX端口后,在Broker执行kafka-topic命令会存在JMX端口占用情况,所有命令需要到Kafka Client节点执行

配置文件介绍

以下配置文件均在/opt/app/conf/kafka/server.properties中填写

一、Kafka服务配置

参数 说明
broker.id=3 唯一标识在集群中的ID,默认交付集群为1-3
host.name=1.1.1.1 Kafka主机名,按照实际名进行填写
port=9092 Kafka端口号,默认交付端口号
auto.create.topics.enable=true 是否允许自动创建topic,若是false,就需要通过命令创建topic
kafka.scala.version=2.13 Kafka版本号

二、高可用配置

参数 说明
broker.rack=abcdocker  
default.replication.factor=3  

三、Kafka Log相关配置

参数 说明
log.dirs=/data/kafka/kafka-logs 日志存放目录,多个目录使用逗号分割
log.flush.interval.messages=10000 每当消息记录数达到1000时flush一次数据到磁盘,log文件”sync”到磁盘之前累积的消息条数,因为磁盘IO操作是一个慢操作,但又是一个”数据可靠性"的必要手段,所以此参数的设置,需要在"数据可靠性"与"性能"之间做必要的权衡.如果此值过大,将会导致每次"fsync"的时间较长(IO阻塞),如果此值过小,将会导致"fsync"的次数较多,这也意味着整体的client请求有一定的延迟.物理server故障,将会导致没有fsync的消息丢失
log.flush.interval.ms=1000 当达到1000(ms)时,执行一次强制的flush操作。interval.ms和interval.messages无论哪个达到,都会flush。

四、数据删除策略

参数 说明
log.cleaner.enable=true 是否开启日志清理
log.cleanup.policy=delete 日志清理策略选择有:delete和compact主要针对过期数据的处理,或是日志文件达到限制的额度,会被 topic创建时的指定参数覆盖
log.retention.bytes=-1 topic每个分区的最大文件大小,一个topic的大小限制 = 分区数*log.retention.bytes。-1没有大小限log.retention.bytes和log.retention.minutes任意一个达到要求,都会执行删除,会被topic创建时的指定参数覆盖
log.retention.hours=168 日志保存时间 `hours,minutes,默认为7天(168小时)。超过这个时间会根据policy处理数据。bytes和minutes无论哪个先达到都会触发。
log.segment.bytes=1073741824 topic的分区是以一堆segment文件存储的,这个控制每个segment的大小
log.segment.delete.delay.ms=60000 设置日志被标记删除后,保留多久彻底删除,1分钟
message.max.bytes=1000000 消息体的最大大小,单位是字节
delete.topic.enable=true 物理删除topic,如果设置为false则删除topic会被标记删除
log.retention.check.interval.ms=300000 日志片段文件的检查周期,查看它们是否达到了删除策略的设置(log.retention.hours或log.retention.bytes)
replica.fetch.max.bytes=1000000 broker可复制的消息的最大字节数。这个值应该比message.max.bytes大,否则broker会接收此消息,但无法将此消息复制出去,从而造成数据丢失。

五、性能调优

参数 说明
compression.type=producer Broker 端的 compression.type 属性默认值为 producer,即直接继承 producer 端所发来消息的压缩方式,无论消息采用何种压缩或者不压缩,broker 都原样存储
group.max.session.timeout.ms=1800000 注册使用者允许的最大会话超时。 超时时间越长,消费者在心跳之间处理消息的时间就越多,而检测故障的时间就越长
group.min.session.timeout.ms=6000 Consumer注册时允许的最小会话超时时间。单位:毫秒
num.io.threads=8 处理磁盘I/O的线程数
num.network.threads=3 处理网络请求的最大线程数
num.partitions=3 每个topic的分区个数,若是在topic创建时候没有指定的话会被topic创建时的指定参数覆盖
num.recovery.threads.per.data.dir=1 使用一个可配置的线程池来处理日志的段
num.replica.fetchers=2 控制每个 broker 上用于副本同步的 fetcher 线程数量。增加这个值可以加快副本同步速度 (过大会影响IO)
offsets.topic.replication.factor=3 默认offsets.topic.replication.factor的值设置为1,意味着consumer_offsets主题只有一个副本。这种情况下,如果存储该副本的broker发生宕机,那么整个__consumer_offsets分区也会随之宕机。这将直接影响到使用该分区存储消费组偏移位置的消费者,因为偏移量无法提交,导致生产者可以发送消息,但消费者无法正常消费.它决定了内部主题consumer_offsets的副本因子大小。这个内部主题用于存储消费者的偏移量信息,是Kafka确保消息消费状态同步的重要机制
queued.max.requests=500 默认值为500。在网络线程停止读取新请求之前,可以排队等待I/O线程处理的最大请求个数
replica.lag.time.max.ms=10000 如果这个时间内follower没有发起fetch请求,被认为dead,从ISR移除
socket.receive.buffer.bytes=102400 socket的接受缓冲区
socket.send.buffer.bytes=102400 socket的发送缓冲区(SO_SNDBUF)
unclean.leader.election.enable=true 是否启用不在 ISR 集合中的副本作为最后的选择,尽管这样做可能导致数据丢失。
socket.request.max.bytes=419430400 socket请求的最大数值,防止serverOOM,message.max.bytes必然要小于socket.request.max.bytes,会被topic创建时的指定参数覆盖

六、Kafka-Zookeeper配置

参数 配置
zookeeper.connect=192.168.31.70:2181,192.168.31.71:2181,192.168.31.72:2181 指定Zookeeper集群地址,也可以写host
zookeeper.connection.timeout.ms=6000 ZooKeeper的连接超时时间 (单位为毫秒)
zookeeper.session.timeout=6000 ZooKeeper的最大超时时间,就是心跳的间隔,若是没有反映,代表Zookeeper宕机

七、SASL安全配置

SASL详细配置参数可以参考下面文档

Kafka 安全认证SASL

参数 说明
security.inter.broker.protocol=SASL_PLAINTEXT  
sasl.mechanism.inter.broker.protocol=PLAIN  
sasl.enabled.mechanisms=PLAIN  
listeners=SASL_PLAINTEXT://10.1.1.1:9092  

Zookeeper集群部署

配置文件介绍

Zookeeper配置文件默认路径为/opt/app/conf/zookeeeper/zoo.cfg

参数 说明
tickTime=2000 确保ZooKeeper服务器之间或客户端与服务器之间的连接是活跃的。此外,它还用于设置会话的最小超时时间。会话的最小超时时间是 2 * tickTime,这意味着如果客户端在两倍的 tickTime 时间内没有收到服务器的响应,服务器将认为客户端已经断开连接默认2秒
initLimit=10 leader和follower初始通信时限(leader和follower初始连接能容忍的最多心跳数(tickTime的数量)
syncLimit=5 leader和follower同步通信时限
dataDir=/data/zookeeper Zookeeper数据存储目录
clientPort=2181 Zookeeper端口号
maxClientCnxns=1000 用于限制单个客户端与单台ZooKeeper服务器之间的最大连接数。这个参数通过IP地址来区分不同的客户端,默认值为60。如果将其设置为0,则表示不对并发连接数进行任何限制
autopurge.snapRetainCount=3 snapshot文件清理策略,指定了需要保留的文件数目。默认是保留3个
autopurge.purgeInterval=1 开启清理事务日志和快照文件的功能,单位是小时。默认是0,表示不开启自动清理功能。
4lw.commands.whitelist=mntr,conf,cons,crst,dump,envi,gtmk,isro,ruok,srst,srvr,stat,stmk,wchc,wchp,wchs 4 个字母的单词命令是禁用的 - 在配置 ZooKeeper 时启用它们的命令
tcpKeepAlive=false server之间的tcp链接是否为长连接,默认false.
server.1=xxx主机名:2888:3888 ZK集群1节点,需要填写主机名
server.2=xxx主机名:2888:3888 ZK集群2节点,需要填写主机名
server.3=xxx主机名:2888:3888 ZK集群3节点,需要填写主机名

部署交付

修改主机名和host

# vim /etc/hosts
192.168.31.70  zook01
192.168.31.71  zook02
192.168.31.72  zook03

数据存储在/data/zookeeper

mkdir -p /data/zookeeper

zookeeper为3台节点,需在每台节点上执行相同步骤

wget -P /opt/  https://archive.apache.org/dist/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz 
cd /opt/ && tar xf apache-zookeeper-3.6.3-bin.tar.gz
ln -s /opt/apache-zookeeper-3.6.3-bin /opt/zookeeper

编辑配置文件 /opt/app/conf/zookeeper/zoo.cfg

mkdir -p /opt/app/conf/zookeeper

cat >/opt/app/conf/zookeeper/zoo.cfg<<EOF
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper
clientPort=2181
maxClientCnxns=1000
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
4lw.commands.whitelist=mntr,conf,cons,crst,dump,envi,gtmk,isro,ruok,srst,srvr,stat,stmk,wchc,wchp,wchs
tcpKeepAlive=false

server.1=zook01:2888:3888
server.2=zook02:2888:3888
server.3=zook03:2888:3888
EOF

还需要额外在/data/zookeeper/下创建myid文件,这里配置每台节点不一样,根据实际情况修改

echo "1" >>/data/zookeeper/myid

#Zookeeper 01节点ID设置为1
#Zookeeper 02节点ID设置为2
#Zookeeper 03节点ID设置为3

启动Zookeeper

[root@zook01 bin]# cd /opt/zookeeper/bin/ && ./zkServer.sh --config /opt/app/conf/zookeeper start

中间件Kafka 高可用企业级集群交付文档

启动文件目录/opt/app/conf/zookeeper

查看每台节点集群状态,此时集群已经部署完毕

root@zook01:/opt/zookeeper/bin# ./zkServer.sh --config /opt/app/conf/zookeeper status
ZooKeeper JMX enabled by default
Using config: /opt/app/conf/zookeeper/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower      --->从节点

root@zook02:/opt/zookeeper/bin# ./zkServer.sh --config /opt/app/conf/zookeeper status
ZooKeeper JMX enabled by default
Using config: /opt/app/conf/zookeeper/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader        --->主节点

root@zook03:/opt/zookeeper/bin#  ./zkServer.sh --config /opt/app/conf/zookeeper status
ZooKeeper JMX enabled by default
Using config: /opt/app/conf/zookeeper/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower      --->从节点

Kafka部署集群

  • Kafka为3节点,Zookeeper同为3节点

所有节点都需要安装JDK环境 (kafka-manager节点需要JDK11版本)

wget https://d.frps.cn/file/tools/jdk/jdk-8u231-linux-x64.tar.gz  --no-check-certificate
mkdir /usr/java
tar zxvf jdk-8u231-linux-x64.tar.gz -C /usr/java
ln -s /usr/java/jdk1.8.0_231/ /usr/java/jdk
cat > /etc/profile.d/java_home.sh << EOF
# set java environment  
export JAVA_HOME=/usr/java/jdk
export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar:\$JAVA_HOME/jre/lib/rt.jar
export PATH=\$PATH:\$JAVA_HOME/bin
EOF
source /etc/profile

Kafka集群部署

wget -P /opt https://downloads.apache.org/kafka/3.9.0/kafka_2.13-3.9.0.tgz
cd  /opt/ && tar xf kafka_2.13-3.9.0.tgz 
ln -s /opt/kafka_2.13-3.9.0 /opt/kafka

所有节点创建kafka数据存储目录以及配置文件目录

mkdir -p /data/kafka/kafka-logs
mkdir -p /opt/app/conf/kafka

kafka01节点主配置文件

cat >/opt/app/conf/kafka/server.properties<<EOF

broker.id=1
broker.rack=abcdocker
host.name=zook01

#log
log.dirs=/data/kafka/kafka-logs
log.flush.interval.messages=10000
log.flush.interval.ms=1000
log.retention.check.interval.ms=300000

port=9092
replica.fetch.max.bytes=1000000

#zk
zookeeper.connect=zook01:2181,zook02:2181,zook03:2181
zookeeper.connection.timeout.ms=6000
zookeeper.session.timeout=6000

#sasl
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
listeners=SASL_PLAINTEXT://192.168.31.70:9092

#kafka
auto.create.topics.enablee=true
compression.type=producer
default.replication.factor=3
delete.topic.enable=true
group.max.session.timeout.ms=1800000
group.min.session.timeout.ms=6000
kafka.scala.version=2.13

log.cleaner.enablee=true
log.cleanup.policy=delete
log.retention.bytes=-1
log.retention.hours=168
log.segment.bytes=1073741824
log.segment.delete.delay.ms=60000
message.max.bytes=1000000
num.io.threads=8
num.network.threads=3
num.partitions=3
num.recovery.threads.per.data.dir=1
num.replica.fetchers=2
offsets.topic.replication.factor=3
queued.max.requests=500
replica.log.time.max.ms=10000
socket.receive.buffer.bytes=102400
socket.send.buffer.bytes=102400
unclean.leader.election.enable=true
EOF

kafka02节点主配置文件

cat >/opt/app/conf/kafka/server.properties<<EOF

broker.id=2
broker.rack=abcdocker
host.name=zook02

#log
log.dirs=/data/kafka/kafka-logs
log.flush.interval.messages=10000
log.flush.interval.ms=1000
log.retention.check.interval.ms=300000

port=9092
replica.fetch.max.bytes=1000000

#zk
zookeeper.connect=zook01:2181,zook02:2181,zook03:2181
zookeeper.connection.timeout.ms=6000
zookeeper.session.timeout=6000

#sasl
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
listeners=SASL_PLAINTEXT://192.168.31.71:9092

#kafka
auto.create.topics.enablee=true
compression.type=producer
default.replication.factor=3
delete.topic.enable=true
group.max.session.timeout.ms=1800000
group.min.session.timeout.ms=6000
kafka.scala.version=2.13

log.cleaner.enablee=true
log.cleanup.policy=delete
log.retention.bytes=-1
log.retention.hours=168
log.segment.bytes=1073741824
log.segment.delete.delay.ms=60000
message.max.bytes=1000000
num.io.threads=8
num.network.threads=3
num.partitions=3
num.recovery.threads.per.data.dir=1
num.replica.fetchers=2
offsets.topic.replication.factor=3
queued.max.requests=500
replica.log.time.max.ms=10000
socket.receive.buffer.bytes=102400
socket.send.buffer.bytes=102400
unclean.leader.election.enable=true
EOF

kafka03节点主配置文件

cat >/opt/app/conf/kafka/server.properties<<EOF

broker.id=3
broker.rack=abcdocker
host.name=zook03

#log
log.dirs=/data/kafka/kafka-logs
log.flush.interval.messages=10000
log.flush.interval.ms=1000
log.retention.check.interval.ms=300000

port=9092
replica.fetch.max.bytes=1000000

#zk
zookeeper.connect=zook01:2181,zook02:2181,zook03:2181
zookeeper.connection.timeout.ms=6000
zookeeper.session.timeout=6000

#sasl
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
listeners=SASL_PLAINTEXT://192.168.31.72:9092

#kafka
auto.create.topics.enablee=true
compression.type=producer
default.replication.factor=3
delete.topic.enable=true
group.max.session.timeout.ms=1800000
group.min.session.timeout.ms=6000
kafka.scala.version=2.13

log.cleaner.enablee=true
log.cleanup.policy=delete
log.retention.bytes=-1
log.retention.hours=168
log.segment.bytes=1073741824
log.segment.delete.delay.ms=60000
message.max.bytes=1000000
num.io.threads=8
num.network.threads=3
num.partitions=3
num.recovery.threads.per.data.dir=1
num.replica.fetchers=2
offsets.topic.replication.factor=3
queued.max.requests=500
replica.log.time.max.ms=10000
socket.receive.buffer.bytes=102400
socket.send.buffer.bytes=102400
unclean.leader.election.enable=true
EOF

我们还需要在本地添加client加密配置文件,因为配置了密码,本地kafka-topic.sh执行时也需要指定密码配置文件

这个文件是配置Broker服务端的JASS,在Kafka程序目录的config目录中创建kafka_servre_jass.conf

需要在所有机器上同步执行

cat >/opt/app/conf/kafka/kafka_server_jaas.conf<<EOF
KafkaServer {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="kafka"
    password="kafka-secret"
    user_kafka="kafka-secret";
};
EOF
  • Username 用户名
  • Password 密码
  • user_admin 密码

开启jmx端口号

二进制Kafka集群接入JMX_Exporter以及Kafka_exporter监控

Kafka开通JMX端口配置

#添加jmx端口号,默认9988
vim /opt/kafka/bin/kafka-server-start.sh

#在JMX参数上面添加9999端口号
 export JMX_PORT=9999
#jmx端口不可以设置9999,会影响执行topic脚本

中间件Kafka 高可用企业级集群交付文档

修改Kafka启动脚本,引用kafka_servre_jass.conf配置

vim /opt/kafka/bin/kafka-run-class.sh

#在JMX参数旁边添加引用kafka_servre_jass.conf配置
KAFKA_JMX_OPTS="$KAFKA_JMX_OPTS  -Djava.security.auth.login.config=/opt/app/conf/kafka/kafka_server_jaas.conf"

中间件Kafka 高可用企业级集群交付文档

现在已经开启了客户端-->broker的SASL加密,我们需要进行验证

验证同样需要配置密码配置文件

mkdir /ssl

cat >>/ssl/kafka.config<<EOF
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka" password="kafka-secret";
EOF

#username=SASL认证用户名
#paasword=SASL认证密码
#所有节点创建

启动Kafka (所有节点同步创建即可)

[root@zook01 ~]# cd /opt/kafka
[root@zook01 kafka]# ./bin/kafka-server-start.sh -daemon /opt/app/conf/kafka/server.properties

#指定配置文件路径/opt/app/conf/kafka/server.properties

执行以下命令,进入命令行工具所在目录。

cd /opt/kafka/bin

#Kafka生产者,消费者,topic命令都需要进入到/opt/kafka/bin中执行

执行以下命令,向 Topic 发送消息。

./kafka-console-producer.sh --bootstrap-server <Kafka 连接地址> --topic <topic_name> --producer.config /ssl/kafka.config
./kafka-console-producer.sh --bootstrap-server 192.168.31.70:9092 --topic kafka_test --producer.config /ssl/kafka.config

手动创建 kafka_test topic

root@zook03:/opt/kafka/bin# ./kafka-topics.sh --create --topic kafka_test_01 --bootstrap-server zook01:9092,zook02:9092,zook03:9092 --partitions 3 --replication-factor 1 --command-config /ssl/kafka.config
WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.
Created topic kafka_test_01.

#--topc kafka_test_01为Kafka topic名称
#zook01:9092,zook02:9092,zook03:9092  Kafka Broker节点(可以写ip,或者host解析)

生产数据

./kafka-console-producer.sh --bootstrap-server <Kafka 连接地址> --topic <topic_name> --producer.config /ssl/kafka.config
root@zook03:/opt/kafka/bin# ./kafka-console-producer.sh --bootstrap-server zook01:9092,zook02:9092,zook03:9092 --topic kafka_test_01 --producer.config /ssl/kafka.config
>ddddd
>cccc
>vvvv
>ffff
>

中间件Kafka 高可用企业级集群交付文档

消费数据

./kafka-console-consumer.sh --bootstrap-server <Kafka 连接地址> --topic <topic_name> --group <group_name> --from-beginning --consumer.config /ssl/kafka.config
./kafka-console-consumer.sh --bootstrap-server  zook01:9092,zook02:9092,zook03:9092 --topic kafka_test --from-beginning --consumer.config /ssl/kafka.config

中间件Kafka 高可用企业级集群交付文档

查看所有topic

[root@kafka-manager bin]# ./kafka-topics.sh --bootstrap-server zook01:9092,zook02:9092,zook03:9092 --command-config /ssl/kafka.config --list
__consumer_offsets
kafka_test
kafka_test_01

Kafka Manager部署

github下载kafka-manager包

wget https://github.com/yahoo/CMAK/releases/download/3.0.0.6/cmak-3.0.0.6.zip
unzip cmak-3.0.0.6.zip
mv cmak-3.0.0.6 /opt/
ln -s /opt/cmak-3.0.0.6 /opt/cmak

Kafka-manager需要JDK 11.0版本

wget wget https://repo.huaweicloud.com/openjdk/11.0.1/openjdk-11.0.1_linux-x64_bin.tar.gz  --no-check-certificate
mkdir /usr/java
tar xf openjdk-11.0.1_linux-x64_bin.tar.gz -C /usr/java
ln -s /usr/java/jdk-11.0.1 /usr/java/jdk
cat > /etc/profile.d/java_home.sh << EOF
# set java environment  
export JAVA_HOME=/usr/java/jdk
export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar:\$JAVA_HOME/jre/lib/rt.jar
export PATH=\$PATH:\$JAVA_HOME/bin
EOF
source /etc/profile

#检查版本
[root@kafka-manager java]# java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)

修改CMAK中Zookeeper连接信息

[root@kafka-manager ~]# vim /opt/cmak/conf/application.conf

# Settings prefixed with 'kafka-manager.' will be deprecated, use 'cmak.' instead.
# https://github.com/yahoo/CMAK/issues/713
#kafka-manager.zkhosts="zook01:2181,zook02:2181,zook03:2181"
kafka-manager.zkhosts="zook01:2181,zook02:2181,zook03:2181"
#kafka-manager.zkhosts=${?ZK_HOSTS}
cmak.zkhosts="zook01:2181,zook02:2181,zook03:2181"
#cmak.zkhosts=${?ZK_HOSTS}

#注释多余配置文件,保留kafka-manager.zkhosts和cmak.zkhosts
#填写ZK连接信息

配置用户名密码
cmak需要配置用户访问密码,同样在application.conf中调整

[root@kafka-manager ~]# vim /opt/cmak/conf/application.conf

#开启密码访问,默认为flase
basicAuthentication.enabled=true

#管理员用户
basicAuthentication.username="admin"
#管理员密码
basicAuthentication.password="password"

启动cmak

/opt/cmak/bin
nohup ./cmak  -Dconfig.file=/opt/cmak/conf/application.conf -Dhttp.port=9000 &

中间件Kafka 高可用企业级集群交付文档

检查9000端口是否正常

[root@kafka-manager ~]# lsof -i:9000
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    39864 root  140u  IPv6  97965      0t0  TCP *:cslistener (LISTEN)
[root@kafka-manager ~]#
[root@kafka-manager ~]# netstat -lntup|grep 9000
tcp6       0      0 :::9000                 :::*                    LISTEN      39864/java
[root@kafka-manager ~]#
[root@kafka-manager ~]#
[root@kafka-manager ~]# curl localhost:9000 -I
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Kafka-Manager"
Date: Fri, 29 Nov 2024 03:09:56 GMT
Content-Length: 0
访问kafka-manager (CMAK)地址,默认端口号9000
http://192.168.31.73:9000

#有认证默认用户admin
#默认密码password

验证集群

中间件Kafka 高可用企业级集群交付文档
中间件Kafka 高可用企业级集群交付文档

中间件Kafka 高可用企业级集群交付文档

给TA打赏
共{{data.count}}人
人已打赏
Kafka

二进制Kafka集群接入JMX_Exporter以及Kafka_exporter监控

2023-12-21 15:45:34

ELKStack

ELK kibana-证书过期

2018-11-8 14:39:51

2 条回复 A文章作者 M管理员
  1. 午饭

    为什么不选择K8S部署呢

    • 新闻联播老司机

      也可以用k8s的,我这边PAAS平台比较多,考虑io和数据量拆分的问题,业务组比较多,就都拆分出来了

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索