kafka的安装与集群部署-1
一、kafka是配合zookeeper使用的所以我们在安装的时候需要下载zookeeper和kafka。(版本根据需要自行配置,我这里采用的是zookeeper3.4.14和kafka1.1.1)
1.zookeeper下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14
2.kafka下载地址:https://kafka.apache.org/downloads
二、这里为了方便我用一台机器搭建一个集群。
1.zookeeper的集群搭建
1)zookeeper的放在/usr/local下面
2)解压修改配置
- 解压并修改目录名称为zookeeper-1
- 复制conf中的zoo_sample.cfg为zoo.cfg
- 修改zoo.cfg的配置
# 最小时间单元默认ms tickTime=2000 # 服务器等待follower启动完成和数据同步的时间,tickTime的倍数 initLimit=10 # 心跳延时时间,tickTime的倍数 syncLimit=5 # 数据快照目录 dataDir=/usr/local/zookeeper-1/data # 日志 dataLogDir=/usr/local/zookeeper-1/logs # 端口 clientPort=2181 # 服务器集群配置 server.0=192.168.5.100:2888:3888
server.1=192.168.5.100:2889:3889
- 加入myid(在/usr/local/zookeeper-1/data下面)
写入标号0
3)启动
/usr/local/zookeeper-1/bin/zkServer.sh start
4)其他节点复制zookeeper-1为zookeeper-2,修改配置文件zoo.cfg为
# 最小时间单元默认ms tickTime=2000 # 服务器等待follower启动完成和数据同步的时间,tickTime的倍数 initLimit=10 # 心跳延时时间,tickTime的倍数 syncLimit=5 # 数据快照目录 dataDir=/usr/local/zookeeper-2/data # 日志 dataLogDir=/usr/local/zookeeper-2/logs # 端口 clientPort=2182 # 服务器集群配置 server.0=192.168.5.100:2888:3888 server.1=192.168.5.100:2889:3889
5)修改节点2标号
6)启动子节点
/usr/local/zookeeper-2/bin/zkServer.sh start
7)查看集群状态
2.搭建kafka集群
1)kafka放入/usr/local下
2)解压并修改配置
- 解压修改名称为kafka-1
- 修改配置 (conf/server.properteis)
# 唯一标识 broker.id=0 listeners=PLAINTEXT://192.168.5.100:9092 # 请求的网络线程数 num.network.threads=3 # 处理请求IO的数目 num.io.threads=8 # socket连接所用 socket.send.buffer.bytes=102400 socket.receive.buffer.bytes=102400 socket.request.max.bytes=104857600 # 数据存放路径 log.dirs=/usr/local/kafka-1/kafka-logs # 默认的分区数量 num.partitions=1 # 日志恢复的线程数 num.recovery.threads.per.data.dir=1 # topic的offset备份数量 offsets.topic.replication.factor=1 # 副本和ISR数 transaction.state.log.replication.factor=1 transaction.state.log.min.isr=1 # 日志文件默认保存时间 log.retention.hours=168 # topic 存在的分区的一个文件的最大的容量 log.segment.bytes=1073741824 # 检查日志文件删除的间隔时间 log.retention.check.interval.ms=300000 # zookeeper的连接地址 zookeeper.connect=192.168.5.100:2181,192.168.5.100:2182 # 连接最大时间 zookeeper.connection.timeout.ms=6000 # 组内调整延时,避免频繁rebalance group.initial.rebalance.delay.ms=0
- 守护进程启动
/usr/local/kafka-1/bin/kafka-server-start.sh -daemon /usr/local/kafka-1/config/server.properties
3)复制kafka-1到kafka-2,并修改配置
# 唯一标识 broker.id=1 listeners=PLAINTEXT://192.168.5.100:9093 # 请求的网络线程数 num.network.threads=3 # 处理请求IO的数目 num.io.threads=8 # socket连接所用 socket.send.buffer.bytes=102400 socket.receive.buffer.bytes=102400 socket.request.max.bytes=104857600 # 数据存放路径 log.dirs=/usr/local/kafka-2/kafka-logs # 默认的分区数量 num.partitions=1 # 日志恢复的线程数 num.recovery.threads.per.data.dir=1 # topic的offset备份数量 offsets.topic.replication.factor=1 # 副本和ISR数 transaction.state.log.replication.factor=1 transaction.state.log.min.isr=1 # 日志文件默认保存时间 log.retention.hours=168 # topic 存在的分区的一个文件的最大的容量 log.segment.bytes=1073741824 # 检查日志文件删除的间隔时间 log.retention.check.interval.ms=300000 # zookeeper的连接地址 zookeeper.connect=192.168.5.100:2181,192.168.5.100:2182 # 连接最大时间 zookeeper.connection.timeout.ms=6000 # 组内调整延时,避免频繁rebalance group.initial.rebalance.delay.ms=0
- 守护启动
/usr/local/kafka-2/bin/kafka-server-start.sh -daemon /usr/local/kafka-2/config/server.properties
4)查看集群状态
可以看到2个节点都已经在zookeeper上面了,至此搭建kafka集群完成。