目录

一、Kafka单机【依赖单机的单节点Zookeeper】

二、KafKa集群搭建

三、Kafka Manager(web页面管理)的搭建

四、使用本地客户端测试MQ基本操作


首先kafka的配置信息等信息依赖zookeeper,这里可以根据情况选择搭建zookeeper的形式(单机、一台服务器上搭建的集群、以及三台服务器搭建的集群等),可以参考:CentOS7搭建Zookeeper集群https://blog.csdn.net/it_lihongmin/article/details/124634608

一、Kafka单机【依赖单机的单节点Zookeeper】

kafka下载地址为:Apache Kafka,这里选择:kafka_2.13-3.0.0.tgz版本,百度云盘链接: https://pan.baidu.com/s/1ve4Caq0eDtTOnPZHC237iA?pwd=gbfehttps://pan.baidu.com/s/1ve4Caq0eDtTOnPZHC237iA?pwd=gbfe

进入服务器下载:wget https://archive.apache.org/dist/kafka/3.0.0/kafka_2.13-3.0.0.tgz,或者可以直接使用已经下载的文件,进行上传。

解压:tar -zxvf kafka_2.13-3.0.0.tgz

进入目录根据情况修改配置信息:

  • zookeeper.connect: zookeeper地址,zookeeper集群多个使用逗号间隔;默认就是本机的zookeeper默认端口2181,如果就只是启动本地的zookeeper都不用修改了
  • zookeeper.connect.timeout.ms: 比较清楚了,链接超时时间,单号毫秒

更多配置可以参考:

broker.id=0  #当前机器在集群中的唯一标识,和zookeeper的myid性质一样
port=19092 #当前kafka对外提供服务的端口默认是9092
host.name=192.168.7.100 #这个参数默认是关闭的,在0.8.1有个bug,DNS解析问题,失败率的问题。
num.network.threads=3 #这个是borker进行网络处理的线程数
num.io.threads=8 #这个是borker进行I/O处理的线程数
log.dirs=/opt/kafka/kafkalogs/ #消息存放的目录,这个目录可以配置为“,”逗号分割的表达式,上面的num.io.threads要大于这个目录的个数这个目录,如果配置多个目录,新创建的topic他把消息持久化的地方是,当前以逗号分割的目录中,那个分区数最少就放那一个
socket.send.buffer.bytes=102400 #发送缓冲区buffer大小,数据不是一下子就发送的,先回存储到缓冲区了到达一定的大小后在发送,能提高性能
socket.receive.buffer.bytes=102400 #kafka接收缓冲区大小,当数据到达一定大小后在序列化到磁盘
socket.request.max.bytes=104857600 #这个参数是向kafka请求消息或者向kafka发送消息的请请求的最大数,这个值不能超过java的堆栈大小
num.partitions=1 #默认的分区数,一个topic默认1个分区数
log.retention.hours=168 #默认消息的最大持久化时间,168小时,7天
message.max.byte=5242880  #消息保存的最大值5M
default.replication.factor=2  #kafka保存消息的副本数,如果一个副本失效了,另一个还可以继续提供服务
replica.fetch.max.bytes=5242880  #取消息的最大直接数
log.segment.bytes=1073741824 #这个参数是:因为kafka的消息是以追加的形式落地到文件,当超过这个值的时候,kafka会新起一个文件
log.retention.check.interval.ms=300000 #每隔300000毫秒去检查上面配置的log失效时间(log.retention.hours=168 ),到目录查看是否有过期的消息如果有,删除
log.cleaner.enable=false #是否启用log压缩,一般不用启用,启用的话可以提高性能
zookeeper.connect=192.168.7.100:12181,192.168.7.101:12181,192.168.7.107:1218 #设置zookeeper的连接端口

可以使用命令查看zookeeper的2181端口的启动情况:netstat -anp| grep 2181

启动kafka服务:./kafka-server-start.sh ../config/server.properties &

查看kafka进程:ps -ef| grep kafka

启动后使用自带的客户端根据下面的操作,试着收发MQ。。。

二、KafKa集群搭建

这里三台服务器分别是(并且zookeeper也是这三台服务器,并且基于上面的Zookeeper集群搭建的博客进行搭建的):47.94.140.208、82.156.54.7、39.107.127.88,与单体服务搭建一样,首先 wget下载 压缩包,或者上传压缩包到想要的位置,然后进行解压。修改配置文件:

【节点一】

roker.id=1
zookeeper.connect=47.94.140.208:2181,82.156.54.7:2181,39.107.127.88:2181

【节点二】

broker.id=2
zookeeper.connect=47.94.140.208:2181,82.156.54.7:2181,39.107.127.88:2181

【节点三】

broker.id=2
zookeeper.connect=47.94.140.208:2181,82.156.54.7:2181,39.107.127.88:2181

然后三台服务都进行启动:./kafka-server-start.sh -daemon ../config/server.properties &

过一会儿查看三台服务器是否还正常(因为启动的时候可能正常,过一会儿心跳等如果有问题则会进程终止掉):ps -ef| grep kafka

同样的还是可以使用下面的客户端命令去收发一下MQ

三、Kafka Manager(web页面管理)的搭建

kafka可以个web管理界面可选的有:kafka-manager、kafka-eagle。。。这里选择比较经典的kafka-manager,kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作,github地址为:https://github.com/yahoo/kafka-manager,可选择的下载包地址为:https://github.com/yahoo/CMAK/releases,这里选择的版本为:3.0.0.2

官方可下载的已编译的版本,都使用的jdk11编译,所以这里也使用jdk11环境

yum install -y java-11-openjdk.x86_64

可以选择的版本有:

如果当前服务器使用的jdk8,则也可以使用早期版本包(解压后启动命令将 cmak换成kafka-manager即可):

上传至服务器位置,这里为:/home/mosty/kafka-manager

解压:unzip cmak-3.0.0.2.zip

进入解压目录下的 config目录,修改application.conf文件,主要是修改zookeeper地址:

kafka-manager.zkhosts="47.94.140.208:2181,82.156.54.7:2181,39.107.127.88:2181"

 

启动 kafka-manager:

进入bin目录,执行:./cmak

后台启动执行: nohup cmak &

指定配置文件和端口启动:./cmak -Dconfig.file=/home/mosty/kafka-manager/cmak-3.0.0.2/conf/application.conf -Dhttp.port=9123

最后可以使用 netstat -anp| grep 9123 查看是否启动端口

启动后记得关闭防火墙或者开放指定端口,并且如果是阿里云、华为云等云服务器需要在配置中开放 端口,然后访问页面如下:

四、使用本地客户端测试MQ基本操作

1、创建topic

./kafka-topics.sh --bootstrap-server localhost:9092 --create --replication-factor 3 --partitions 6 --topic kfk_kevin_test

说明:

  • --bootstrap-server localhost:9092 指定使用broker的zookeeper;
  • --create --topic kfk_kevin_test 创建指定名称的topic;
  • --replication-factor 1 指定副本数,但是副本数不能大于broker数,否则会报如下的错;
  • --partitions 1 指定分区数;

2、列出所有的队列

./kafka-topic.sh --bootstrap-server localhost:9092 --list

3、发送MQ

发送mq:./kafka-console-producer.sh -broker-list localhost:9092 --topic kfk_kevin_test

4、接收MQ

接收mq:./kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic kfk_kevin_test

5、查看topic信息

./kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic kfk_kevin_test

6、删除topic

./kafka-topics.sh --delete --bootstrap-server localhost:9092 --topic kfk_kevin_test

CentOS7搭建Kafka集群相关推荐

  1. centos7搭建Linux集群,CentOS 7下Kafka集群安装

    一.环境操作系统和软件版本介绍 1.环境操作系统为CentOS Linux release 7.2.1511 (Core) 可用cat /etc/RedHat-release查询 2.软件版本 Kaf ...

  2. 单机 搭建kafka集群 本地_单机快速搭建多节点kafka集群

    有时候为了更好地了解kafka集群的运行机制,需要自己搭建kafka集群.本文的目的就是让大家在单机上快速搭建kafka集群(仅作为单机测试使用). 环境及工具版本 mac OS 10.15.5 ka ...

  3. Mac 使用 docker 搭建 kafka 集群 + Zookeeper + kafka-manager

    Kafka 搭建: 建立Zookeeper容器: 这里我们用最简单的方式创建一个独立的Zookeeper节点,如果要考虑zookeeper的高可用,可以将其做成一个集群,最好是能有多台机器. $ do ...

  4. 搭建Kafka集群环境

    计划使用三台主机:11.12.112.206.11.12.112.207.11.12.112.208搭建Kafka集群环境, 使用的zookeeper集群为:11.12.112.215:2181,11 ...

  5. docker环境,搭建kafka集群

    https://zhuanlan.zhihu.com/p/114968151 docker环境,搭建kafka集群

  6. 单机 搭建kafka集群 本地_10分钟搭建单机Kafka集群

    单机版kafka集群有什么作用 练习上手用. 搭建zookeeper集群首先下载zookeeper解压 apache zookeeper tar -zxvf apache-zookeeper-3.5. ...

  7. 【运维开发】Mac OS(10.13.6)使用 vagrant+VirtualBox +centos7搭建k8s集群

    Mac OS(10.13.6)使用 vagrant+VirtualBox +centos7搭建k8s集群步骤 环境准备工作 下载VirtualBox 地址:https://www.virtualbox ...

  8. 华为云Centos7搭建hadoop集群二:yum源替换,ssh免密处理,hadoop用户sudo

    华为云Centos7搭建hadoop集群二:yum源替换,ssh免密处理,hadoop用户sudo 新建hadoop用户并设置密码,密码不要设置为简单的123456等,我这里已经创建过了hadoop用 ...

  9. Kafka:搭建Kafka集群

    博主在之前已经介绍过如何部署Kafka,Kafka的部署模式只有集群模式,Kafka的架构本就是天然的集群架构,因此单节点的部署和多节点的部署是类似的. 集群节点: 节点 地址 ZooKeeper 1 ...

最新文章

  1. Spring管理Strust的Action
  2. 链路 英文_光纤链路基础
  3. (0033) iOS 开发之Block 的基础用法及注意事项2
  4. 如何写一份优秀的Java程序员简历?
  5. 北京奥运会和上海世博会广告登上巴士 亮相纽约
  6. UA MATH564 概率论 计算至少有一个发生的概率:容斥原理与庞加莱公式
  7. 分式的二阶导数怎么求_为何二阶微分要记为 d²y/dx²?
  8. SpringCloud Greenwich(二)注册中心之consul、Zuul和 gateway网关配置
  9. cocos2dx 3.x 蒙板 遮罩 点击圆功能
  10. 「每天一道面试题」谈String和StringBuffer、StringBuilder区别
  11. java连接SqlServer2000类,比较完整,比较强大
  12. SSH Config Editor Mac(SSH配置编辑器)V2.2
  13. (转)Rust: Rust的 Deref 运算符
  14. 软件开发中的资源管理
  15. Flink实时数仓(尚硅谷)- 数据采集
  16. 学习总结:Handler机制
  17. 音频处理——常用音频编码格式简介(PCM、G726、ADPCM、LPCM、G711、AAC)
  18. 第15章卡方检验:拟合优度和独立性检验
  19. 全屏背景图移动端滚动时白底问题
  20. 完全用GNU/Linux工作,摈弃Windows---你我共勉

热门文章

  1. 八叉树unity实现
  2. 【华为OD机试真题 java、python、c++】字符串解密(100%通过+复盘思路)
  3. 数据库基本概念和常用SQL命令
  4. 无人收银商店为购物的未来铺平道路
  5. JavaFx---虚拟旅游项目
  6. 103页智慧环保云平台建设和运营方案
  7. 使用Gradle进行项目构建管理
  8. sh 启动java_使用start.sh脚本运行Java程序
  9. poj 2528 离散化+线段树 hdu 1698 线段树 线段树题目类型一:染色计数 外加离散化
  10. 【node进阶】Express+Multer+Postman模拟文件上传功能