kafka3.6.0集群部署

环境准备

  • 机器环境

    系统主机名IP地址
    centos7.9kafka01192.168.200.51
    centos7.9kafka02192.168.200.52
    centos7.9kafka03192.168.200.53
  • 所需软件

    jdk-8u171-linux-x64.tar.gzapache-zookeeper-3.8.3-bin.tar.gz
    https://dlcdn.apache.org/zookeeper/zookeeper-3.8.3/apache-zookeeper-3.8.3-bin.tar.gzkafka_2.13-3.6.0.tgz
    https://downloads.apache.org/kafka/3.6.0/kafka_2.13-3.6.0.tgz
    
  • hosts设置

    192.168.200.51 kafka01
    192.168.200.52 kafka02
    192.168.200.53 kafka03
    
  • java环境设置

    mkdir /data/java
    ln -s /data/java/ /opt/
    cd /opt/java
    tar -zxvf jdk-8u171-linux-x64.tar.gz -C /opt/java/
    
    cat /etc/profile.d/java.sh #java
    export JAVA_HOME=/opt/java/jdk1.8.0_171
    export JRE_HOME=$JAVA_HOME/jre
    export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
    
    source /etc/profile
    java -version
    

zookeeper安装部署

  • 创建软件安装目录

    mkdir /data/server
    
  • 解压安装

    tar -zxvf apache-zookeeper-3.8.3-bin.tar.gz -C /data/server/
    ln -s /data/server/apache-zookeeper-3.8.3-bin/ /data/server/zookeeper# 创建zookeeper数据存储目录
    mkdir /data/server/zookeeper/zkData# 创建zookeeper标识文件
    echo '1' > /data/server/zookeeper/zkData/myid
    
  • 修改配置

    cp /data/server/zookeeper/zoo_sample.cfg /data/server/zookeeper/zoo.cfg
    
    vim /data/server/zookeeper/zoo.cfg
    # 修改数据存储目录
    dataDir=/data/server/zookeeper/zkData
    # 添加下列集群配置
    server.1=kafka01:2888:3888
    server.2=kafka02:2888:3888
    server.3=kafka03:2888:3888
    
  • 分发软件

    # 分发软件至kafka02
    scp -r /data/server/apache-zookeeper-3.8.3-bin/ kafka02:/data/server/# 分发软件至kafka03
    scp -r /data/server/apache-zookeeper-3.8.3-bin/ kafka03:/data/server/
    
  • kafka02与kafka03软链接

    ln -s /data/server/apache-zookeeper-3.8.3-bin/ /data/server/zookeeper
    
  • kafka02与kafka03修改myid

    # kafka02修改myid
    echo '2' > /data/server/zookeeper/zkData/myid# kafka03修改myid
    echo '3' > /data/server/zookeeper/zkData/myid
    
  • 防火墙放行端口

    firewall-cmd --zone=public --permanent --add-port={2181,2888,3888}/tcp
    firewall-cmd --reload
    
  • 设置开机自启

    vim /etc/systemd/system/zookeeper.service[Unit]
    Description=zookeeper service
    After=network.target[Service]
    User=root
    Group=root 
    Type=forking
    Environment="JAVA_HOME=/opt/java/jdk1.8.0_171"
    ExecStart=/data/server/zookeeper/bin/zkServer.sh start
    ExecStop=/data/server/zookeeper/bin/zkServer.sh stop
    PrivateTmp=false
    Restart=always[Install]
    WantedBy=multi-user.target
    
    systemctl daemon-reload
    systemctl start zookeeper
    systemctl enable zookeeper
    
  • zookeeper状态查看

    • kafka01

      [root@kafka01 ~]# jps
      4049 Jps
      3899 QuorumPeerMain[root@kafka01 ~]# /data/server/zookeeper/bin/zkServer.sh status
      ZooKeeper JMX enabled by default
      Using config: /data/server/zookeeper/bin/../conf/zoo.cfg
      Client port found: 2181. Client address: localhost. Client SSL: false.
      Mode: follower
      
    • kafka02

      [root@kafka02 zookeeper]# jps
      2705 QuorumPeerMain
      2920 Jps[root@kafka02 zookeeper]# /data/server/zookeeper/bin/zkServer.sh status
      ZooKeeper JMX enabled by default
      Using config: /data/server/zookeeper/bin/../conf/zoo.cfg
      Client port found: 2181. Client address: localhost. Client SSL: false.
      Mode: follower
      
    • kafka03

      [root@kafka03 zookeeper]# jps
      3187 Jps
      3030 QuorumPeerMain[root@kafka03 ~]# /data/server/zookeeper/bin/zkServer.sh status
      ZooKeeper JMX enabled by default
      Using config: /data/server/zookeeper/bin/../conf/zoo.cfg
      Client port found: 2181. Client address: localhost. Client SSL: false.
      Mode: leader
      

kafka安装部署

  • 解压安装

    tar -zxvf kafka_2.13-3.6.0.tgz -C /data/server/
    ln -s /data/server/kafka_2.13-3.6.0/ /data/server/kafka
    
  • 修改配置

    vim /data/server/kafka/config/server.properties
    broker.id=0
    # 日志目录
    log.dirs=/data/server/kafka/kafka-logs# zookeeper连接地址及目录
    zookeeper.connect=kafka01:2181,kafka02:2181,kafka03:2181/kafka
    
  • 分发软件

    # 分发软件至kafka02
    scp -r /data/server/kafka_2.13-3.6.0/ kafka02:/data/server/分发软件至kafka03
    scp -r /data/server/kafka_2.13-3.6.0/ kafka03:/data/server/
    
  • kafka02与kafka03软链接

    ln -s /data/server/kafka_2.13-3.6.0/ /data/server/kafka
    
  • 修改kafka02和kafka03的broker.id

    vim /data/server/kafka/config/server.properties# kafka02
    broker.id=1# kafka03
    broker.id=2
    
  • 防火墙放行端口

    firewall-cmd --zone=public --permanent --add-port=9092/tcp
    firewall-cmd --reload
    
  • 开机自启

    vim /etc/systemd/system/kafka.service
    
    [Unit]
    Description=kafka service
    After=network.target[Service]
    User=root
    Group=root 
    Type=forking
    Environment="JAVA_HOME=/opt/java/jdk1.8.0_171"
    ExecStart=/data/server/kafka/bin/kafka-server-start.sh -daemon /data/server/kafka/config/server.properties
    ExecStop=/data/server/kafka/bin/kafka-server-stop.sh 
    PrivateTmp=false
    Restart=always[Install]
    WantedBy=multi-user.target
    
    systemctl daemon-reload
    systemctl start kafka
    systemctl enable kafka
    
  • 最终效果

    • kafka01

      [root@kafka01 ~]# jps
      5444 Kafka
      8661 Jps
      3899 QuorumPeerMain
    • kafka02

      [root@kafka02 ~]# jps
      2705 QuorumPeerMain
      3538 Jps
      3373 Kafka
      
    • kafka03

      [root@kafka03 ~]# jps
      3668 Kafka
      3030 QuorumPeerMain
      3896 Jps

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/133039.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java Spring Boot----ruoyi项目部署 前后端分离

nginx服务器部署java服务器部署db服务器部署配置打包环境配置前端打包环境(java服务器)配置后端打包环境获取代码 前端代码打包后端代码打包项目上线前端项目上线后端项目上线 将jar包传送到后端服务器导入初始化数据 ip主机名服务名称192.168.20.138ngi…

java中:cmd界面输入javac后提示:找不到或无法加载主类,怎么解决

找不到或无法加载主类 检查环境变量cmd下用 java命令运行文件,提示找不到主类待续、更新中 检查环境变量 CLASSPATH 少写.; 安装jdk过程有两部,一步为安装jdk文件夹,全部一致; 另一步为安装jre文件夹与jdk文件夹不一致(或者文件夹安装位置, 一路全部默认) path中将java变量移…

ZooKeeper调优

服务器硬件配置 建议 Zookeeper 的服务器最好专属(或是资源隔离的)。磁盘由于 Zookeeper 的数据写入磁盘,强烈建议要使用 SSD。 Linux操作系统优化 Zookeeper 的性能会很明显受到交换分区的影响。建议部署 Zookeeper 的服务器关闭交换分区功能或是通过内核参数调整,减少…

Traceroute

Traceroute(或称 tracer,或称 tracert)是一种网络诊断工具,用于检测网络连接和路由问题。它通过向目标主机发送一系列小的数据包,并测量这些数据包所需的时间来工作。每个数据包都会经过一系列路由器,直到到…

CLIP Surgery论文阅读

CLIP Surgery for Better Explainability with Enhancement in Open-Vocabulary Tasks(CVPR2023) M norm ⁡ ( resize ⁡ ( reshape ⁡ ( F i ˉ ∥ F i ‾ ∥ 2 ⋅ ( F t ∥ F t ‾ ∥ 2 ) ⊤ ) ) ) M\operatorname{norm}\left(\operatorname{resize}\…

【汇编】[BX]和loop指令(学习笔记)

一、[BX] 利用BX寄存器存储偏移地址与DS配合使用 在DEBUG中可以使用mov al,[0],但在ml编译器里面会变成mov al,0 可以使用BX寄存器来解决 mov bx,0 mov al,[bx]补充 1、使用描述性符号()表示取内容 2、使用idata表示常量 二、loop循环指令 1、loop的概述 需要…

【深度学习】pytorch——神经网络工具箱nn

笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~ 深度学习专栏链接: http://t.csdnimg.cn/dscW7 pytorch——神经网络工具箱nn 简介nn.Modulenn.Module实现全连接层nn.Module实现多层感知机 常用神经网络层图像相关层卷积层(Conv&#xff…

Tensor.scatter_add_函数解释:

Tensor.scatter_add_(dim, index, src) → Tensor out.scatter_add_(dim, index, src) 1.参数: dim (int) – 哪一dim进行操作 index (LongTensor) – 要在的out的哪一index进行操作 src (Tensor) – 待操作的源数字 2.官方的解释的操作如下: 3.例…

【JAVA学习笔记】63 -坦克大战1.3-敌方发射子弹,击中坦克消失并爆炸,敌人坦克随机移动,规定范围限制移动

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter18/src/com/yinhai/tankgame1_3 〇、要求 增加功能 1.让敌人的坦克也能够发射子弹(可以有多颗子弹) 2.当我方坦克击中敌人坦克时,敌人的坦克就消失,如果能做出爆炸效果更好. …

c-CoSe2-CoN助力Zn-空气电池

硒化钴(CoSe2)的相变可有效调节其固有的电催化活性,但提高CoSe2的电导率和催化活性/稳定性还是一个挑战。异质结构工程可优化界面性能,促进CoSe2基催化剂上氧电催化的动力学。 基于此,黑龙江大学邹金龙教授等人报道了…

再谈Android重要组件——Handler(Native篇)

前言 最近工作比较忙,没怎么记录东西了。Android的Handler重要性不必赘述,之前也写过几篇关于hanlder的文章了: Handler有多深?连环二十七问Android多线程:深入分析 Handler机制源码(二) And…

游戏专用....

游戏专用:星际战甲 APP窗口以及键鼠监控 import tkinter as tk import time,threading from pynput.keyboard import Key,Listener import pynput.keyboard as kbclass myClass:def __init__(self):self.root tk.Tk()self.new_text self.flag threading.Event()…

2022 ccpc广州站 E. Elevator

Problem - E - Codeforces E. Elevator 题意:有一栋有m层的楼,有n部电梯从1到m。第i个电梯再ai时刻上升。每一层有一个按钮,可以让第一个到达该层的电梯停1秒,如果有多个电梯同时到某一层,下标靠前的被视为第一台到的…

pyspark连接mysql数据库报错

使用pyspark连接mysql数据库代码如下 spark_conf SparkConf().setAppName("MyApp").setMaster("local")spark SparkSession.builder.config(confspark_conf).getOrCreate()url "jdbc:mysql://localhost:3306/test?useUnicodetrue&characterE…

在JavaScript中,使用var、let和const声明变量有什么区别?

在 JavaScript 中,使用 var、let 和 const 声明变量有以下区别: 1:作用域的差异: var 声明的变量存在函数作用域或全局作用域,它们在整个函数或全局范围内都是可访问的。let 和 const 声明的变量存在块级作用域&…

C语言习题整理①

一些C语言习题的整理。 目录 一、判断质数 二、判断回文数 三、判断水仙花数 四、输出乘法表 五、输出杨辉三角 一、判断质数 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。质数又称素数。一个大于1的自然数,除了1和它自身…

为什么有了MAC地址,还需要IP地址?

解释 搞懂这个问题,首先需要了解交换机的功能 交换机内部有一张MAC地址映射表,记录着MAC地址和端口的对应关系。 如果A要给B发送一个数据包,构造如下格式的数据结构: 到达交换机时,交换机内部通过自己维护的 MAC 地…

Angular-07:组件生命周期

三个阶段: ① 挂载阶段1.1 constructor1.2 ngOnInit ② 更新阶段2.1 ngOnChanges2.2 ngAfterViewInit2.3 ngAfterContentInit2.4 ngDoCheck ③ 卸载阶段3.1 onOnDestroy ④ 在组件中添加所有方法并打印 该表按照执行顺序编写 编号函数名实现名说明1constructorcons…

uniapp自定义权限菜单,动态tabbar

已封装为组件&#xff0c;亲测4个菜单项目可以切换&#xff0c; 以下为示例&#xff0c;根据Storage 中 userType 的 值&#xff0c;判断权限菜单 <template><view class"tab-bar pb10"><view class"tabli" v-for"(tab, index) in ta…

叁[3],感兴趣区域ROI

1&#xff0c;简介 ROI&#xff0c;感兴趣区域&#xff08;region of interest)&#xff0c;截取图像 2&#xff0c;获取方法 方法1&#xff1a;使用Rect cv::Mat srccv::imread("*.bmp");//读取原图 cv::Mat matROI src(cv::Rect(100,200,50,100));//截取原图&am…