一种CDH自动化自动安装的方法技术

技术编号:24120164 阅读:43 留言:0更新日期:2020-05-13 02:50
一种CDH自动化自动安装的方法,首先通过python的paramiko连接需要连接的主机,然后生成hosts文件和ssh免密登录文件,将hosts文件和ssh免密登录文件通过paramiko的ftp将文件长传相应的目录实现集群的免密登录,然后在cmserver主机上安装本地仓库,生成yum仓库,然后在cmserver主机上安装mysql配置数据库,ntpd时间同步、jdk安装,cmserver安装操作;本发明专利技术实现了对CDH的自动化安装,应用于多台机器的CDH的集群安装,通过自动化脚本的实现可以大大缩减安装的时间,减少安装过程中的一些可能问题。

【技术实现步骤摘要】
一种CDH自动化自动安装的方法
本专利技术涉及大数据开发和运维,特别是实现大数据CDH自动化安装的方法。
技术介绍
在企业大数据中,随着业务的不断开展,硬件配置的提升,和软件技术的提升,老的平台框架已经不能满足现有的业务需求了。Cloudera的CDH和Apache的Hadoop是大数据的两个主要平台,CDH指大数据平台Cloudera版本(Cloudera’sDistributionIncludingApacheHadoop,简称“CDH”),基于Web的用户界面,支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、Hbase、Zookeeper、Sqoop,简化了大数据平台的安装。CDH相对于hadoop在兼容性,安全性,稳定性上都有增强,所以我们选择CDH作为主要大数据平台。而hadoop3在相对于hadoop2有很大的提升,hadoop3的新特性主要有一下几点:(1)HDFS支持数据的擦除编码,相对于hadoop2能节省一半的存储空间(2)Tasknative优化,对于shuffle密集型应用,其性能可提高约30%。(3)Hadoop3.x中的MapReduce添加了Map输出collector的本地实现,对于shuffle密集型的作业来说,这将会有30%以上的性能提升。(4)数据节点均衡器,hadoop3通过intra-DataNode平衡数据(5)添加GPU资源的管理(6)MapReduce内存参数自动推断,更好的利用集群资源r>所以hadoop的升级无论性能和稳定性上都有很大的提升,应对现在的任务执行时间长不能及时的展示问题。Python是面向对象、直译式程序设计语言,也是一种功能强大而且完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。这种语言具有非常清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。shell是一种命令语言,同时也可以看成是一个命令解释器,用于接收诸如awk、sed的命令调用等完成相关的功能。Python是一种编程语言,Python提供给程序员更大的自由度和灵活性,以完成shell所不能完成或者难于完成的编码任务,如实现面向对象的模块化设计、操作服务器数据库等等。paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux,Solaris,BSD,MacOSX,Windows等,paramiko都可以支持,因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,paramiko是最佳工具之一。CDH安装过程需要在各个集群节点之间切换,比较繁琐,而且对于没有安装过集群的并不友好,CDH依赖较多的应用,而且国内对于cloudera网站的访问并不稳定,如果在安装的过程中失败可能需要重新安装。基于以上原因,编写了自动化脚本帮助安装CDH。
技术实现思路
本专利技术目的是,提出一种CDH自动化自动安装的方法,解决国内对于cloudera网站的访问并不稳定容易安装的过程中失败的问题,编写了自动化脚本帮助安装CDH。本专利技术的技术方案是:一种CDH自动化自动安装的方法,首先通过python的paramiko连接需要连接的主机,然后生成hosts文件和ssh免密登录文件,将hosts文件和ssh免密登录文件通过paramiko的ftp将文件长传相应的目录实现集群的免密登录,然后在cmserver主机上安装本地仓库,生成yum仓库,实现本地仓库,解决网络延迟导致CDH安装不成功的问题,然后在cmserver主机上安装mysql配置数据库,LINUXntpd时间同步,jdk安装(Java软件开发工具包),cmserver安装等操作;具体步骤如下:步骤1、免密登录和hosts配置,由于机器较多,每台都进行免密的操作太过于费事,而且很可能出现误操作,所以利用paramiko的特性,使用paramiko操作,在多台需要安装的每台机器执行免密操作,多台主机在互传到cmserver主机(连接管理服务主机)实现免密的登录;步骤11、首先读取主机配置文件,获取ip,开辟线程,通过paramiko连接cmserver主机;步骤12、生成hosts文件,将hosts的主机信息写入到/etc/hosts文件,使得主机能够识别其他主机的hostname;步骤13、生成ssh免密登录文件,即cmserver主机交互生成密匙文件,读取密匙文件,并将密匙文件写入cmserver主机;该文件用于主机的识别;步骤13、将文件上传到各台安装机,实现免密登录。步骤2、安装工作步骤21、安装本地yum源,CDH的官方yum网络慢,软件较大,安装过程中经常出现中断导致CDH安装失败,所以需要安装和配置本地yum源,首先将需要的软件包放在目录下,安装httpd(httpserver),创建仓库并将仓库上传到指定路径,将配置好的的cloudera-repo上传到repo目录下;步骤22、安装配置ntpd,ntpd是时间同步类,如果服务主机发生时间偏差会报时钟异常,所以需要在每台机器中安装和配置时钟同步类,首先编写配置文件将nptdserver地址配置好,然后在每台机器中安装通过exec_all_host.py工具类在每台机器中安装ntpd,然后使用工具类scp_host.sh,该工具类可以遍历hosts将文件发送到每台机器,使用scp_host.sh将配置文件发送到每台安装机;步骤23、关闭防火墙,编写工具类程序exec_all_host.py,该工具类程序会遍历步骤2中的所有配置文件,执行脚本时添加linux命令和参数即可以在配置的主机中完成linux命令,利用所述工具类程序在每台机器中执行linux命令关闭防火墙;步骤24、安装mysql,在机器中安装mysql根据官方配置文档替换mysql的配置文件,通过mysql命令执行官方sql文件。步骤25、安装cmserver,执行scm建表的脚本,scm的相关脚本创建了和cmserver服务相关的表,为cmserver提供服务。步骤26、启动cmserver。cmserver需要很多的库为scm服务,和cmserver提供支持。软件配置管理(scm)是指通过执行版本控制、变更控制的规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。本专利技术在现有技术背景下,选择使用python+shell的方式进行编写CDH自动化脚本,简化CDH的安装过程。Python是面向对象、直译式程序设计语言,也是一种功能强大而且完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。这种语言具有非常清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。shell是一种命令语言,同时也可以看成是一个命令解释器,本文档来自技高网...

【技术保护点】
1.一种CDH自动化自动安装的方法,其特征是,首先通过python的paramiko连接需要连接的主机,然后生成hosts文件和ssh免密登录文件,将hosts文件和ssh免密登录文件通过paramiko的ftp将文件长传相应的目录实现集群的免密登录,然后在cmserver主机上安装本地仓库,生成yum仓库,然后在cmserver主机上安装mysql配置数据库,ntpd时间同步、jdk安装,cmserver安装操作;具体步骤如下:/n步骤1、免密登录和hosts配置,使用paramiko操作,在多台需要安装的每台机器执行免密操作,多台主机在互传到cmserver主机实现免密的登录;/n步骤11、首先读取主机配置文件,获取ip,开辟线程,通过paramiko连接cmserver主机;/n步骤12、生成hosts文件,将hosts的主机信息写入到/etc/hosts文件,使得主机能够识别其他安装机的hostname;/n步骤13、生成ssh免密登录文件,即cmserver主机交互生成密匙文件,读取密匙文件,并将密匙文件写入cmserver主机;该文件用于主机的识别;/n步骤13、将免密登录文件上传到各台安装机,实现免密登录。/n步骤2、安装工作/n步骤21、安装本地yum源,首先将需要的软件包放在目录下,安装httpd(http server),创建仓库并将仓库上传到指定路径,将配置好的的cloudera-repo上传到repo目录下;/n步骤22、安装配置ntpd时间同步软件,如果服务主机发生时间偏差会报时钟异常,所以需要在每台机器中安装和配置时钟同步类,首先编写配置文件将nptd server地址配置好,然后在每台机器中安装通过exec_all_host.py工具类在每台安装机器中安装ntpd,然后使用工具类scp_host.sh,该工具类可以遍历hosts将文件发送到每台机器,使用scp_host.sh将配置文件发送到每台安装机;/n步骤23、关闭防火墙,编写工具类程序exec_all_host.py,该工具类程序会遍历步骤2中的所有配置文件,执行脚本时添加linux命令和参数即可以在配置的主机中完成linux命令,利用所述工具类程序在每台机器中执行linux命令关闭防火墙;/n步骤24、安装mysql,在机器中安装mysql根据官方配置文档替换mysql的配置文件,通过mysql命令执行官方sql文件;/n步骤25、安装cmserver,执行scm建表的脚本,scm的相关脚本创建了和cmserver服务相关的表,为cmserver提供服务;/n步骤26、启动cmserver。/n...

【技术特征摘要】
1.一种CDH自动化自动安装的方法,其特征是,首先通过python的paramiko连接需要连接的主机,然后生成hosts文件和ssh免密登录文件,将hosts文件和ssh免密登录文件通过paramiko的ftp将文件长传相应的目录实现集群的免密登录,然后在cmserver主机上安装本地仓库,生成yum仓库,然后在cmserver主机上安装mysql配置数据库,ntpd时间同步、jdk安装,cmserver安装操作;具体步骤如下:
步骤1、免密登录和hosts配置,使用paramiko操作,在多台需要安装的每台机器执行免密操作,多台主机在互传到cmserver主机实现免密的登录;
步骤11、首先读取主机配置文件,获取ip,开辟线程,通过paramiko连接cmserver主机;
步骤12、生成hosts文件,将hosts的主机信息写入到/etc/hosts文件,使得主机能够识别其他安装机的hostname;
步骤13、生成ssh免密登录文件,即cmserver主机交互生成密匙文件,读取密匙文件,并将密匙文件写入cmserver主机;该文件用于主机的识别;
步骤13、将免密登录文件上传到各台安装机,实现免密登录。
步骤2、安装工作
步骤21、安装本地yum源,首先将需要的软...

【专利技术属性】
技术研发人员:王少鹏贾洋
申请(专利权)人:焦点科技股份有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1