0
点赞
收藏
分享

微信扫一扫

分布式-MQ-05 kafka单机、集群、管理台搭建

Gaaidou 2022-03-11 阅读 85

分布式-MQ-05 kafka单机、集群、管理台搭建

一、zookeeper安装

1.1 环境准备

kafka是基于scala语言开发的,需要运行的JVM上,因此需要先安装JDK

#安装jdk1.8
yum -y install java-1.8.0-openjdk*

1.2 zookeeper安装

  • kafka在早期版本依赖zookeeper对Topic进行分区选举,虽然后续版本中持续去zk化,但即使在2.2.1、2.4.1等版本client中仍然会出现无法正常选举的问题,zk的在短期内仍是更好的选择。
  • zookeeper选举过程,需要超过半数的接收者成功应答才算选举成功,因此Zookeeper集群节点个数一般是奇数(5或6个节点最多只能有2个节点异常,避免集群分区导致脑裂问题),本文测试使用只搭建1个zk节点
#下载zookeeper
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz
#安装包指定目录解压
tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz  -C  /opt/xxx/zookeeper/
#指定默认配置文件
cp conf/zoo_sample.cfg conf/zoo.cfg
# 启动zookeeper
 bin/zkServer.sh start
 bin/zkCli.sh
 ls / #查看zk的根目录相关节点

二、kafka安装

2.1 下载安装包

本文选择scale2.11版本、kafka2.4.1版本进行测试验证

wget https://archive.apache.org/dist/kafka/2.4.1/kafka_2.11-2.4.1.tgz //直接到apache下载
#下载国内镜像(看了国内几家大的开源镜像都没有上述版本,下面只是介绍解题思路)
#由于linux默认情况没有配置DNS解析器,可以自行添加DNS服务器
#vi  /etc/resolv.conf
#nameserver 8.8.8.8  (谷歌的DNS服务器) 
#nameserver 114.114.114.114  (中国电信的DNS服务器) 
tar -zxvf kafka_2.11-2.4.1.tgz  -C  /opt/xxx/kafka/

2.2 修改配置项

server.properties核心配置项一览:

PropertyDefaultDescription
broker.id0非负整数,kafka集群中区别broker的唯一标识
log.dirs/tmp/kafka-logskafka存储数据的路径
listenersPLAINTEXT://:9092server对外开放服务的ip+port
zookeeper.connectlocalhost:2181配置zookeeper注册中心的集群地址,可配多个需要以;隔开
log.retention.hours168每个日志文件在本地保留的时间,单位小时
num.partitions1创建topic默认分区数
default.replication.factor1创建topic默认副本数
min.insync.replicas1保障数据一致性的判断依据。当producer设置ack=-1时,该数值为判断write至副本成功数的依据。NWR(假设N=5,W=5,R=1,需要5个节点全部写入成功消息发送成功)
delete.topic.enablefasle是否允许删除主题

修改配置文件config/server.properties

#broker.id属性在kafka集群中必须要是唯一 
broker.id=0
#kafka部署的机器ip和提供服务的端口号 
listeners=PLAINTEXT://192.168.149.128:9092
#kafka的消息存储文件
log.dir=/opt/xxx/kafka/logs 
#kafka连接zookeeper的地址(默认2181端口)
zookeeper.connect=192.168.149.128:2181 

2.3 服务启停

#后台启动kafka -daemon
bin/kafka-server-start.sh -daemon config/server.properties 
#查看zookeeper目录
bin/zkCli.sh
ls / #查看zk的根目录kafka相关节点
ls /brokers/ids #查看kafka节点
#关闭kafka
bin/kafka‐server‐stop.sh

在这里插入图片描述

2.4 测试验证

命令行作为验证功能的简单方式,了解即可

#创建主题
bin/kafka-topics.sh --create --zookeeper 192.168.149.128:2181 --replication-factor 1 --partitions 1 --topic test
#查看已创建的主题
bin/kafka-topics.sh --list --zookeeper 192.168.149.128:2181
#删除主题
bin/kafka-topics.sh --delete --topic test --zookeeper 192.168.149.128:2181
#发送消息
bin/kafka-console-producer.sh --broker-list 192.168.149.128:9092 --topic test 
#消费消息
bin/kafka-console-consumer.sh --bootstrap-server 192.168.149.128:9092 --topic test  

在这里插入图片描述
在这里插入图片描述

三、kafka集群搭建

四、kafka-manager可视化管理工具搭建

举报

相关推荐

0 条评论