博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用easyinstaller安装zookeeper,hadoop,hbase等群集软件
阅读量:6271 次
发布时间:2019-06-22

本文共 2654 字,大约阅读时间需要 8 分钟。

hot3.png

鸟瞰图

输入图片说明

easyinstaller是运行在你的桌面电脑的一个web程序,运行之后在浏览器里面输入localhost即可。为了完成安装,一个先决条件是必须能从你的桌面电脑访问目标服务器,目前仅支持ssh。

快速开始

运行环境: java8

  1. 从下载最新版本
  2. 运行 java -jar easyinstaller-x.x.x.jar
  3. 打开浏览器,访问localhost

建立服务器组

群集软件的安装目标是服务器组,每个服务器可以指定自己的角色。 输入图片说明

导入安装脚本

可以从找找有没有需要的脚本,或者自己开发,或者叫别人开发。

输入图片说明 导入截图: 输入图片说明

安装软件到目标服务器组

输入图片说明

项目进度

这个项目采用spring-boot开发,当然是java啦。UI用的是vaadin,虽然也是java,但需要分心去理解vaadin,还有需要写一些CSS。

有少量的bash脚本,作为起点。在安装tcl之后,就大部分使用tcl脚本了,最近发现powershell可以在linux下运行,所以重心就从tcl转移到powershell了,毕竟效率更高一些。

如果你仔细看一下build.gradle,发现会有以下依赖:

compile group: 'com.jianglibo.easyinstaller', name: 'scriptsnippets', version: '0.1.2'

这个其实是一个独立的项目,一些共享的脚本代码片段就。

# how to run this script. powershell -File /path/to/this/file.# ParamTest.ps1 - Show some parameter features# Param statement must be first non-comment, non-blank line in the scriptParam(    [parameter(Mandatory=$true)]    $envfile,    [parameter(Mandatory=$true)]    $action)# insert-common-script-here:powershell/PsCommon.ps1# Remove-Item /opt/vvvvv/* -Recurse -Forcefunction Decorate-Env {    Param([parameter(ValueFromPipeline=$True)]$myenv)    $myenv | Add-Member -MemberType ScriptProperty -Name zkconfigLines -Value {        $this.software.configContent.asHt("zkconfig").GetEnumerator() |            ForEach-Object {"{0}={1}" -f $_.Key,$_.Value} | Sort-Object    }    $myenv | Add-Member -MemberType ScriptProperty -Name serviceLines -Value {        $this.boxGroup.boxes |             Select-Object @{n="serverId"; e={$_.ip.split('\.')[-1]}}, hostname |             ForEach-Object {"server.{0}={1}:{2}:{3}" -f (@($_.serverId, $_.hostname) + $this.software.configContent.zkports.Split(','))} |             Sort-Object    }    $myenv | Add-Member -MemberType NoteProperty -Name DataDir -Value ($myenv.software.configContent.zkconfig.dataDir)    $myenv | Add-Member -MemberType NoteProperty -Name configFolder -Value (Split-Path -Parent $myenv.software.configContent.configFile)    $myenv | Add-Member -MemberType NoteProperty -Name configFile -Value $myenv.software.configContent.configFile    $myenv | Add-Member -MemberType NoteProperty -Name binDir -Value $myenv.software.configContent.binDir    $myenv | Add-Member -MemberType NoteProperty -Name logDir -Value $myenv.software.configContent.logDir    $myenv | Add-Member -MemberType NoteProperty -Name pidFile -Value $myenv.software.configContent.pidFile    $myenv | Add-Member -MemberType NoteProperty -Name logProp -Value $myenv.software.configContent.logProp    $myenv}

如果你看到# insert-common-script-here:powershell/PsCommon.ps1 这样的行,在运行的时候就会替换成真的代码,但是它又是合法的注释掉的行,在测试的时候也不会受影响。

由于一个人的精力有限,如果你是perl,python,bash任何语言的爱好者,并且对自动化群集软件安装有兴趣,欢迎参与到这个项目中来。

转载于:https://my.oschina.net/jianglibo/blog/777781

你可能感兴趣的文章
sql游标的使用与exec的两种用法
查看>>
数据结构
查看>>
78/90 Subsets --back tracking
查看>>
非托管资源的释放
查看>>
开篇寄语
查看>>
Dijkstra算法的C++实现
查看>>
phpstorm psr2样式.xml
查看>>
js 无限级分类
查看>>
umask值与Linux中文件和目录权限的关系
查看>>
python自动化开发-8
查看>>
bzoj 2127: happiness
查看>>
Python 3.5 之路 day1
查看>>
selenium使用chrome抓取自动消失弹框的方法
查看>>
实现strStr()---简单
查看>>
只有PD号的调起
查看>>
返回一个整数数组中最大子数组的和
查看>>
leetcode(二)
查看>>
利用css实现居中的方法
查看>>
Spring + Hibernate 框架
查看>>
添加浏览器的用户样式表
查看>>