kafka1.0.0集群搭建
作者:互联网
https://blog.51cto.com/leizhu/2075724
一、环境准备
1、软件
zookeeper3.4.11 https://www.apache.org/dyn/closer.cgi/zookeeper/
kafka1.0.0 https://www.apache.org/dyn/closer.cgi?path=/kafka/1.0.0/kafka_2.11-1.0.0.tgz
java8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2、硬件
✔ 机器:10.205.104.55
✔ 机器:10.205.102.52
✔ 机器:10.205.105.33
二、安装
jdk安装略
1、统一目录/opt
2、安装zookeeper(三台机器同样操作)
cp conf/zoo_sample.cfg zoo.cfg
grep ^[^#] conf/zoo.cfg
添加机器id到 dataDir=/opt/zookeeper-3.4.11/data目录下的myid文件中
机器:10.205.104.55 写1
机器:10.205.102.52 写2
机器:10.205.105.33 写3
每台机器都是同样的配置
启动zookeeper
bin/zkServer.sh start
检验
3、安装kafka(每台机器broker.id不同。这里依此是0,1,2)
每台机器依此配置
启动kafka(每台都启动)
bin/kafka-server-start.sh config/server-1.properties &
校验
创建topic
bin/kafka-topics.sh --create --zookeeper 10.205.104.55:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic
查看topic信息
bin/kafka-topics.sh --describe --zookeeper 10.205.104.55:2181 --topic my-replicated-topic
推送信息
bin/kafka-console-producer.sh --broker-list 10.205.104.55:9092 --topic my-replicated-topic
消费信息
bin/kafka-console-consumer.sh --bootstrap-server 10.205.104.55:9092 --from-beginning --topic my-replicated-topic
安装完毕
最后送上优化文章:kafka参数配置优化
以下:
#非负整数,用于唯一标识broker
broker.id=0
# broker 服务监听端口
port=9092
# broker 发布给生产者消费者的hostname,会存储在zookeeper。配置好这个host可以实现内网外网同时访问。
advertised.host.name=host1
# broker 发布给生产者消费者的port,会存储在zookeeper。
advertised.port=9092
# 处理网络请求的线程数量,一般默认配置就好
num.network.threads=3
# 处理磁盘的线程数量,一般默认配置就好
num.io.threads=8
# socket server 发送数据缓冲区大小
socket.send.buffer.bytes=102400
# socket server 接受数据缓冲区大小
socket.receive.buffer.bytes=102400
# soket server 可接受最大消息大小,防止oom
socket.request.max.bytes=104857600
# kafka存放消息的目录
log.dirs=/home/data/kafka/kafka-logs
# 每个topic默认partition数量,根据消费者实际情况配置,配置过小会影响消费性能
num.partitions=50
# kafka启动恢复日志,关闭前日志刷盘的线程数
num.recovery.threads.per.data.dir=1
# 日志保留时间
log.retention.minutes=30
# 日志保留大小
log.retention.bytes=53687091200
# 日志 segment file 大小. 超过这个大小创建新segment file
log.segment.bytes=67108864
# 日志 segment file 刷新时间. 超过这个时间创建新segment file
log.roll.hours=24
# 日志淘汰检查间隔时间
log.retention.check.interval.ms=10000
# Zookeeper host和port
zookeeper.connect=localhost:2181
# 连接zookeeper超时时间
zookeeper.connection.timeout.ms=6000
# 清除fetch purgatory 间隔消息条数
fetch.purgatory.purge.interval.requests=100
#清除producer purgatory 间隔消息条数
producer .purgatory.purge.interval.requests=100
#是否可以通过管理工具删除topic,默认是false
delete.topic.enable=true
#日志传输时候的压缩格式,可选择lz4, snappy, gzip,不压缩。建议打开压缩,可以提高传输性能,压缩格式的选择可以参考文章结尾的参考资料。
compression.type=snappy
# 启用压缩的topic名称。若上面参数选择了一个压缩格式,那么压缩仅对本参数指定的topic有效,若本参数为空,则对所有topic有效。
compressed.topics=topic1
#用来从主partion同步数据的线程数,默认为1,建议适当调大,数据量大的时候一个同步线程可能不够用
num.replica.fetchers=3
#消息日志备份因子,默认是1
default.replication.factor=2
标签:zookeeper,broker,kafka,topic,kafka1.0,集群,日志,10.205,搭建 来源: https://blog.csdn.net/hellojoy/article/details/93627280