在CentOS上對Kafka進行調優配置,可以參考以下步驟和建議:
ulimit -n 65535
/etc/sysctl.conf
文件,添加以下內容:net.core.somaxconn = 65535
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
vm.swappiness = 1
server.properties
:
broker.id
:確保每個broker的ID唯一。listeners
:設置監聽地址和端口。log.dirs
:設置日志目錄,確保有多個磁盤以提高性能。num.partitions
:增加分區數以提高并行處理能力。default.replication.factor
:設置默認副本因子,通常為3。min.insync.replicas
:設置最小同步副本數,確保數據可靠性。log.retention.hours
:設置日志保留時間。log.segment.bytes
:設置日志段大小。log.flush.interval.messages
和 log.flush.interval.ms
:設置日志刷新間隔。num.network.threads
和 num.io.threads
:增加網絡和I/O線程數。socket.send.buffer.bytes
和 socket.receive.buffer.bytes
:增加套接字緩沖區大小。group.initial.rebalance.delay.ms
:設置消費者組重新平衡的延遲。zoo.cfg
:
dataDir
:設置Zookeeper數據目錄。clientPort
:設置Zookeeper客戶端端口。maxClientCnxns
:設置最大客戶端連接數。tickTime
:設置心跳間隔。initLimit
和 syncLimit
:設置初始化和同步限制。server.properties
中添加:jmx.port=9999
jmx.host=localhost
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} [%t] %-5p %c %x - %m%n
kafka-producer-perf-test.sh
和 kafka-consumer-perf-test.sh
。通過以上步驟和建議,可以有效地對CentOS上的Kafka進行調優配置,提高其性能和穩定性。