文档章节

为什么说写“安装指南”类博客的程序员是懒惰的

jianglibo
 jianglibo
发布于 2016/04/12 13:54
字数 593
阅读 44
收藏 2

安装指南无法精确

为什么我根据hadoop的官方指南安装群集困难重重,但是执行yum install -y tcl tcllib却如此轻松呢?

这不仅仅是一个简单一个复杂的问题。简单+简单+简单就变成复杂了,或者说复杂=简单+简单...+简单。这充分说明一个问题,安装指南无法精确,脚本是精确的。

把你安装hadoop的整过过程脚本化,保存在你的github库中,当你需要的时候,执行一个(假想的脚本):

install-my-hadoop -host=192.168.33.50,51,52,53,54 -profile=onmydesktop.yml install

如果这样的话,还有必要写安装指南吗?你的每一个步骤都写在脚本里,加上适当的comment,还有比这更好的指南吗?

结论:安装指南只需要一份,那就是软件作者给出的一份。

只写安装指南,不写脚本,最终会更浪费你的时间

大概几个月之前,我根据apache的官网指南,安装过hadoop,什么zookeeper,hbase的一大堆,找找自己的博客说不定还能看到几篇安装指南呢!

几个月过去了,中间因为有其它事情处理,部分虚拟机销毁了,现在再叫我部署一个,实在是提不起兴趣来,以前积累的经验几乎毫无用处。

基于这种情况,我决心不再懒惰,将安装过程脚本化。

和你分享我的脚本结果

我在github的新建一个项目easy-installer。它就是安装程序的脚本话的结果。

将java安装到两台机器上:

./easy-installer.tcl --host=192.168.33.50,51 java install

安装redis:

./easy-installer.tcl --host=192.168.33.50 redis install

安装mysql-cluster:

./easy-installer.tcl --host=192.168.33.50,51,52,53 --profile=local-profiel.yml mysql-cluster install config mgmstart ndbdstart mysqlstart

上述命令将在50,51,52,53四台机器上安装一个mysql cluster,命令结束之后,cluster已经在运行了。

和我分享你的安装脚本

如果你刚刚写好一个安装指南,那么你的记忆还在,可以和我一起将你的安装过程脚本化。

© 著作权归作者所有

共有 人打赏支持
jianglibo

jianglibo

粉丝 43
博文 57
码字总数 34649
作品 3
奉化
高级程序员
私信 提问
【外刊IT评论】愚蠢且能干

有个人曾经问拿破仑是如何给士兵指派任务的。拿破仑回答说这很简单:士兵要么聪明要么愚蠢,要么懒惰要么精力充沛。 聪明且精力充沛的我让他当战地指挥官。他知道该做什么而且能召集队伍去做...

红薯
2011/01/07
1K
15
为什么优秀的程序员既懒又笨

我认识到一个非常有悖常理的现象,优秀的程序员都是即懒又傻的。 因为懒,他才会写出各种各样的工具来替自己干活。因为懒,他才会想办法避免去写无聊重复的代码——因此避免的代码的冗余,消...

oschina
2013/08/05
14K
59
程序员应该避免的5种代码注释

摘要: 我认识到一个非常有悖常理的现象,优秀的程序员都是即懒又傻的。因为懒,他才会写出各种各样的工具来替自己干活。因为懒,他才会想办法避免去写无聊重复的代码——因此避免的代码的冗余...

丨小丶牧灬
2015/08/21
199
1
你最喜爱的编程语言不够好

我的《Python is important》这 篇博客引来如此多的评论,让我颇为意外。大多数的评论是正面的,但同时多少也都带点不太积极的色彩。我发现,这些评论反映出的一个很突出的问题是,程序员 如...

景德真人
2012/03/27
5.1K
29
最让程序员懊恼的 10 件事

10. 注释说明“是什么”,而不是“为什么” 入门级编程课程教导学生要学会频繁且尽早地注释。不可否认在学习编程的起步阶段这方法的确是相当有效的(即使看到最简单的代码行都像天书)。然而...

oschina
2014/07/25
10.8K
51

没有更多内容

加载失败,请刷新页面

加载更多

传统IDC部署网站(三)

11. 重置密码 密钥和密码都支持远程登陆, 二选一 两个都可以登陆, 密钥相对于密码来说,相对安全一点 本地登陆无法是用密钥 修改密码 root 用户 passwd root 修改普通用户 passwd usernam...

miko0089
14分钟前
2
0
日志服务与SIEM(如Splunk)集成方案实战

背景信息 目标 本文主要介绍如何让阿里云日志服务与您的SIEM方案(如Splunk)对接, 以便确保阿里云上的所有法规、审计、与其他相关日志能够导入到您的安全运维中心(SOC)中。 名词解释 LOG(S...

阿里云官方博客
18分钟前
1
0
bash特性

1.支持别名 alias 2.命令替换 $(COMMANS) 或者 `COMMAND` 3. bash支持的引号: `` :命令替换 "":弱引用,可以实现变量替换 '':强引用,不实现变量替换 4.文件名通配 globbing:(man 7 glo...

忙碌的小蜜蜂
23分钟前
2
0
以语音评测的PC端demo代码为例,讲解口语评测如何实现

本文由云+社区发表 作者:腾讯智慧教育 概述 腾讯云智聆口语评测(英文版)(Smart Oral Evaluation-English,SOE-E)是腾讯云推出的语音评测产品,是基于英语口语类教育培训场景和腾讯云的语...

腾讯云加社区
35分钟前
1
0
浅谈SpringMVC之DispatcherServlet

Spring的MVC框架是围绕一个DispatcherServlet其实就是个Servlet(它继承自HttpServlet基类)来设计的, 它支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染、文件上传等 控制器一般...

恋码之子
37分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部