文档章节

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

jianglibo
 jianglibo
发布于 2016/04/12 13:54
字数 593
阅读 42
收藏 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
你最喜爱的编程语言不够好

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

景德真人
2012/03/27
5K
29
程序员应该避免的5种代码注释

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

丨小丶牧灬
2015/08/21
199
1
最让程序员懊恼的 10 件事

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

oschina
2014/07/25
10.7K
51

没有更多内容

加载失败,请刷新页面

加载更多

下一页

c语言之内存分配笔记

先看一个数组: short array[5] = {1,2} // 这儿定义的一个int类型的数组,数组第1和第2个元素值是1和2.其余后面默认会给值为0; 或者 short array[] = {1,2};//这儿数组第1和第2个元素,数组...

DannyCoder
43分钟前
0
0
Shell | linux安装包不用选择Y/N的方法

apt-get install -y packageOR echo "y" | sudo apt-get install package

云迹
今天
1
0
Hadoop的大数据生态圈

基于Hadoop的大数据的产品圈 大数据产品的一句话概括 Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架...

zimingforever
今天
4
0
八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
今天
2
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部