首页 > 其他分享 >Kafka-批量启动和停止Kafka节点脚本

Kafka-批量启动和停止Kafka节点脚本

时间:2024-02-21 16:34:26浏览次数:27  
标签:node operate 批量 zookeeper kafka Kafka 节点 echo

1、编辑脚本

#!/bin/bash

zookeeper_home=/usr/local/zookeeper
kafka_home=/usr/local/kafka

zookeeper_array=(hadoop01 hadoop02 hadoop03)
kafka_array=(hadoop01 hadoop02 hadoop03)

## 启动和停止Zookeeper
function zookeeper_operate(){
    zookeeper_operate=$@
    if [[ ${zookeeper_operate} == "status" ]]
    then
        echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
        echo "About to check  zookeeper  status ...."
        sleep  5
    fi
    echo "****************************************Zookeeper ${zookeeper_operate}*******************************************"
    for zookeeper_node in ${zookeeper_array[@]}
    do
        echo "======================${zookeeper_node} ${zookeeper_operate}========================"
        ssh ${zookeeper_node} "source /etc/profile;${zookeeper_home}/bin/zkServer.sh  ${zookeeper_operate}"
        if [[ ${zookeeper_node} == "stop" ]]
        then
            ssh  ${zookeeper_node}  "rm -rf ${zookeeper}/logs/* "
        fi
    done

}

## 启动和停止Kafka
function kafka_operate(){
        kafka_operate=$@
        echo "****************************************Kafka ${kafka_operate}*******************************************"
        for kafka_node in ${kafka_array[@]}
        do
        echo "======================${kafka_node} ${kafka_operate}========================"
                case ${kafka_operate} in 
            start)
                echo ${kafka_home}/bin/kafka-server-start.sh -daemon  ${kafka_home}/config/server.properties
                ssh ${kafka_node} "source /etc/profile;${kafka_home}/bin/kafka-server-start.sh -daemon  ${kafka_home}/config/server.properties"
            ;;
            stop)
                echo ${kafka_home}/bin/kafka-server-stop.sh
                ssh ${kafka_node} "source /etc/profile;${kafka_home}/bin/kafka-server-stop.sh"
                ## 删除Kafka日志
                ssh ${kafka_node} "rm -rf  ${kafka_home}/logs/* "
            ;;
            *)
                echo "Input wrong,please check!"
                break
        esac 
                    
        done
    ## 等待5秒,确保zookeeper启动
    sleep 5

}

## 检查所有节点的状态
function jps_all_node(){
    check_str=$@
        echo "****************************************Jps check*******************************************"
        for jps_node in ${kafka_array[@]}
        do
        sleep 5
        echo "======================${jps_node} jps result========================" 
        ssh ${jps_node} "source /etc/profile ; jps | grep ${check_str}"
        done
}


echo  "=======Start Kafka cluster,please intput : start or 1 ======"
echo  "=======Stop  Kafka cluster,please intput : stop  or 0 ======"
read -p "please input : "  inputStr
case ${inputStr} in 
    start|START|1)
        ## 启动zookeeper 
        zookeeper_operate  start 
        ## 启动kafka
        kafka_operate   start
        ## 检查所有节点的状态
        jps_all_node  Kafka
    ;;
    stop|STOP|0)
        kafka_operate   stop
        ## 检查所有节点的状态
        jps_all_node  Kafka
    ;;
    *)
        echo "Input wrong,please check!"
        break
esac

2、启动Kafka

 sh manage-kafka.sh

 输入start或者1,即可启动所有的Kafka节点。

在Kafka中配置了zookeeper,所以脚本中会自动启动zookeeper服务。

3、停止kafka

 sh manage-kafka.sh

  输入stop或者0,即可停止所有的Kafka节点。

标签:node,operate,批量,zookeeper,kafka,Kafka,节点,echo
From: https://www.cnblogs.com/yeyuzhuanjia/p/18025576

相关文章

  • Zookeeper-批量启动和停止zookeeper节点脚本
    背景由于zookeeper的服务启动和停止,需要一台一台地去启动和停止。当部署的zookeeper节点多时非常麻烦,所以编写下面的脚本,用于提升启动和停止的效率。执行如下脚本需要确保:脚本存放的服务器与所有的zookeeper节点直接可以免密登录(服务器之间建立互信)。1、编辑脚本vi manage-z......
  • 利用jszip实现批量文件压缩下载
    介绍前端可以通过一个第三方库jszip,可以把多个文件以blob、base64或纯文本等形式,按自定义的文件结构,压缩成一个zip文件,然后通过浏览器download下来。官网:stuk.github.io/jszip/用法不难,直接看code://先封装一个方法,请求返回文件blobasyncfunctionfetchBlob(fetchUrl,meth......
  • GaussDB_on_kylinV10SP3_单节点安装过程
    GaussDB_on_kylinV10SP3_单节点安装过程背景OpenGauss的搭建和部署非常简单但是GaussDB的就比较复杂.我理解openGauss的简单版本应该就是PG内核直接使用但是GaussDB的版本应该是更换了存储殷勤,所以部署起来比较复杂.自己的理解可能不正确.注意本次只是进行:单节点中......
  • MODIS hdf数据批量转tif数据
    PythonGDAL地学分析MODIShdf数据批量转tif数据   一、概况MODIS即中分辨率成像光谱仪(Moderate-resolutionImagingSpectroradiometer,缩写MODIS)是美国宇航局研制大型空间遥感仪器,以了解全球气候的变化情况以及人类活动对气候的影响。1998年MODIS机载模型......
  • SpringBoot+MybatisPlus+Mysql实现批量插入万级数据多种方式与耗时对比
    场景若依前后端分离版本地搭建开发环境并运行项目的教程:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662若依前后端分离版如何集成的mybatis以及修改集成mybatisplus实现Mybatis增强:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1362030......
  • 【微信/企业微信】批量发送消息
    一、背景公司运营需求,会经常给一些用户发送具有针对性的消息,用来提高用户黏性。之前每次发送都是人工处理,编辑信息,然后一个一个的手动复制粘贴发送,整个过程枯燥无味,浪费了大量的时间精力。一次偶然机会发现有现成的RPA工具,专门用来处理这种重复且规律的工作。自己下了一个,花了半......
  • 【微信/企业微信】批量添加好友
    一、背景前同事最近跳槽了,运营方面的工作,最近总是抱怨要处理各渠道的来的手机号。细问后,才知道,她需要把线上线下各种渠道手机到的用户手机号,添加到微信和企业微信好友中,然后集中运营,方便做后续运营操作,增加用户粘性和参与度。目前每次的工作量在200到500个手机号不等,每次操作要......
  • JPA批量新增,批量更新
    jpa的sava与saveAllsave()方法@Transactionalpublic<SextendsT>Ssave(Sentity){if(this.entityInformation.isNew(entity)){this.em.persist(entity);returnentity;}else{returnthis.em.merge(ent......
  • 在k8S中,Pod被调度到一个节点的具体过程是什么?
    在Kubernetes(k8S)中,Pod被调度到一个节点的具体过程可以分为以下步骤:创建Pod用户通过kubectlapply或KubernetesAPIServer创建或更新Pod的YAML配置文件。KubernetesAPIServer接收到创建Pod的请求后,会验证该请求的正确性和有效性。准入控制在API......
  • kafka消费组和分区关系详解
    原文链接:https://blog.csdn.net/weixin_42324471/article/details/121985212消费组概念:ConsumerGroup是Kafka提供的可扩展且有容错性的消费者机制。一个组里面有多个消费者实例,这些消费者共享一个ID,称为GroupID。组内的所有消费者协调在一起来消费订阅主题(SubscribedTopics......