热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Kafka集群的高效部署与优化策略

本文探讨了Kafka集群的高效部署与优化策略。首先介绍了Kafka的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护Kafka集群。

kafka下载:

http://kafka.apache.org/downloads

版本:

 

kafka_2.11-1.1.1.tgz

 

解压:

tar  -zxvf  kafka_2.11-1.1.1.tgz   -C /opt/install

 

[root@hadoop002 kafka_2.11-1.1.1]# cd  config/

 

修改配置 :

参数说明:

dataDir顾名思义就是zookeeper保存数据的目录,默认情况下zookeeper将写数据的日志文件也保存在这个目录里;
clientPort这个端口就是客户端连接Zookeeper服务器的端口,Zookeeper会监听这个端口接受客户端的访问请求;
server.A=B:C:D中的A是一个数字,表示这个是第几号服务器,B是这个服务器的IP地址,C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口,D是在leader挂掉时专门用来进行选举leader所用的端口。

 

vi zookeeper.properties ########### clouster config ########################3

server.1= 192.168.25.143:2888:3888
server.2= 192.168.25.144:2888:3888
server.3= 192.168.25.145:2888:3888
server.4= 192.168.25.146:2888:3888
LogDir=/data/zookeeper/logs
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes. 在dataDir 目录下创建myid 的文本,里面写上一个数字,每个zk 保持唯一,此处分别是1,2,3,4
# 可以 直接 echo “1” >/data/zookeeper/myid

dataDir=/data/zookeeper
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

 

 vi server.properties 

修改:

############################# Server Basics #############################
# The id of the broker. 集群中每个 broker.id 必须保证唯一 This must be set to a unique integer for each broker.
broker.id=0
delete.topic.enable=true
############################# Log Basics #############################
# A comma separated list of directories under which to store log files
#kafka 中所有的数据中保存在logger 中
log.dirs=/data/kafka/log
# The default number of log partitions per topic. More partitions allow greater
# parallelism for consumption, but this will also result in more files across
# the brokers.
num.partitiOns=1
# The number of threads per data directory to be used for log recovery at startup and flushing at shutdown.
# This value is recommended to be increased for installations with data dirs located in RAID array.
num.recovery.threads.per.data.dir=1

############################# Zookeeper #############################
# Zookeeper connection string (see zookeeper docs for details).
# This is a comma separated host:port pairs, each corresponding to a zk
# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".
# You can also append an optional chroot string to the urls to specify the
# root directory for all kafka znodes.
zookeeper.cOnnect=hadoop002:2181,hadoop003:2181,hadoop004:2181
# Timeout in ms for connecting to zookeeper
zookeeper.connection.timeout.ms=6000
############################# Group Coordinator Settings #############################

 

 

 

启动集群:

/opt/Kafka/kafka_2.11-1.1.1/bin/zookeeper-server-stop.sh
/opt/Kafka/kafka_2.11-1.1.1/bin/kafka-server-stop.sh
/opt/Kafka/kafka_2.11-1.1.1/bin/zookeeper-server-start.sh /opt/Kafka/kafka_2.11-1.1.1/config/zookeeper.properties &
/opt/Kafka/kafka_2.11-1.1.1/bin/kafka-server-start.sh /opt/Kafka/kafka_2.11-1.1.1/config/server.properties &

 

 

或者使用脚本:

/etc/init.d$ vi kafka-start-up.sh

#!/bin/bash
#export KAFKA_HOME=$PATH
export KAFKA_HOME=/opt/Kafka/kafka_2.11-1.1.1
#chkconfig:2345 30 80
#description:kafka
#processname:kafka
case $1 in
start)
chmod -R 777 $KAFKA_HOME/logs
chmod -R 777 /data/kafka
$KAFKA_HOME/bin/zookeeper-server-start.sh $KAFKA_HOME/config/zookeeper.properties
$KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties

;;
stop)
$KAFKA_HOME/bin/zookeeper-server-stop.sh
$KAFKA_HOME/bin/kafka-server-stop.sh
;;
*)
echo "require start|stop" ;;
esac

 



推荐阅读
author-avatar
菲菲鱼2009
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有