【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

原文地址:https://www.cnblogs.com/cac2020/p/9518949.html