CN108073402A - 基于Linux***的kafka集群自动部署方法和装置 - Google Patents

基于Linux***的kafka集群自动部署方法和装置 Download PDF

Info

Publication number
CN108073402A
CN108073402A CN201711241022.7A CN201711241022A CN108073402A CN 108073402 A CN108073402 A CN 108073402A CN 201711241022 A CN201711241022 A CN 201711241022A CN 108073402 A CN108073402 A CN 108073402A
Authority
CN
China
Prior art keywords
kafka
node
zookeeper
clusters
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201711241022.7A
Other languages
English (en)
Inventor
张忠德
赵连睿
王震
王东宁
邓贞翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Luneng Software Technology Co Ltd
Original Assignee
Shandong Luneng Software Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Luneng Software Technology Co Ltd filed Critical Shandong Luneng Software Technology Co Ltd
Priority to CN201711241022.7A priority Critical patent/CN108073402A/zh
Publication of CN108073402A publication Critical patent/CN108073402A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于Linux***的kafka集群自动部署方法和装置,所述方法预先将kafka和zookeeper安装介质上传到本地,然后执行以下步骤:步骤1:读取并解析配置文件,获取kafka集群的节点信息和配置信息;步骤2:根据kafka集群的节点信息将所述安装介质分发到集群中的各个节点;步骤3:根据配置信息,远程登录到各个节点相应的目标主机修改配置文件,通过运行脚本依次启动zookeeper服务和kafka服务。本发明实现了kafka集群的自动安装部署,解决了手动安装可能发生错误的缺陷。

Description

基于Linux***的kafka集群自动部署方法和装置
技术领域
本发明属于软件自动化部署的领域,尤其涉及一种基于Linux***的kafka集群自动部署方法和装置。
背景技术
kafka是一种高吞吐量的分布式发布订阅消息***,可以处理消费者规模的网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。对于像Hadoop的一样的日志数据和离线分析***,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消费。
目前安装kafka集群的方式是按照kafka官方给出的安装文档所规定的步骤手工一步步的进行操作,Kafka集群的安装部署过程通常为:首先安装JDK,在此基础上下载/上传kafka安装介质的压缩包,解压并进行移动或重命名等操作,然后配置zookeeper的安装目录以及修改其他配置信息,启动zookeeper后再修改kafka配置信息,最后启动kafka。以上安装方式操作步骤繁琐,费时费力,并且其中涉及的所有配置信息修改、保存等均需手动执行,极易出错。
如何实现kafka集群的自动部署,解决了手动安装可能发生错误的缺陷,是本领域技术人员目前迫切解决的技术问题。
发明内容
为克服上述现有技术的不足,本发明提供了一种基于Linux***的kafka集群自动部署方法和装置,通过配置文件获取kafka集群的节点信息和配置信息,根据节点信息对安装介质完成分发,根据配置信息对各节点kafka和zookeeper的配置文件进行自动修改。本发明实现了kafka集群的自动安装部署。
为实现上述目的,本发明采用如下技术方案:
一种基于Linux***的kafka集群自动部署方法,预先将kafka和zookeeper安装介质上传到本地,包括以下步骤:
步骤1:读取并解析配置文件,获取kafka集群的节点信息和配置信息;
步骤2:根据kafka集群的节点信息将所述安装介质分发到集群中的各个节点;
步骤3:根据配置信息,远程登录到各个节点相应的目标主机修改配置文件,通过运行脚本依次启动zookeeper服务和kafka服务。
进一步地,所述节点信息包括:kafka集群各个节点的网络地址和安装路径。
进一步地,所述所述配置信息包括kafka配置信息和zookeeper配置信息,其中,所述kafka配置信息包括节点标识id,节点主机名,端口号,消息存放的目录,默认分区数,zookeeper集群地址;所述zookeeper配置信息包括节点ip地址,端口号,日志目录,心跳时间。
进一步地,所述步骤2和3是通过调用自动部署模块实现的。
进一步地,将安装介质分发到集群中的各个节点后,还并发自动解压各个节点上的安装介质。
进一步地,修改配置文件是并发自动修改。
根据本发明的第二目的,本发明还提供了一种基于Linux***的kafka集群自动部署装置,包括存储器和处理器,存储器上存储有预先上传的kafka和zookeeper安装介质,以及可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
步骤1:读取并解析配置文件,获取kafka集群的节点信息和配置信息;
步骤2:根据kafka集群的节点信息将所述安装介质分发到集群中的各个节点;
步骤3:根据配置信息,远程登录到各个节点相应的目标主机修改配置文件,通过运行脚本依次启动zookeeper服务和kafka服务。
根据本发明的第三目的,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时执行以下步骤:
步骤1:读取并解析配置文件,获取kafka集群的节点信息和配置信息;
步骤2:根据kafka集群的节点信息将本地服务器的zookeeper和kafka安装介质分发到集群中的各个节点;
步骤3:根据配置信息,远程登录到各个节点相应的目标主机修改配置文件,通过运行脚本依次启动zookeeper服务和kafka服务。
本发明的有益效果
1、本发明通过脚本封装,将kafka集群的安装部署的过程进行规范化,实现了安装部署的自动化,不仅能够缩短安装时间,也能避免在繁琐的安装过程中手动安装很容易出错的问题。
2、本发明通过在配置文件中存储节点的IP地址和软件安装目录,自动将安装介质分发到各节点上,并且对配置信息进行自动修改,大大提高了集群软件安装的效率和准确度。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为本发明基于Linux***的kafka集群自动部署方法流程图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例一
本实施例公开了一种基于Linux***的kafka集群自动部署方法,预先将kafka和zookeeper安装介质上传到本地服务器,包括以下步骤:
步骤1:读取并解析配置文件,获取kafka集群的节点信息和配置信息;
步骤2:根据kafka集群的节点信息将所述安装介质分发到集群中的各个节点;
步骤3:根据配置信息,远程登录到各个节点相应的目标主机修改配置文件,通过运行脚本依次启动zookeeper服务和kafka服务。
所述步骤1中节点信息包括:kafka集群各个节点的网络地址和安装路径;配置信息包括kafka配置信息和zookeeper配置信息两部分。kafka配置信息包括节点标识id,节点主机名,端口号,消息存放的目录,默认分区数,zookeeper集群地址等;zookeeper配置信息包括节点ip地址,端口号,日志目录,心跳时间等。
所述步骤2和3是通过调用自动部署模块实现的,具体地,通过python调用Fabric模块。
所述步骤2将安装介质分发到集群中的各个节点后,还并发自动解压各个节点上的安装介质。
所述步骤3修改配置文件是并发自动修改。
为了更清楚的阐述本实施例,所述自动部署方法描述如下:
(1)读取配置文件,确定kafka集群各个节点的ip地址,安装目录等信息;
(2)将kafka和zookeeper安装介质上传到本地服务器,通过python调用Fabric模块将kafka和zookeeper介质分发到集群中的各个节点;
(3)通过python调用Fabric模块并发自动解压集群各个节点的kafka和zookeeper介质;
(4)读取配置文件需要实现的配置信息,通过python调用Fabric模块,远程登录到各个目标主机并发自动修改kafka和zookeeper配置文件;
(5)通过python调用Fabric模块,自动远程登录到各个目标主机运行$zookeeper/bin/zkServer.sh脚本,启动zookeeper;
(6)通过python调用Fabric模块,自动远程登录到各个目标主机运行$kafka/bin/kafka-server-start.sh脚本,启动kafka,完成安装。
实施例二
本实施例的目的是提供一种计算装置。
一种基于Linux***的kafka集群自动部署装置,包括存储器和处理器,存储器上存储有预先上传的kafka和zookeeper安装介质,以及可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
步骤1:读取并解析配置文件,获取kafka集群的节点信息和配置信息;
步骤2:根据kafka集群的节点信息将所述安装介质分发到集群中的各个节点;
步骤3:根据配置信息,远程登录到各个节点相应的目标主机修改配置文件,通过运行脚本依次启动zookeeper服务和kafka服务。
实施例三
本实施例的目的是提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时执行以下步骤:
步骤1:读取并解析配置文件,获取kafka集群的节点信息和配置信息;
步骤2:根据kafka集群的节点信息将本地服务器的zookeeper和kafka安装介质分发到集群中的各个节点;
步骤3:根据配置信息,远程登录到各个节点相应的目标主机修改配置文件,通过运行脚本依次启动zookeeper服务和kafka服务。
以上实施例二和三的装置中涉及的各步骤与方法实施例一相对应,具体实施方式可参见实施例一的相关说明部分。术语“计算机可读存储介质”应该理解为包括一个或多个指令集的单个介质或多个介质;还应当被理解为包括任何介质,所述任何介质能够存储、编码或承载用于由处理器执行的指令集并使处理器执行本发明中的任一方法。
本发明的有益效果
1、本发明通过脚本封装,将kafka集群的安装部署的过程进行规范化,实现了安装部署的自动化,不仅能够缩短安装时间,也能避免在繁琐的安装过程中手动安装很容易出错的问题。
2、本发明通过在配置文件中存储节点的IP地址和软件安装目录,自动将安装介质分发到各节点上,并且对配置信息进行自动修改,大大提高了集群软件安装的效率和准确度。
本领域技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (8)

1.一种基于Linux***的kafka集群自动部署方法,预先将kafka和zookeeper安装介质上传到本地,其特征在于,包括以下步骤:
步骤1:读取并解析配置文件,获取kafka集群的节点信息和配置信息;
步骤2:根据kafka集群的节点信息将所述安装介质分发到集群中的各个节点;
步骤3:根据配置信息,远程登录到各个节点相应的目标主机修改配置文件,通过运行脚本依次启动zookeeper服务和kafka服务。
2.如权利要求1所述的kafka集群自动部署方法,其特征在于,所述节点信息包括:kafka集群各个节点的网络地址和安装路径。
3.如权利要求1所述的kafka集群自动部署方法,其特征在于,所述配置信息包括kafka配置信息和zookeeper配置信息,其中,所述kafka配置信息包括节点标识id,节点主机名,端口号,消息存放的目录,默认分区数,zookeeper集群地址;所述zookeeper配置信息包括节点ip地址,端口号,日志目录,心跳时间。
4.如权利要求1所述的kafka集群自动部署方法,其特征在于,所述步骤2和3是通过调用自动部署模块实现的。
5.如权利要求1所述的kafka集群自动部署方法,其特征在于,将安装介质分发到集群中的各个节点后,还并发自动解压各个节点上的安装介质。
6.如权利要求1所述的kafka集群自动部署方法,其特征在于,修改配置文件是并发自动修改。
7.一种基于Linux***的kafka集群自动部署装置,包括存储器和处理器,存储器上存储有预先上传的kafka和zookeeper安装介质,以及可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
步骤1:读取并解析配置文件,获取kafka集群的节点信息和配置信息;
步骤2:根据kafka集群的节点信息将所述安装介质分发到集群中的各个节点;
步骤3:根据配置信息,远程登录到各个节点相应的目标主机修改配置文件,通过运行脚本依次启动zookeeper服务和kafka服务。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时执行以下步骤:
步骤1:读取并解析配置文件,获取kafka集群的节点信息和配置信息;
步骤2:根据kafka集群的节点信息将本地服务器的zookeeper和kafka安装介质分发到集群中的各个节点;
步骤3:根据配置信息,远程登录到各个节点相应的目标主机修改配置文件,通过运行脚本依次启动zookeeper服务和kafka服务。
CN201711241022.7A 2017-11-30 2017-11-30 基于Linux***的kafka集群自动部署方法和装置 Pending CN108073402A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711241022.7A CN108073402A (zh) 2017-11-30 2017-11-30 基于Linux***的kafka集群自动部署方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711241022.7A CN108073402A (zh) 2017-11-30 2017-11-30 基于Linux***的kafka集群自动部署方法和装置

Publications (1)

Publication Number Publication Date
CN108073402A true CN108073402A (zh) 2018-05-25

Family

ID=62157653

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711241022.7A Pending CN108073402A (zh) 2017-11-30 2017-11-30 基于Linux***的kafka集群自动部署方法和装置

Country Status (1)

Country Link
CN (1) CN108073402A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109639489A (zh) * 2018-12-18 2019-04-16 郑州云海信息技术有限公司 一种RabbitMQ集群部署方法、***、设备和介质
CN109857516A (zh) * 2018-12-29 2019-06-07 航天信息股份有限公司 基于容器的集群迁移方法及装置
CN110308950A (zh) * 2019-06-28 2019-10-08 北京云迹科技有限公司 工控机的出厂初始化配置方法及装置、存储介质
CN111130851A (zh) * 2019-12-03 2020-05-08 紫光云(南京)数字技术有限公司 一种可视化部署并管理kafka集群的方法
CN111831221A (zh) * 2020-05-26 2020-10-27 武汉安象信息科技有限公司 一种基于云存储的分布式存储方法及***
CN112148306A (zh) * 2019-06-26 2020-12-29 普天信息技术有限公司 微服务运维管理***和方法
CN114281349A (zh) * 2021-12-28 2022-04-05 中国邮政储蓄银行股份有限公司 开源消息中间件RocketMQ集群的部署方法及装置
CN114827017A (zh) * 2022-03-31 2022-07-29 北京声智科技有限公司 Kafka集群的通信方法、装置、电子设备和存储介质
CN115766717A (zh) * 2022-11-02 2023-03-07 北京志凌海纳科技有限公司 超融合分布式***自动化部署方法及装置
CN117724986A (zh) * 2024-02-08 2024-03-19 云账户技术(天津)有限公司 一种在用例执行中自动操作kafka的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103412768A (zh) * 2013-07-19 2013-11-27 蓝盾信息安全技术股份有限公司 一种基于脚本程序自动化部署Zookeeper集群的方法
CN105204910A (zh) * 2015-10-15 2015-12-30 北京乐动卓越科技有限公司 一种脚本热更新方法和***
US20160275094A1 (en) * 2015-03-17 2016-09-22 Cloudera, Inc. Compaction policy

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103412768A (zh) * 2013-07-19 2013-11-27 蓝盾信息安全技术股份有限公司 一种基于脚本程序自动化部署Zookeeper集群的方法
US20160275094A1 (en) * 2015-03-17 2016-09-22 Cloudera, Inc. Compaction policy
CN105204910A (zh) * 2015-10-15 2015-12-30 北京乐动卓越科技有限公司 一种脚本热更新方法和***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
夜空07: "Kafka(自带的zookeeper)集群搭建详细步骤", 《HTTPS://BLOG.CSDN.NET/WEIXIN_38655836/ARTICLE/DETAILS/78606209》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109639489A (zh) * 2018-12-18 2019-04-16 郑州云海信息技术有限公司 一种RabbitMQ集群部署方法、***、设备和介质
CN109857516A (zh) * 2018-12-29 2019-06-07 航天信息股份有限公司 基于容器的集群迁移方法及装置
CN109857516B (zh) * 2018-12-29 2023-12-12 航天信息股份有限公司 基于容器的集群迁移方法及装置
CN112148306A (zh) * 2019-06-26 2020-12-29 普天信息技术有限公司 微服务运维管理***和方法
CN110308950A (zh) * 2019-06-28 2019-10-08 北京云迹科技有限公司 工控机的出厂初始化配置方法及装置、存储介质
CN111130851A (zh) * 2019-12-03 2020-05-08 紫光云(南京)数字技术有限公司 一种可视化部署并管理kafka集群的方法
CN111831221B (zh) * 2020-05-26 2022-09-23 武汉安象信息科技有限公司 一种基于云存储的分布式存储方法及***
CN111831221A (zh) * 2020-05-26 2020-10-27 武汉安象信息科技有限公司 一种基于云存储的分布式存储方法及***
CN114281349A (zh) * 2021-12-28 2022-04-05 中国邮政储蓄银行股份有限公司 开源消息中间件RocketMQ集群的部署方法及装置
CN114827017A (zh) * 2022-03-31 2022-07-29 北京声智科技有限公司 Kafka集群的通信方法、装置、电子设备和存储介质
CN115766717A (zh) * 2022-11-02 2023-03-07 北京志凌海纳科技有限公司 超融合分布式***自动化部署方法及装置
CN115766717B (zh) * 2022-11-02 2023-08-15 北京志凌海纳科技有限公司 超融合分布式***自动化部署方法、装置、设备及介质
CN117724986A (zh) * 2024-02-08 2024-03-19 云账户技术(天津)有限公司 一种在用例执行中自动操作kafka的方法及装置
CN117724986B (zh) * 2024-02-08 2024-05-07 云账户技术(天津)有限公司 一种在用例执行中自动操作kafka的方法及装置

Similar Documents

Publication Publication Date Title
CN108073402A (zh) 基于Linux***的kafka集群自动部署方法和装置
CN111625452A (zh) 流量回放方法和***
US10284418B2 (en) Network switch management via embedded management controller using management information base (MIB) to JSON parser
CN107766126A (zh) 容器镜像的构建方法、***、装置及存储介质
CN108964968A (zh) 一种容器云环境下的服务接入管理方法和***
CN109885316A (zh) 基于kubernetes的hdfs-hbase部署方法及装置
CN107689982A (zh) 多数据源数据同步方法、应用服务器及计算机可读存储介质
CN106357738A (zh) 一种服务器集群的自动化部署方法、装置和***
US10764165B1 (en) Event-driven framework for filtering and processing network flows
CN106610896A (zh) 一种自适应压力测试的方法及装置
CN103200199A (zh) 一种带外数据采集***
CN107070752B (zh) 一种长连接容量的测试方法及测试***
CN104468274A (zh) 一种集群监控管理方法及***
CN104156381A (zh) Hadoop分布式文件***的副本存取方法、装置和Hadoop分布式文件***
CN107943453A (zh) 一种实现运维***自定义计划任务的方法及***
CN102497436B (zh) 一种基于http协议的网络文件存储方法及***
CN108763042A (zh) 一种基于python的云服务器性能数据采集方法及装置
CN104239508A (zh) 数据查询方法和装置
CN106708573A (zh) 一种用于Hadoop集群自动安装的***及方法
CN111984505A (zh) 一种运维数据采集引擎及采集方法
CN102291274A (zh) 一种实现网络测试仪表自动适配的***及方法
CN110011827A (zh) 面向医联体的多用户大数据分析服务***和方法
CN109710263A (zh) 代码的编译方法、装置、存储介质及电子设备
CN110880990B (zh) 一种大数据集群组件的配置核查方法、装置及计算设备
CN107704362A (zh) 一种基于Ambari监控大数据组件的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180525