Kafka集群部署

一. Kafka下载与解压
  1. Kafka包下载:https://mirrors.cnnic.cn/apache/kafka/
  2. 上传解压:tar zxvf kafka_2.10-0.10.2.1.tgz
二. Kafka目录
  1. /bin是操作kafka的可执行脚本(包含windows版脚本)
  2. /config是kafka相关的配置文件
  3. /libs是依赖库
  4. /logs是日志数据目录。
三. Zookeeper配置
  1. 解压:tar zxvf zookeeper-3.4.10.tar.gz
  2. 修改Zookeeper配置

(1)zoo_sample.cfd复制一份并重命名为zoo.cfg,并修改以下参数。之后将修改后的zookeeper包分发的slave2和slave3节点上。

bash 复制代码
tickTime=2000:是Zookeeper服务器之间或服务器与客户端之间维持心跳的时间间隔,即每个tickTime时间就会发送一个心跳。
initLimit=10:初始化连接时最长能忍受多少个心跳时间间隔数
syncLimit=5:这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总
的时间长度就是 2*tickTime=4 秒
dataDir=/usr/local/zookeeper/data/zkdata:Zookeeper保存数据的目录。默认情况下Zookeeper也会将写数据的日志文件写入该目录。
dataLogDir=/usr/local/zookeeper/data/log:日志目录,路径默认与dataDir一致,可设置。
clientPort=2181: 客户端与Zookeeper服务器连接的默认端口,Zookeeper会监听这个端口,接收客户端的请求。
#添加Zookeeper服务节点
server.1=slave1:2888:3888
server.2=slave2:2888:3888
server.3=slave3:2888:3888 

(2)创建各节点服务编号

bash 复制代码
# hadoop1 节点
[root@slave1 zkdata]# touch /usr/local/zookeeper/data/zkdata/myid
[root@slave1 zkdata]# echo 1 > myid

# hadoop2 节点
[root@slave2 zkdata]# touch /usr/local/zookeeper/data/zkdata/myid
[root@slave2 zkdata]# echo 2 > myid

# hadoop3 节点
[root@slave3 zkdata]# touch /usr/local/zookeeper/data/zkdata/myid
[root@slave3 zkdata]# echo 3 > myid

(3)Zookeeper集群启动

bash 复制代码
# 在三个节点上分别执行
启动: ./zkServer.sh start
停止: ./zkServer.sh stop
四. Kafka配置

1、修改配置文件:/config/server.properties,之后将该配置文件覆盖同步到其他两个节点上。注意需要修改下broker.id值,slave1节点上broker.id设置为1,slave2节点上设置为2,slave3节点上设置为3。其他配置项不变。

bash 复制代码
broker.id=1   #kafka每个节点该值需要不同
host.name=ip地址
port=9092
delete.topic.enable=true
num.network.threads=3
num.io.threads=8
log.dirs=/opt/kafka_2.10-0.10.2.1/kafka-logs
num.partitions=3
log.flush.interval.messages=1000
log.flush.interval.ms=3000
log.retention.hours=24
zookeeper.connect=ip1:2181,ip2:2181,ip37:2181  #填写三个节点具体IP地址
zookeeper.connection.timeout.ms=6000

2、Kafka启动

bash 复制代码
启动:./kafka-server-start.sh /opt/kafka_2.10-0.10.2.1/config/server.properties &
停止:./kafka-server-stop.sh
五. Kafka单机部署

kafka单机部署修改zk和kafka配置文件与集群slave1上的配置文件修改相同。

bash 复制代码
zookeeper启动: ./zookeeper-server-start.sh /opt/kafka_2.10-0.10.2.1/config/zookeeper.properties &
kafka启动: ./kafka-server-start.sh /opt/kafka_2.10-0.10.2.1/config/server.properties &
六. Kafka常用命令
bash 复制代码
(1) 创建Topic: ./kafka-topics.sh --create --zookeeper ip:2181 --replication-factor 1 --partitions 1 --topic test
(2) Producer发送消息: ./kafka-console-producer.sh --broker-list ip1:9092,ip2:9092,ip3:9092 --topic test (集群模式)
(3) Consumer接收消息: ./kafka-console-consumer.sh --zookeeper ip1:2181,ip2:2181,ip3:2181 --topic test --from-beginning (集群模式)
(4) 查看所有的主题: ./kafka-topics.sh --list --zookeeper ip:2181
(5) 查看topic的详细信息: ./kafka-topics.sh -zookeeper ip:2181 -describe -topic test
(6) 为topic增加partition: ./kafka-topics.sh --zookeeper ip:2181 --alter --partitions 20 --topic testKJ1
(7) 删除topic: ./kafka-topics.sh --zookeeper ip:2181 --delete --topic test

相关推荐
qq_12498707535 小时前
基于Hadoop的信贷风险评估的数据可视化分析与预测系统的设计与实现(源码+论文+部署+安装)
大数据·人工智能·hadoop·分布式·信息可视化·毕业设计·计算机毕业设计
ask_baidu5 小时前
KafkaUtils
kafka·bigdata
洛豳枭薰7 小时前
消息队列关键问题描述
kafka·rabbitmq·rocketmq
lucky67077 小时前
Spring Boot集成Kafka:最佳实践与详细指南
spring boot·kafka·linq
Coder_Boy_8 小时前
基于Spring AI的分布式在线考试系统-事件处理架构实现方案
人工智能·spring boot·分布式·spring
袁煦丞 cpolar内网穿透实验室9 小时前
远程调试内网 Kafka 不再求运维!cpolar 内网穿透实验室第 791 个成功挑战
运维·分布式·kafka·远程工作·内网穿透·cpolar
岁岁种桃花儿9 小时前
CentOS7 彻底卸载所有JDK/JRE + 重新安装JDK8(实操完整版,解决kafka/jps报错)
java·开发语言·kafka
人间打气筒(Ada)9 小时前
GlusterFS实现KVM高可用及热迁移
分布式·虚拟化·kvm·高可用·glusterfs·热迁移
xu_yule9 小时前
Redis存储(15)Redis的应用_分布式锁_Lua脚本/Redlock算法
数据库·redis·分布式
難釋懷13 小时前
分布式锁的原子性问题
分布式