【kafka学习之二】Kafka集群搭建
安装环境
jdk1.7
zookeeper-3.4.5(参考 https://www.cnblogs.com/cac2020/p/9426531.html)
VM虚拟机redhat6.5-x64:192.168.1.200 192.168.1.201 192.168.1.202
kafka_2.10-0.9.0.1.tgz
Xshell4
部署方案
zookeeper三个节点 kafka三个节点
安装步骤:【三台机器同样操作 以200为例】
步骤一:解压安装文件kafka_2.10-0.9.0.1.tgz
tar -zxvf kafka_2.10-0.9.0.1.tgz.gz -C /usr/local/
步骤二:改名
mv /usr/local/kafka_2.10-0.9.0.1 /usr/local/kafka
步骤三:创建日志目录
mkdir /usr/local/kafka/kafka-logs
步骤四:修改配置文件server.properties
vim server.properties
关键配置如下:注意新版本的配置与这些不一样
# broker.id 节点id 保证集群里每个节点唯一
broker.id=0
#监听端口
port=9092
#节点名称 配置IP即可
host.name=192.168.1.114
advertised.host.name=192.168.1.114
#日志目录 (实数据存储位置)
log.dirs=/usr/local/kafka/kafka-logs
#每个topic分区
num.partitions=2
zookeeper.connect=192.168.1.114:2181,192.168.1.115:2181,192.168.1.116:2181
#每一个日志段存留时间 默认7天
log.retention.hours=168
#每一个日志段大小的最大值 默认1G
log.segment.bytes=1073741824
#segment文件存留时间和大小检测频率 默认5分钟
log.retention.check.interval.ms=300000
步骤五:启动
/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
步骤六:验证
jps
[root@200 config]# jps 1881 Jps 1834 Kafka 1774 QuorumPeerMain
--------------------------------------------------------------------------------------------------------------------------------------------
关于kafka使用的一些问题小结
1、常用命令
#启动kafka /home/cluster/kafka211/bin/kafka-server-start.sh -daemon /home/cluster/kafka211/config/server.properties #关闭kafka /home/cluster/kafka211/bin/kafka-server-stop.sh #创建主题 尽量不要使用下划线"_"或者点好".",可以使用横线"-" /home/cluster/kafka211/bin/kafka-topics.sh --create --zookeeper 134.32.123.101:2181,134.32.123.102:2181,134.32.123.103:2181 --replication-factor 3 --partitions 17 --topic REC-CBBO-MSG-TOPIC #删除主题 delete.topic.enable要设置为true /home/cluster/kafka211/bin/kafka-topics.sh --delete --zookeeper 134.32.123.101:2181,134.32.123.102:2181,134.32.123.103:2181 --topic REC-CBBO-MSG-TOPIC #查看主题 /home/cluster/kafka211/bin/kafka-topics.sh --list --zookeeper 134.32.123.101:2181,134.32.123.102:2181,134.32.123.103:2181 #创建生产者 /home/cluster/kafka211/bin/kafka-console-producer.sh --broker-list 134.32.123.101:9092,134.32.123.102:9092,134.32.123.103:9092 --topic REC-CBBO-MSG-TOPIC #创建消费者 /home/cluster/kafka211/bin/kafka-console-consumer.sh --bootstrap-server 134.32.123.102:9092 --topic REC-CBBO-MSG-TOPIC --from-beginning
2、问题 基于kafka_2.11-0.11.0.0.tgz
2.1.消费者group.id在那里设置:consumer.properties
#尽量不要使用下划线"_"或者点好".",可以使用横线"-"
group.id=REC-CBBO-MSG-GROUP
即使不配置 java消费者随意设置一个group.id 也可以消费消息
2.2.消费者zookeeper.connect配置一个zk,多个都可以
2.3.关于listeners地址配置
#PLAINTEXT 普通文本协议,不写地址默认本地生产消费可访问 远程java生产、消费端TCP访问不生效
listeners=PLAINTEXT://:9092
#advertised.listeners不配置上IP,则java生产、消费端会报错 Exception in thread "main" Failed to send requests for topics test with correlation ids in [0,12]
advertised.listeners=PLAINTEXT://134.32.123.102:9092
或者不配置advertised.listeners 直接配置listeners=PLAINTEXT://:134.32.123.102:9092 也是可以的
配置文件参考:
https://www.cnblogs.com/jun1019/p/6256371.html
https://www.cnblogs.com/LUA123/p/7349145.html
集群搭建参考:
https://blog.csdn.net/m0_37590135/article/details/74078885
https://www.cnblogs.com/RUReady/p/6479464.html
https://www.cnblogs.com/luotianshuai/p/5206662.html
https://blog.csdn.net/zxy987872674/article/details/72466504
集群关闭参考:
https://blog.csdn.net/u012373815/article/details/53727984