1、1Kafka 安装配置及使用说明(铁树 2018-08-08)(Windows 平台,5 个分布式节点,修改消息大小,调用程序范例)1 安装配置采用 5 台服务器作为集群节点,IP 地址为:XX.XX.0.12-XX.XX.0.16.每台机器依次安装配置 JDK、zookeeper、kafka,先安装完一台机器,然后拷贝到其他机器,再修改配置文件。1.1 JDK 安装配置JDK 版本:jdk1.7.0_51_x64 解压版(jdk1.7.0_51_x64.rar)解压到 C 盘 kafka 目录下,如图所示。2设置环境变量:JAVA_HOME:C:kafkajdk1.7.0_51_x64PAT
2、H:C:kafkajdk1.7.0_51_x64bin1.2 zookeeper 安装配置1.2.1解压安装zookeeper 版本:3.4.12 (zookeeper-3.4.12.tar.gz)3解压到 C 盘 kafka 目录下,如图所示。1.2.2创建 zookeeper 数据目录和日志目录zkdata #存放快照 C:kafkazookeeper-3.4.12zkdatazkdatalog#存放日志C:kafkazookeeper-3.4.12zkdatalog41.2.3修改配置文件进入到“C:kafkazookeeper-3.4.12”目录下的 conf 目录中,复制 zoo_s
3、ample.cfg(官方提供的 zookeeper 的样板文件) ,重命名为 zoo.cfg(官方指定的文件命名规则) 。默认内容:5修改后配置文件为:# The number of milliseconds of each tick6tickTime=2000# The number of ticks that the initial # synchronization phase can takeinitLimit=10# The number of ticks that can pass between # sending a request and getting an acknowl
4、edgementsyncLimit=5# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just # example sakes.dataDir=C:/kafka/zookeeper-3.4.12/zkdatadataLogDir=C:/kafka/zookeeper-3.4.12/zkdatalog# the port at which the clients will connectclientPort=12181server.1=XX.XX.0.12:12888
5、:13888server.2=XX.XX.0.13:12888:13888server.3=XX.XX.0.14:12888:13888server.4=XX.XX.0.15:12888:13888server.5=XX.XX.0.16:12888:13888# the maximum number of client connections.# increase this if you need to handle more clients7#maxClientCnxns=60# Be sure to read the maintenance section of the # adminis
6、trator guide before turning on autopurge.# http:/zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance# The number of snapshots to retain in dataDirautopurge.snapRetainCount=100# Purge task interval in hours# Set to “0“ to disable auto purge featureautopurge.purgeInterval=24配置文件解释:#tic
7、kTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。#initLimit:这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端8不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 10个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2
8、000=20 秒#syncLimit:这个配置项标识 Leader 与Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是5*2000=10秒#dataDir:快照日志的存储路径#dataLogDir:事物日志的存储路径,如果不配置这个那么事物日志会默认存储到dataDir制定的目录,这样会严重影响zk的性能,当zk吞吐量较大的时候,产生的事物日志、快照日志太多#clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。修改他的端口改大点通过配置 a
9、utopurge.snapRetainCount 和 autopurge.purgeInterval 这两个参数能够实现定时清理了。这两个参数都是在zoo.cfg中配置的:9autopurge.purgeInterval 这个参数指定了清理频率,单位是小时,需要填写一个1或更大的整数,默认是0,表示不开启自己清理功能。autopurge.snapRetainCount 这个参数和上面的参数搭配使用,这个参数指定了需要保留的文件数目。默认是保留3个。1.2.4创建 myid 文件在“C:kafkazookeeper-3.4.12zkdata”目录下,创建 myid文件(无后缀名) ,内容为对应 IP 地址的主机号。如 server.1 则内容为 1。1.3 Kafka 安装配置1.3.1解压安装kafka 版本:kafka1.1.1(kafka_2.11-1.1.1.tgz)10解压到 C 盘 kafka 目录下,如图所示。1.3.2创建消息目录kafkalogs :C:kafkakafka_2.11-1.1.1kafkalogs1.3.3修改配置文件打开 C:kafkakafka_2.11-1.1.1config server.properties