CN115827009A - 一种基于自动化脚本部署Ambari的方法及系统 - Google Patents
一种基于自动化脚本部署Ambari的方法及系统 Download PDFInfo
- Publication number
- CN115827009A CN115827009A CN202310163787.2A CN202310163787A CN115827009A CN 115827009 A CN115827009 A CN 115827009A CN 202310163787 A CN202310163787 A CN 202310163787A CN 115827009 A CN115827009 A CN 115827009A
- Authority
- CN
- China
- Prior art keywords
- ambari
- installation
- deployment
- script
- deploying
- 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于自动化脚本部署Ambari的方法及系统,包括以下步骤:S1.源码分析;通过debug源码分析,确定代码中各个字段的类型、含义、来源和去向,明确各个字段的含义;S2.通过交互式分析形成标准安装部署流程;包括定义规则,使得后续的安装部署能够完全自动化,所述规则包括网络环境是否符合要求、输入是否合理、类型是否符合规定、Ambari系统元数据如何存储、以及是否存在缓存的分析;S3.一键自动化安装部署脚本;根据步骤S2形成的标准安装部署流程,形成自动化脚本,中的配置项通过变量进行替换以完成Ambari安装部署;S4.通过可视化操作页面完成Ambari安装署。本技术方案实现简单的可视化操作页面进行Ambari的安装,能够大幅度缩短部署所需要的时间。
Description
技术领域
本发明涉及计算机网络及数据处理技术领域,尤其是涉及一种基于自动化脚本部署Ambari的方法及系统。
背景技术
当今世界已跨入了互联网+大数据时代,大数据正深刻改变着人们的思维、生产和生活方式。而管理大数据生态集群系统也成为大数据时代不可或缺的重要手段和工具。同时,大数据生态集群的管理也在当今时代扮演者越来越重要的地位,保证大数据集群稳定、安全的运行,也对大数据管理能力提出了更高的要求。
随着 Hadoop 生态的普遍应用,Hadoop 生态日渐增长,Hadoop 这样分布式系统的也日益变得庞大,庞大 系统的维护和监管也变成一项艰难的任务,Hadoop 生态系统的维护和管理也越来越重要。Hadoop是一种分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),而且它提供高吞吐量(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。Hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适,因为类似这样操作的批处理结果可以直接走向存储。Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务(Map)发送到多个节点上,之后再以单个数据集的形式加载(Reduce)到数据仓库里。
Amabri 作为一款 Hadoop 分 布式生态系统的管理工具,逐渐在各公司所企业所接受,但是 Ambari 目前只能管理系统源码中指定的服务,本文介绍 了 Ambari 的功能,通过分析 Ambari 的功能和内部实现,将安装Ambari的交互式方式, 改造为一键式安装,并提供完整的可视化操作页面。
目前Ambari本身的安装是需要运维人员进行操作,同时需要一定的专业知识才能进行,并且交互式的安装方式不利于快速的构建大数据生态集群管理系统。
发明内容
针对现有技术存在的问题,本发明的目的在于提供一种简单的可视化操作页面进行Ambari的安装,能够便捷操作,大幅度缩短部署所需要的时间,以达到高效快速管理大数据生态集群的装置。
为实现上述目的,本发明提供一种基于自动化脚本部署Ambari的方法,所述方法包括以下步骤:
S1.源码分析;通过debug源码分析,确定代码中各个字段的类型、含义、来源和去向;
S2.通过交互式分析形成标准安装部署流程;包括定义规则,使得后续的安装部署能够完全自动化,所述规则包括系统环境是否符合要求、输入是否合理、类型是否符合规定、Ambari系统元数据如何存储、以及是否存在缓存的分析;
S3.一键自动化安装部署脚本;根据步骤S2形成的标准安装部署流程,形成自动化脚本,中的配置项通过变量进行替换以完成Ambari安装部署;
S4.通过可视化操作页面完成Ambari安装部署。
进一步,步骤S1中,源码分析阶段,需要进行debug源码操作,然后以此确定代码中各个字段的类型、含义、来源和去向,明确各个字段的含义,通过ambari-server start --debug命令进入debug模式。
进一步,步骤S2中,包含如下步骤:
S21:根据Ambari的安装对操作系统的要求,检查操作系统是否符合安装条件;
S22:设置主机域名;
S23:配置所有节点ssh互通;ssh包括传输层协议、用户认证协议和连接协议,提供保密服务,防止信息泄露;
S24:关闭防火墙;
S25: selinx配置;
S26:系统参数设置;
S27:配置本地存储库;
S28: 安装jdk;
S29: 安装mysql;
S30: 配置时钟同步;把集群所有机器进行配置同步,以达到各个机器的时间能够相同,分别配置服务端和客户端;
S31:部署ambari;其中ambari元数据配置包括配置docker、mysql地址和Ambari数据库。
进一步,步骤S3中,自动化安装脚本阶段,在经过步骤S1和S2的分析与总结,形成标准部署流程,然后形成自动化的脚本,而其中的配置项通过变量进行替换以完成Ambari安装部署。
进一步,步骤S4中,可视化操作页面,通过分析技术方案步骤,执行脚本等动作,最终实现可视化自动安装Ambari的效果。
进一步,使用docker方式安装mysql,并已经形成相应的安装脚本,完成mysql的安装,步骤如下:
配置docker、mysql安装节点地址;
执行安装命令,自动化安装;
根据日志获取用户和密码并初始化ambari数据库;
进一步,判断系统环境符合要求的条件在于判断操作系统是否为Centos、Windows、Ubuntu或RHEL中的一个。
进一步,在判断为操作系统不属于Centos、Windows、Ubuntu或RHEL中任意一个情况下,发出系统环境不符合要求的提示,结束进程。
进一步,分布式系统中为保证全局的时间是一致的,需要进行各个机器节点时间同步操作,在步骤S30中,时钟同步节点中的处理如下:
S241.使用系统yum命令,进行chrony时钟同步服务的安装
yum -y install chrony(安装时钟同步服务)
S242.启动chrony服务并且加入开启自动启动程序
systemctl start chronyd.service(启动时间同步服务并开启开机自启)
S243.配置chrony,配置集群的时钟同步,选取集群内一台服务器作为时间基准,以此进行其他机器的时间同步;
S244.设置时区,时间服务器需要在集群内的所有机器保持同一时区,保证时间的一致性;
S245.服务器集群之间的系统时间同步,把集群所有机器进行配置同步,以达到各个机器的时间能够相同,分别配置服务端和客户端。
另一方面,本发明还提供一种基于自动化脚本部署Ambari的系统,所述系统用于实现根据本发明所述的基于自动化脚本部署Ambari的方法。
本发明的有益效果如下:首先分析Ambari内部源码,以及各个模块的功能、搞清楚依赖关系及其配置,其次通过分析交互的方式与以上配置结合形成标准安装步骤,最后通过标准安装步骤形成一键自动化安装脚本进行Ambari的安装部署,本发明的技术方案能够大幅度缩短部署所需要的时间,以达到高效快速管理大数据生态集群的目的。
附图说明
图1示出了根据本发明实施例中基于自动化脚本部署Ambari的方法和系统的流程示意图;
图2示出了根据本发明实施例中交互式流程分析及标准安装步骤的流程示意图;
图3示出了根据本发明实施例中方法操作流程。
具体实施方式
下面将结合附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
以下结合图1-图3对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
本发明所提出的基于自动化脚本部署Ambari的方法和系统的流程图如图1所示,所述方法主要包括以下步骤:
S1.源码分析;通过debug源码分析,确定代码中各个字段的类型、含义、来源和去向;
S2.通过分析交互方式形成标准安装部署流程;
S3.一键自动化安装部署脚本;根据步骤S2形成的标准安装部署流程,形成自动化脚本,其中的配置项通过变量进行替换以完成Ambari安装部署;
S4.通过可视化操作页面完成Ambari安装署。
具体地,其技术方案如下:
步骤S1中,源码分析阶段,需要进行debug源码操作,然后以此确定代码中各个字段的类型、含义、来源和去向,明确各个字段的含义,使用以下命令进入debug模式:
ambari-server start --debug
debug是为DOS提供的有力的侦错、跟踪程序运行,检查系统数据的工具程序,它是在字符界面下以单字符命令方式工作。通过debug源码分析才能获知如何正确的安装Ambari,避免安装后系统存在缺失和错误。
步骤S2中,通过分析交互方式形成标准安装部署流程;交互式流程分析阶段,定义规则,使得后续的安装部署能够完全自动化。具体过程如下:
通过系统检测程序(内部程序)获取系统环境,如:操作系统架构(x86或者arm)、操作系统类型,将以上参数传入配置模版中进行对比,若参数值在配置中不存在则结束程序,若系统环境检测通过,则进一步检测输入参数是否合理,仍然将参数传入模版中进行对比,若不符合则程序退出,
进一步,若以上检测全部通过则程序会自动将信息持久化到数据库中,优选使用mysql数据库。
如图2所示,交互式分析流程及安装部署流程具体步骤如下:
步骤S21:根据Ambari的安装对操作系统的要求,检查操作系统是否符合安装条件。比如:目前Ambari可在Centos、Windows、Ubuntu、RHEL进行安装,那么在进行系统检测时,一定要符合系统要求,并能在检测出错时给出明确的提示。
其中,预定义安装环境配置文件流程如下:
S211.根据客户提供环境把需要检测的内容定义到json文件中,目的是在下面检测过程中会进行比对,如果不符合环境信息,则程序退出;
S212.前端调用接口获取真正的环境信息,目的是将获取到的信息传入后端脚本中以便做比对操作;
S213.后端执行脚本文件获取环境信息;
S214.解析环境获取操作系统信息;
S215.通过jinja2模版引擎进行参数替换或渲染;这里会将参数替换为后端解析到的信息作为真正的值写入文件以便和前端传递的值进行比对以获取结果,然后根据结果判断是否进行下一步;若结果正确则程序继续,否则程序退出;
jinja2 作为一个模板系统,它提供了特殊的语法,按照它支持的语法进行编写,使用jinja2模块进行渲染。能够大大加快部署产品的速度,其中使用jinja2优势如下:
1、相对于其他模版引擎Template,jinja2更加灵活,它提供了控制结构,表达式和继承等;
2、相对于Mako,jinja2仅有控制结构,不允许在模板中编写太多的业务逻辑。这样使其jinja2更加轻量;
3、相对于Django模板,jinja2性能更好;
4、Jinja2模板的可读性对研发人员更好。
S216.前端获取到信息跟预定义信息比较得出结果;首先预定义信息为目前软件所支持的硬件及软件环境,包括cpu架构、操作系统版本、是否有root权限、防火墙是否关闭、免密是否打通。以上信息都会写入模版文件,以供后续比对使用,其过程会涉及到python的多线线程调度,线程池的使用。
S217.前端接收到接口响应结果需要跟预定义文件中的信息进行比较,根据比较的结果,判断当前的系统环境是否符合部署要求。比较的方式也是在预定义文件中的,如:等于、大于、小于、范围内。若比对结果符合预期则,程序继续,否则直接退出。
S22:设置主机域名;
S23:配置所有节点ssh互通;Ambari的架构是server和agent架构,而二者的通信是通过ssh下发命令的,故需要进行ssh打通(Secure Shell),否则Ambari是无法安装集群的。SSH(Secure Shell安全外壳协议)为建立在应用层基础上的安全协议。SSH 是专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH 主要由三部分组成:
传输层协议 [SSH-TRANS]。提供了服务器认证,保密性及完整性。该协议中的认证基于主机,并且该协议不执行用户认证。更高层的用户认证协议可以设计为在此协议之上。
用户认证协议 [SSH-USERAUTH]。用于向服务器提供客户端用户鉴别功能。它运行在传输层协议 SSH-TRANS 上面。当SSH-USERAUTH 开始后,它从低层协议那里接收会话标识符(从第一次密钥交换中的交换哈希H )。会话标识符唯一标识此会话并且适用于标记以证明私钥的所有权。 SSH-USERAUTH 也需要知道低层协议是否提供保密性保护。
连接协议 [SSH-CONNECT]。将多个加密隧道分成逻辑通道。它运行在用户认证协议上。
具体地,打通ssh命令如下:
(1)生成密钥对
ssh-keygen -t rsa
(2)进入.ssh目录,如果目录不存在则创建
(3)将公钥导入至authorized_keys
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
(4)修改文件权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
(5)在管理节点上执行以下命令,使管理节点能免密访问其他从节点:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@$hostname。
步骤S24:Amabri安装过程中有些程序会和防火墙冲突,故需要关闭防火墙。
Ambari中,有些软件会跟防火墙冲突,导致防火墙的误报,最终导致组件无法安装,故在安装组件时需要把防火墙关闭。操作步骤如下:
查看防火墙状态;
关闭防火墙;
设置防火墙开机关闭状态。
步骤S25: selinx配置;执行关闭selinx命令,此目的是在进行自动化安装软件过程中,需要一些特殊权限控制,如:开启自启动等配置,如果selinx是开启状态则有些命令无法执行,会造成程序出错,最终导致软件无法安装;
步骤S26:系统参数设置;在安装软件中,软件本身需要进行系统参数的设置才能运转,故需要在此步骤进行参数设置,如:系统进程文件数限制、软件用户创建等;
步骤S27:配置本地存储库;由于目前软件安装需要兼容完全离线环境安装,因此需要配置本地存储库,而不是从互联网下载软件;
步骤S28:安装jdk;
软件为java语言开发,故需要java环境,因此机器必须安装jdk;
步骤S29:安装mysql;软件自己的元数据需要持久化存储,以便在机器或软件重启时重新获取数据,而不至于由于故障引起数据丢失,甚至导致软件不可用;
步骤S30:设置集群内所有服务器的时间同步,hadoop集群在运行时依赖机器时间,如果安装ambari时不进行时间同步,则后续集群会出现未知的问题。
步骤S31.部署Ambari。Ambari元数据配置,Ambari的运行会依赖数据库,故需要进行Ambari存储的设置。Ambari元数据配置包括配置docker、mysql地址和Ambari数据库。目前安装mysql使用的是docker方式,并已经形成相应的安装脚本,故只需要进行如下命令即可完成mysql的安装:
配置docker、mysql地址 ;
此脚本也是后面可视化的基础脚本 ;
cd /opt/startdt/datakun/simbastack-master
sh install.sh --jdk --docker --mysql
安装完之后,用户名和密码会在屏幕上显示,也可自行修改。
接下来就是配置Ambari数据库;
将响应初始化脚本放置相应目录;
cp Ambari-DDL-MySQL-CREATE.sql /opt/startdt/mysql/logs
进入容器,进行数据初始化;
docker exec -it mysql /bin/bash
mysql -h127.0.0.1 -p
use datakun;
source /var/log/mysql/Ambari-DDL-MySQL-CREATE.sql;
使用docker安装mysql优势:
docker安装无关操作系统,更加通用;docekr安装保证不会影响其他系统进程,同时降低系统对mysql服务的影响;docker安装扩展性更好;管理更加方便。
由于Ambari安装是yum安装方式,而为了支持Amabri的离线安装方式,需要进行本地Amabri的yum源配置,yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装,其大大节省安装时间。配置命令如下:
ambariserver端安装
yum -y install ambari-server
同时本地源配置优势在于:
省去了从互联网下载相关安装包的时间;本地存储库(本地源)方式内网通信,加速部署;在离线环境中,可提前将系统依赖放入本地存储库中,避免因无法连接互联网而导致ambari无法安装。
使用yum命令进行Ambari的安装,中间无需其他操作。
步骤S3中,自动化安装脚本阶段,在经过步骤S1和S2的分析与总结,形成标准部署流程,然后形成自动化的脚本,而其中的配置项通过变量进行替换以完成Ambari安装部署。
本发明提供了一种自动化安装Amabri脚本的装置,旨在解决大数据生态集群管理系统在安装中碰到的各种配置、环境等问题,大大方便了安装部署人员,提高部署效率,缩短部署时间,本方案实施过程,可将原来大约2-3个小时的部署时间缩短至十几分钟之内完成。
步骤S4中,通过可视化操作页面完成Ambari安装署,具体包括以下流程:
S41.根据客户需求制定预置模版信息,并以json格式存入数据库;根据客户要求进行预置模版的编写,并存入数据库;通过ssh下发命令获取各个指标(操作系统、软件环境等);
S42.调用restapi获取真实机器的环境信息,并通过jinja2模版引擎渲染数据;获取到指标通过jinja2模版渲染数据;前端调用获取真实环境接口获取信息;前端获取存入数据库的预置模版信息;jinja2渲染进行环境检查,通过则直接下一步啊,不通过则根据抛出的错误信息进行整改;
S43.做对比、并根据对比结果选择结束流程还是可安装ambari。根据渲染的数据与预置的模版进行指标比较,如果指标全部通过则检查通过;
S44.检查通过,页面点击下一步进行ambari安装,此时会调用后端安装ambari命令进行服务的安装。检查通过之后调用安装ambari命令进行安装,安装成功,返回前端访问地址,流程结束。
通过以上步骤实现ambari可视化安装的效果。
本发明目的在于提供一种简单的可视化操作页面进行Ambari的安装,以达到管理大数据生态集群的装置。发明构思在于首先分析Ambari内部源码,以及各个模块的功能(检查环境、数据渲染、命令执行、异常处理、文件处理)、搞清楚依赖关系及其配置,其次通过分析交互的方式(debug源码搞清各参数的意义)与以上配置结合形成标准安装步骤,最后通过标准安装步骤形成一键自动化安装脚本进行Ambari的安装部署。
本发明提供的一种自动化脚本安装Ambari并最终达到可视化安装的技术方案,其关键技术点在于:
通过源码分析安装中的关键节点,关键节点包括操作系统版本、关闭防火墙、软件环境jdk和mysql和时钟同步,并在关键节点中给出相应的处理。
分布式系统中为保证全局的时间是一致的,需要进行各个机器节点时间同步操作。在步骤S24中,时钟同步节点中的处理如下:
在centos7中,使用chrony服务进行时间同步,流程如下:
S241.使用系统yum命令,进行chrony时钟同步服务的安装
yum -y install chrony(安装时钟同步服务)
S242.启动chrony服务并且加入开启自动启动程序
systemctl start chronyd.service(启动时间同步服务并开启开机自启)
由于服务器存在重启风险,因此需要chrony程序在服务器启动之后能够自动拉起,可以减小因人工启动带来的时间延误风险,命令如下:
systemctl start chronyd.service
S243.配置chrony
配置集群的时钟同步,选取集群内一台服务器作为时间基准,以此进行其他机器的时间同步,操作如下:
下方是默认的四个同步时间的服务器,可以按照格式修改成本地的时间服务器:
cat /etc/chrony.conf
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
指定一台主机、子网,或者网络以允许或拒绝NTP连接到扮演时钟服务器的机器;如:192.168.0.1。
S244.设置时区
时间服务器需要在集群内的所有机器保持同一时区,这样才能保证时间的一致性,例如这里把上海时区作为时钟同步的时区,命令如下:
timedatectl set-timezone Asia/Shanghai。
S245.服务器集群之间的系统时间同步
配置完时钟同步配置过后,需要把集群所有机器进行配置同步,以达到各个机器的时间能够相同,分别配置服务端和客户端。
服务端配置:
1、编辑/etc/hosts文件添加所有节点信息,并进行hostsname映射;
2、选定一台服务器作为时间同步服务器;
3、把/etc/hosts文件内容同步至(scp命令)所有节点;
4、所有节点配置完,重启chronyd服务;
5、观察所有节点时间。
客户端:
注释掉其他serverhosts映射,并在客户端(192.168.0.1)添加刚配置的时间服务器的host地址;
到此已经完成系统时间的同步。如有多台机器,则重复步骤S245。
配置chrony时钟同步而非ntp时钟同步,其优势如下:
1、更快的同步只需要数分钟而非数小时时间,从而大程度减少了时间和频率误差,对于并非全天 24 小时运行的虚拟计算机而言非常有用;
2、能够更好地响应时钟频率的快速变化,对于具备不稳定时钟的虚拟机或导致时钟频率发生变化的节 能技术而言非常有用;
3、在初始同步后,它不会停止时钟,以防对需要系统时间保持单调的应用程序造成影响;
4、在应对临时非对称延迟时(例如,在大规模下载造成链接饱和时)提供了更好的稳定性;
5、无需对服务器进行定期轮询,因此具备间歇性网络连接的系统仍然可以快速同步时钟。
在形成自动化脚本时,需要时刻注意安装的上下文,不至于在安装过程中出现未知的问题。形成逻辑闭环,并设计方便、友好的可视化安装页面。
此外,本发明还提供一种基于自动化脚本部署Ambari的系统,所述系统用于实现根据本发明所述的基于自动化脚本部署Ambari的方法。
在本说明书的描述中,参考术语“实施例”、“示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,本领域的技术人员可以在不产生矛盾的情况下,将本说明书中描述的不同实施例或示例以及其中的特征进行结合或组合。
上述内容虽然已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型等更新操作。
Claims (10)
1.一种基于自动化脚本部署Ambari的方法,其特征在于,所述方法包括以下步骤:
S1.源码分析;通过debug源码分析,确定代码中各个字段的类型、含义、来源和去向;
S2.通过交互式分析形成标准安装部署流程;包括定义规则,使得后续的安装部署能够完全自动化,所述规则包括网络环境是否符合要求、输入是否合理、类型是否符合规定、Ambari系统元数据如何存储、以及是否存在缓存的分析;
S3.一键自动化安装部署脚本;根据步骤S2形成的标准安装部署流程,形成自动化脚本,其中的配置项通过变量进行替换以完成Ambari安装部署;
S4.通过可视化操作页面完成Ambari安装部署。
2.根据权利要求1所述的基于自动化脚本部署Ambari的方法,其特征在于,步骤S1中,源码分析阶段,需要进行debug源码操作,然后以此确定代码中各个字段的类型、含义、来源和去向,明确各个字段的含义,通过ambari-server start --debug命令进入debug模式。
3.根据权利要求2所述的基于自动化脚本部署Ambari的方法,其特征在于,步骤S2中,包含如下步骤:
S21:根据Ambari的安装对操作系统的要求,检查操作系统是否符合安装条件;
S22:设置主机域名;
S23:配置所有节点ssh互通;ssh包括传输层协议、用户认证协议和连接协议,提供保密服务,防止信息泄露;
S24: 关闭防火墙,防止Amabri安装过程中程序和防火墙冲突;
S25: selinx配置;
S26:系统参数设置;
S27:配置本地存储库 ;
S28:安装jdk;
S29:安装mysql;
S30:配置时钟同步;把集群所有机器进行配置同步,以达到各个机器的时间能够相同,分别配置服务端和客户端;
S31:部署ambari;其中ambari元数据配置包括配置docker、mysql地址和Ambari数据库。
4.根据权利要求3所述的基于自动化脚本部署Ambari的方法,其特征在于,步骤S3中,自动化安装脚本阶段,在经过步骤S1和S2的分析与总结,形成标准部署流程,然后形成自动化的脚本,而其中的配置项通过变量进行替换以完成Ambari安装部署。
5.根据权利要求4所述的基于自动化脚本部署Ambari的方法,其特征在于,步骤S4中,可视化操作页面,通过分析技术方案步骤,然后层层递进,显示可视化自动安装Ambari的效果。
6.根据权利要求5所述的基于自动化脚本部署Ambari的方法,其特征在于,使用docker方式安装mysql,并已经形成相应的安装脚本,完成mysql的安装过程:
首先,配置docker、mysql安装节点地址;
其次,执行安装命令,自动化安装;
最后,根据日志获取用户和密码并初始化ambari数据库。
7.根据权利要求3所述的基于自动化脚本部署Ambari的方法,其特征在于,判断网络环境符合要求的条件在于判断操作系统是否为Centos、Windows、Ubuntu或RHEL中的一个。
8.根据权利要求7所述的基于自动化脚本部署Ambari的方法,其特征在于,在判断为操作系统不属于Centos、Windows、Ubuntu或RHEL中任意一个情况下,发出网络环境不符合要求的提示,结束进程。
9.根据权利要求3所述的基于自动化脚本部署Ambari的方法,其特征在于,分布式系统中为保证全局的时间是一致的,需要进行各个机器节点时间同步操作,在步骤S30中,时钟同步节点中的处理如下:
S241.使用系统yum命令,进行chrony时钟同步服务的安装;
S242.启动chrony服务并且加入开启自动启动程序;
S243.配置chrony,配置集群的时钟同步,选取集群内一台服务器作为时间基准,以此进行其他机器的时间同步;
S244.设置时区,时间服务器需要在集群内的所有机器保持同一时区,保证时间的一致性;
S245.服务器集群之间的系统时间同步,把集群所有机器进行配置同步,以达到各个机器的时间能够相同,分别配置服务端和客户端。
10.一种基于自动化脚本部署Ambari的系统,其特征在于,所述系统用于实现根据权利要求1-9任一项所述的基于自动化脚本部署Ambari的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310163787.2A CN115827009B (zh) | 2023-02-24 | 2023-02-24 | 一种基于自动化脚本部署Ambari的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310163787.2A CN115827009B (zh) | 2023-02-24 | 2023-02-24 | 一种基于自动化脚本部署Ambari的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115827009A true CN115827009A (zh) | 2023-03-21 |
CN115827009B CN115827009B (zh) | 2023-05-16 |
Family
ID=85522298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310163787.2A Active CN115827009B (zh) | 2023-02-24 | 2023-02-24 | 一种基于自动化脚本部署Ambari的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115827009B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109359021A (zh) * | 2018-09-26 | 2019-02-19 | 郑州云海信息技术有限公司 | 一种系统状态的检测方法、装置、设备及存储介质 |
CN110209407A (zh) * | 2019-06-12 | 2019-09-06 | 浪潮软件股份有限公司 | 一种大数据集群自动化部署系统及方法 |
CN111079102A (zh) * | 2018-10-18 | 2020-04-28 | 上海擎感智能科技有限公司 | Linux远程安全登录方法、系统、存储介质及设备 |
CN113434158A (zh) * | 2021-07-08 | 2021-09-24 | 恒安嘉新(北京)科技股份公司 | 一种大数据组件的自定义管理方法、装置、设备及介质 |
US20220091826A1 (en) * | 2020-09-18 | 2022-03-24 | Arganteal, Corp. | Automation and orchestration platform for software development and deployment |
CN115421765A (zh) * | 2021-12-01 | 2022-12-02 | 万达信息股份有限公司 | 一种应用于国产化操作系统的大数据管理部署方法 |
-
2023
- 2023-02-24 CN CN202310163787.2A patent/CN115827009B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109359021A (zh) * | 2018-09-26 | 2019-02-19 | 郑州云海信息技术有限公司 | 一种系统状态的检测方法、装置、设备及存储介质 |
CN111079102A (zh) * | 2018-10-18 | 2020-04-28 | 上海擎感智能科技有限公司 | Linux远程安全登录方法、系统、存储介质及设备 |
CN110209407A (zh) * | 2019-06-12 | 2019-09-06 | 浪潮软件股份有限公司 | 一种大数据集群自动化部署系统及方法 |
US20220091826A1 (en) * | 2020-09-18 | 2022-03-24 | Arganteal, Corp. | Automation and orchestration platform for software development and deployment |
CN113434158A (zh) * | 2021-07-08 | 2021-09-24 | 恒安嘉新(北京)科技股份公司 | 一种大数据组件的自定义管理方法、装置、设备及介质 |
CN115421765A (zh) * | 2021-12-01 | 2022-12-02 | 万达信息股份有限公司 | 一种应用于国产化操作系统的大数据管理部署方法 |
Non-Patent Citations (2)
Title |
---|
TOSHINORI USUI: "Automatic Reverse Engineering of Script Engine Binaries for Building Script API Tracers" * |
李杰;刘广钟;: "Hadoop分布式集群的自动化容器部署研究" * |
Also Published As
Publication number | Publication date |
---|---|
CN115827009B (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109495308B (zh) | 一种基于管理信息系统的自动化运维系统 | |
US8346897B2 (en) | System and method for deploying and maintaining software applications | |
US9223617B2 (en) | Methods and systems for migrating networked systems across administrative domains | |
US8910129B1 (en) | Scalable control system for test execution and monitoring utilizing multiple processors | |
JP2022022077A (ja) | アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム | |
US11635752B2 (en) | Detection and correction of robotic process automation failures | |
Olups | Zabbix Network Monitoring | |
CN112214227A (zh) | 一种边缘服务器镜像定制化及部署系统和方法 | |
CN115357308A (zh) | 基于Docker的边缘物联代理装置、系统及应用方法 | |
Bouchenak et al. | From autonomic to self-self behaviors: The jade experience | |
CN113127009A (zh) | 大数据管理平台的自动化部署方法和装置 | |
US11635953B2 (en) | Proactive notifications for robotic process automation | |
Liu et al. | Mv4ms: A spring cloud based framework for the co-deployment of multi-version microservices | |
Kasemir et al. | Control system studio guide | |
CN115827009B (zh) | 一种基于自动化脚本部署Ambari的方法及系统 | |
CN115599399A (zh) | 一种应用程序部署方法、装置及存储介质 | |
Uytterhoeven et al. | Zabbix 4 Network Monitoring: Monitor the performance of your network devices and applications using the all-new Zabbix 4.0 | |
Hao | Edge Computing on Low Availability Devices with K3s in a Smart Home IoT System | |
Olups et al. | Zabbix: Enterprise Network Monitoring Made Easy | |
Mardan et al. | Getting Node. js Apps Production Ready | |
CN116909584B (zh) | 时空大数据引擎的部署方法、装置、设备以及存储介质 | |
CN117908904B (zh) | 一种k8s集群部署及运维管理的方法和系统 | |
CN115827408A (zh) | 一种Linux初始化调优装置 | |
Warner | Buildbot Documentation | |
Harðarson et al. | Taipan: gagnasöfnunarkerfi fyrir Skagann 3X |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |