1、安装环境说明

  • 麒麟操作系统10 Kafka 版本:3.2.0
  • 采用4节点部署
    JDK版本:建议安装JDK11或JDK17。本次部署采用:jdk-11.0.16.1
  • 服务器角色如下表:
主机名称      主机IP             角色      node.id
KAFKA001    10.999.888.54   broker,controller   1
KAFKA002    10.999.888.233  broker, controller  2
KAFKA003    10.999.888.56   broker, controller  3
KAFKA004    10.999.888.170  broker              4

2、修改主机名

sudo hostnamectl set-hostname KAFKA001
sudo hostnamectl set-hostname KAFKA002
sudo hostnamectl set-hostname KAFKA003
sudo hostnamectl set-hostname KAFKA004

3、修改hosts配置

#vim /etc/hosts
10.999.888.54   KAFKA001
10.999.888.233  KAFKA002
10.999.888.56   KAFKA003
10.999.888.170  KAFKA004

4、安装JDK

略。。。

5、建立软连接

如果不配置,则会报以下错误:

/opt/softwares/kafka_2.12-3.2.0/bin/kafka-run-class.sh: line 342: exec: java

原因是:Kafka的默认/usr/bin/java路径与我们实际的$JAVA_HOME/bin/java路径不一致导致的
配置命令:

 sudo rm -fr /usr/bin/javasudo ln -s /opt/softwares/jdk-11.0.16.1/bin/java /usr/bin/java

6、下载kafka_2.12-3.2.0.tgz并解压

sudo tar –zxvf kafka_2.12-3.2.0.tgz –C /opt/softwares

并修改权限:

sudo chown user:user -R jdk-11.0.16.1
sudo chown user:user -R kafka_2.12-3.2.0

7、修改kafka配置文件

先在/data目录下创建data文件夹和logs文件夹

sudo mkdir -p /data/kafka/data
sudo mkdir -p /data/kafka/logs

修改文件权限:

sudo chmod 777 -R /data

之后配置server.properties文件

vim /opt/softwares/kafka_2.12-3.2.0/config/kraft/server.properties

7.1、KAFKA001节点配置

#kafka的角色(controller相当于主机、broker节点相当于从机,主机类似zk功能)
process.roles=broker, controller
#节点ID(不同节点配置不同)
node.id=1
#controller服务协议别名
controller.listener.names=CONTROLLER
#全Controller列表
controller.quorum.voters=1@KAFKA001:9093
#不同服务器绑定的端口
listeners=PLAINTEXT://KAFKA001:19092,CONTROLLER://KAFKA001:9093
#broker服务协议别名
inter.broker.listener.name=PLAINTEXT
#broker对外暴露的地址(不同节点配置不同)
advertised.Listeners=PLAINTEXT://KAFKA001:19092
#协议别名到安全协议的映射
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
#kafka数据存储目录
log.dirs=/opt/softwares/kafka_2.12-3.2.0/data
#不允许自动创建topic,只通过命令创建
auto.create.topics.enable=false
delete.topic.enable=true

7.2、KAFKA002节点配置

#kafka的角色(controller相当于主机、broker节点相当于从机,主机类似zk功能)
process.roles=broker, controller
#节点ID(不同节点配置不同)
node.id=2
#controller服务协议别名
controller.listener.names=CONTROLLER
#全Controller列表
controller.quorum.voters=1@KAFKA001:9093,2@KAFKA002:9093
#不同服务器绑定的端口
listeners=PLAINTEXT://KAFKA002:19092,CONTROLLER://KAFKA002:9093
#broker服务协议别名
inter.broker.listener.name=PLAINTEXT
#broker对外暴露的地址(不同节点配置不同)
advertised.Listeners=PLAINTEXT://KAFKA002:19092
#协议别名到安全协议的映射
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
#kafka数据存储目录
log.dirs=/opt/softwares/kafka_2.12-3.2.0/data
#不允许自动创建topic,只通过命令创建
auto.create.topics.enable=false
delete.topic.enable=true

7.3、KAFKA003节点配置

#kafka的角色(controller相当于主机、broker节点相当于从机,主机类似zk功能)
process.roles=broker, controller
#节点ID(不同节点配置不同)
node.id=3
#controller服务协议别名
controller.listener.names=CONTROLLER
#全Controller列表
controller.quorum.voters=1@KAFKA001:9093,2@KAFKA002:9093,3@KAFKA003:9093
#不同服务器绑定的端口
listeners=PLAINTEXT://KAFKA003:19092,CONTROLLER://KAFKA003:9093
#broker服务协议别名
inter.broker.listener.name=PLAINTEXT
#broker对外暴露的地址(不同节点配置不同)
advertised.Listeners=PLAINTEXT://KAFKA003:19092
#协议别名到安全协议的映射
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
#kafka数据存储目录
log.dirs=/opt/softwares/kafka_2.12-3.2.0/data
#不允许自动创建topic,只通过命令创建
auto.create.topics.enable=false
delete.topic.enable=true

7.4、KAFKA004节点配置

#kafka的角色(controller相当于主机、broker节点相当于从机,主机类似zk功能)
process.roles=broker
#节点ID(不同节点配置不同)
node.id=4
#controller服务协议别名
controller.listener.names=CONTROLLER
#全Controller列表
controller.quorum.voters=1@KAFKA001:9093,2@KAFKA002:9093,3@KAFKA003:9093
#不同服务器绑定的端口
listeners=PLAINTEXT://KAFKA004:19092
#broker服务协议别名
inter.broker.listener.name=PLAINTEXT
#broker对外暴露的地址(不同节点配置不同)
advertised.Listeners=PLAINTEXT://KAFKA004:19092
#协议别名到安全协议的映射
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
#kafka数据存储目录
log.dirs=/opt/softwares/kafka_2.12-3.2.0/data
#不允许自动创建topic,只通过命令创建
auto.create.topics.enable=false
delete.topic.enable=true

8、初始化kafka集群数据目录

(1) 在KAFKA001机器上执行

./bin/kafka-storage.sh random-uuid

可以看到生成ID:_nOVlsByS8qnh4sFJEKvgg
(2) 用该ID格式化Kafka存储目录(4台节点)

[user@KAFKA001 kafka_2.12-3.2.0]# ./bin/kafka-storage.sh format -t _nOVlsByS8qnh4sFJEKvgg -c /opt/module/kafka/config/kraft/server.properties
[user@KAFKA002 kafka_2.12-3.2.0]# ./bin/kafka-storage.sh format -t _nOVlsByS8qnh4sFJEKvgg -c /opt/module/kafka/config/kraft/server.properties
[user@KAFKA003 kafka_2.12-3.2.0]# ./bin/kafka-storage.sh format -t _nOVlsByS8qnh4sFJEKvgg -c /opt/module/kafka/config/kraft/server.properties
[user@KAFKA004 kafka_2.12-3.2.0]# ./bin/kafka-storage.sh format -t _nOVlsByS8qnh4sFJEKvgg -c /opt/module/kafka/config/kraft/server.properties

9、Kafka常用命令

a.启动:sudo ./bin/kafka-server-start.sh -daemon ./config/kraft/server.properties
b.关闭:sudo ./bin/kafka-server-stop.sh ./config/kraft/server.properties
c.创建topic:
./bin/kafka-topics.sh --create --topic aa --partitions 3 --replication-factor 2 --bootstrap-server KAFKA001:19092,KAFKA002:19092,KAFKA003:19092,KAFKA004:19092
d.创建生产者:./kafka-console-producer.sh --broker-list KAFKA001:19092,KAFKA002:19092,KAFKA003:19092,KAFKA004:19092 --topic aa
e.创建消费者:./kafka-console-consumer.sh --bootstrap-server  KAFKA001:19092,KAFKA002:19092,KAFKA003:19092,KAFKA004:19092 --topic aa --from-beginning
f.查看topic:
./bin/kafka-topics.sh --list --bootstrap-server KAFKA001:19092,KAFKA002:19092,KAFKA003:19092,KAFKA004:19092
g.删除topic:
./bin/kafka-topics.sh --delete --topic aa  --bootstrap-server KAFKA001:19092,KAFKA002:19092,KAFKA003:19092,KAFKA004:19092
h.查看topic详细信息:
./bin/kafka-topics.sh --bootstrap-server KAFKA001:19092,KAFKA002:19092,KAFKA003:19092,KAFKA004:19092 --describe --topic aa

10、查看kafka启动情况

sudo lsof -i :19092

11、用Offest Explorer可视化工具连接kafka集群

(1)配置映射
到windows机器的C:\Windows\System32\drivers\etc\hosts

10.999.888.54    KAFKA001
10.999.888.233  KAFKA002
10.999.888.56   KAFKA003
10.999.888.170  KAFKA004

(2)安装Offest Explorer 工具 (一直点next即可)

(3)打开Offest Explorer工具,点击左上角File—Add New Connection

选择Properties配置以下内容:

配置成功!!!

Kafka3.2.0 + kraft集群安装部署说明相关推荐

  1. 记一次 Centos7.x Hadoop3.x集群安装部署 Pig 0.17.0

    基本信息 官网 http://pig.apache.org/ 下载地址 http://www.apache.org/dyn/closer.cgi/pig https://mirror.bit.edu. ...

  2. HBase 1.2.6 完全分布式集群安装部署详细过程

    2019独角兽企业重金招聘Python工程师标准>>> Apache HBase 是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,是NoSQL数据库,基于Google Big ...

  3. SolrCloud 分布式集群安装部署(solr4.8.1 + zookeeper +tomcat)

    SolrCloud 分布式集群安装部署 安装软件包准备 · apache-tomcat-7.0.54 · jdk1.7 · solr-4.8.1 · zookeeper-3.4.5 注:以上软件都是基 ...

  4. zookeeper集群安装部署

    zookeeper集群安装部署 1:规划:     集群建议至少在三台服务器上部署     192.168.1.171     192.168.1.172     192.168.1.173 2:去各 ...

  5. 企业实战_18_MyCat_ZK集群安装部署

    接上一篇:企业实战_17_MyCat水平扩展_跨分片查询_ER分片 https://gblfy.blog.csdn.net/article/details/100066013 文章目录 一.使用ZK记 ...

  6. 安装部署(七) HBase集群安装部署与测试

    HBase集群安装部署与测试 Hadoop 2.7.2  Spark 2.0.0 Kafka 0.10.0.0 HBase 1.2.2 Zookeeper 3.4.8 参考: http://www.t ...

  7. Kubernetes的学习笔记总结之k8s集群安装部署

    kubernets 集群安装部署. 安装 Docker 所有节点都需要安装 Docker. apt-get update && apt-get install docker.io 安装 ...

  8. tidb集群安装部署

    tidb集群安装部署 部署架构图 一.安装tiup curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/inst ...

  9. centos7 下google Kubernetes(k8s)集群安装部署

    centos7 下google Kubernetes(k8s)集群安装部署 简介 安装环境 安装前准备 ECTD集群配置 命令含义: master节点配置 1.安装kubernetes和etcd 2. ...

最新文章

  1. sklearn GBDT(梯度下降树)模型使用RandomSearchCV获取最优参数及可视化​​​​​​​
  2. java 串口波特率_JAVA串口通信的方法
  3. opengl 教程(21) 聚光灯
  4. 人的大脑皮层对产品设计有何启发?
  5. 35个不会也要知道的Python小技巧
  6. 2010年北京大学计算机研究生机试真题
  7. STM32H7时钟树RCC分析---原理讲解(一)
  8. expdp的常用用法
  9. linux删除所有python进程,linux 下python进程查看及关闭
  10. 【转】C语言编程中static变量详解
  11. IT服务管理流程控制的绩效指标 KPI
  12. 【Ruby on Rails全栈课程】4.3 评论功能实现(二)--创建帖子详情页面
  13. bixby服务器没响应,猫盘开启ssh教程(原版系统,听闻一键x3p已经不能用了!)...
  14. 19/7/22 一个由王者荣耀引发的“惨案”(.NET)
  15. ZOJ 3380 Patchouli's Spell Cards 概率DP
  16. linux常用命令及其python调用
  17. 融汇贯通实用的socket属性典型讲解
  18. 为什么PHP项目运行报错502,php为什么会出现502错误
  19. iOS发布app到App Store教程
  20. python极坐标和直角坐标的转换

热门文章

  1. docker 容器运行后不退出
  2. 机器学习项目汇总,值得收藏!
  3. 一套完整的游戏原型设计流程究竟是怎样的?
  4. Arduino框架下对ESP32 NVS非易失性存储解读以及应用示例
  5. linux ohmyzsh shell主题包以及修改shell命令
  6. vue 竖向纵向仿表格 动态渲染表头表格 根据id填充单元格
  7. VIPKID大米网校“学费交多少,由家长说了算”背后的实力自信
  8. telegram java,telegram_bot
  9. 无刷电机和有刷电机对比
  10. AI绘图实战(一):制作购物车图标icon | Stable Diffusion成为设计师生产力工具