3.1 创建文件
cd bin 跳转到bin文件夹里
touch  start-kafka-cluster.sh --新建一键启动文件
touch  stop-kafka-cluster.sh --新建一键停止文件

3.2 编写start
start-kafka-cluster.sh内容:
#!/bin/bash
brokers="hadoop01 hadoop02 hadoop03"
KAFKA_HOME="/home/hadoop/kafka_2.12-2.3.0"
KAFKA_NAME="kafka_2.12-2.3.0"

echo "INFO : Begin to start kafka cluster ..."

for broker in $brokers
do
  echo "INFO : Starting ${KAFKA_NAME} on ${broker} ..."
  ssh ${broker} -C "source /etc/profile; sh ${KAFKA_HOME}/bin/kafka-server-start.sh -daemon ${KAFKA_HOME}/config/server.properties"
  if [[ $? -eq 0 ]]; then
      echo "INFO:[${broker}] Start successfully"
  fi
done
echo "INFO:Kafka cluster starts successfully !"

3.2 编写stop
stop-kafka-cluster.sh内容:
#!/bin/bash
brokers="hadoop01 hadoop02 hadoop03"
KAFKA_HOME="/home/hadoop/kafka_2.11-2.3.0"
KAFKA_NAME="kafka_2.11-2.3.0"
echo "INFO : Begin to stop kafka cluster ..."
for broker in $brokers
do
  echo "INFO : Shut down ${KAFKA_NAME} on ${broker} ..."
  ssh ${broker} "source /etc/profile;bash ${KAFKA_HOME}/bin/kafka-server-stop.sh"
  if [[ $? -ne 0 ]]; then
      echo "INFO : Shut down ${KAFKA_NAME} on ${broker} is down"
  fi
done
注1:如 cat -v start-kafka-cluster.sh 或 cat -v start-kafka-cluster.sh 遇见每行末尾有“^M”,则使用cat filename |tr -d '\r' > newfilename 命令
注2:修改kafka-server-stop.sh(因为安装后本身stop文件不能真正停止kafka进程):
#PIDS=$(ps ax | grep -i 'kafka\.Kafka' | grep java | grep -v grep | awk '{print $1}')
PIDS=$(ps ax | grep -i 'kafka\.Kafka' | awk '{print $1}' | xargs kill -SIGTERM)

具体执行过程如下:

[hadoop@hadoop01 ~]$ jps --查看kafka是否启动
8736 NodeManager
8593 ResourceManager
8083 DataNode
7942 NameNode
21336 Jps
8330 SecondaryNameNode
13595 Kafka
[hadoop@hadoop01 ~]$ cd bin
[hadoop@hadoop01 bin]$ sh stop-kafka-cluster.sh --启动stop脚本
INFO : Begin to stop kafka cluster ...
INFO : Shut down kafka_2.12-2.3.0 on hadoop01 ...
No kafka server to stop
INFO : Shut down kafka_2.12-2.3.0 on hadoop01 is down
INFO : Shut down kafka_2.12-2.3.0 on hadoop02 ...
No kafka server to stop
INFO : Shut down kafka_2.12-2.3.0 on hadoop02 is down
INFO : Shut down kafka_2.12-2.3.0 on hadoop03 ...
No kafka server to stop
INFO : Shut down kafka_2.12-2.3.0 on hadoop03 is down
INFO : kafka cluster shut down completed!
[hadoop@hadoop01 bin]$ jps --查看是否停止成功
8736 NodeManager
8593 ResourceManager
8083 DataNode
21428 Jps
7942 NameNode
8330 SecondaryNameNode
[hadoop@hadoop01 bin]$ sh start-kafka-cluster.sh --启动start脚本
INFO : Begin to start kafka cluster ...
INFO : Starting kafka_2.12-2.3.0 on hadoop01 ...
INFO:[hadoop01] Start successfully
INFO : Starting kafka_2.12-2.3.0 on hadoop02 ...
INFO:[hadoop02] Start successfully
INFO : Starting kafka_2.12-2.3.0 on hadoop03 ...
INFO:[hadoop03] Start successfully
INFO:Kafka cluster starts successfully !
[hadoop@hadoop01 bin]$ jps --查看节点1是否启动成功
8736 NodeManager
8593 ResourceManager
8083 DataNode
21923 Jps
7942 NameNode
21847 Kafka
8330 SecondaryNameNode
[hadoop@hadoop01 bin]$ ssh hadoop02 --查看节点2是否启动成功
Last login: Wed Oct 2 09:21:59 2019 from gateway
[hadoop@hadoop02 ~]$ jps
10564 NodeManager
10888 QuorumPeerMain
15563 Jps
10431 DataNode
15439 Kafka

【kafka】一键启动kafka脚本的更多相关文章

  1. bat脚本:windows下一键启动zookeeper+kafka

    bat脚本:windows下一键启动zookeeper+kafka 把下面两行代码存为bat文件,双击执行即可.注意更改相应的目录 这里用ping来控制时间(先zookeeper,ping 4 次后 ...

  2. 启动kafka集群,关闭kafka集群脚本

    启动kafka集群,关闭kafka集群脚本 在$KAFKA_HOME/bin下新建如下脚本文件 start-kafka.sh #!/bin/bash BROKERS="mini41 mini ...

  3. kafka的相关操作脚本

    总结最近用到的kafka相关命令和脚本. 1.创建Topic./kafka-topics.sh --zookeeper cc13-141:2182 --topic mytopic --replicat ...

  4. 一键启动NameNode和DataNode--shell脚本

    使用shell脚本,一键启动hadoop中的NameNode和DataNode.分为普通版和装逼版.装逼版较普通版多了很多判断和信息提示,当然主要还是为了我联系shell脚本而写的. 如果想实现复用, ...

  5. 启动kafka时报scala相关错误:java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc()

    1.报错现象: 启动kafka的时候启动失败,并且会报告下面的错误: java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc(Ljava/lang/ ...

  6. 安装启动kafka

    vim kafka/config/server.properties #确保唯一 broker.id=0 #允许删除主题 delete.topic.enable=true # 指定数据文件所在目录 l ...

  7. kafka 清除topic数据脚本

    原 kafka 清除topic数据脚本 2018年07月25日 16:57:13 pete1223 阅读数:1028     #!/bin/sh       param=$1   echo " ...

  8. kafka 配置启动

    Kafka配置(注意log.dirs不要配置在tmp目录下,因为该目录会被linux定时任务删除,会导致kafka崩溃)需要三个Kafka实例,分别安装在下面三个机器上:192.168.240.167 ...

  9. 首次启动Kafka报Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c0000000, 1073741824, 0) failed; error='Cannot allocate memory' (errno=12)

    首次启动Kafka报错如下: 原因:内存不足,查看启动配置 调小一些:

随机推荐

  1. DateUtil(2)

    import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; impor ...

  2. 上传base64图片并压缩

    elementUI+react 布局 <Dialog title="充值" visible={ dialogVisible } onCancel={ () => thi ...

  3. HUSTOJ搭建后为了方便作为Judger调用进行的一些修改操作

    这里的操作主要包括: 找到初始的MySQL数据库用户名和密码: 将 csrf 设置为固定值: 取消掉同一用户相邻提交时间间隔需要10秒钟的限制. 内容如下: 系统:ubuntu18.04.2 hust ...

  4. kubernetes核心原理之API Server原理分析

    kubernetes API Server的核心功能是提供了Kubernetes各类资源对象(Pod,RC,Service等)的增删改查及Watch等HTTP Rest接口,成为集群内各个功能模块之间 ...

  5. effictive-python笔记

    第一章 用Pythonic方式来思考 1.确认自己所用的python版本(python3) 两个主流的python版本:python2(2020年就不维护) python3(推荐) 多种流行的pyth ...

  6. [LeetCode] 242. Valid Anagram 验证变位词

    Given two strings s and t , write a function to determine if t is an anagram of s. Example 1: Input: ...

  7. Asp.net SignalR 让实时通讯变得如此简单

    巡更项目中,需要发送实时消息,以及需要任务开始提醒,于是便有机会接触到SignalR,在使用过程中,发现用SignalR实现通信非常简单,下面我思明将从三个方面分享一下: 一.SignalR是什么 A ...

  8. Python 内置函数--range() xrange()

    >>>xrange(8) xrange(8) >>> list(xrange(8)) [0, 1, 2, 3, 4, 5, 6, 7] >>> r ...

  9. python常用英文单词

    application 应用程式 应用.应用程序 application framework 应用程式框架.应用框架 应用程序框架 architecture 架构.系统架构 体系结构 argument ...

  10. 第07组 Beta冲刺(3/4)

    队名:秃头小队 组长博客 作业博客 组长徐俊杰 过去两天完成的任务:学习了很多东西 Github签入记录 接下来的计划:继续学习 还剩下哪些任务:后端部分 燃尽图 遇到的困难:自己太菜了 收获和疑问: ...