在windows下通过安装cygwin模拟linux环境,然后再安装hadoop,是一种简单方便的方式。为hadoop准备的windows下cygwin环境安装过程如下:
- 下载安装文件
最新的cygwin安装文件setup.exe下载地址在这里:http://cygwin.com/install.html。用最新版本的cygwin就可以,我用的是2.774版本的安装程序。
- 安装cygwin
在上一步下载的setup.exe文件实际上只是一个引导安装和下载过程的执行文件,真正的下载安装过程是通过网络进行的,下面让我们将下载的setup.exe执行起来。
点击下一步进入安装模式引导界面。
这里面的三个选项是“从网络下载并安装”、“只下载不安装”、“从本地下载文件安装”,简单粗暴地选择第一个“从网络下载并安装”,点击下一步后进入选择安装目录界面。
既然cygwin贴心地帮我选择了一个简单明了的c盘目录,那就用它吧,下面的允许那些用户使用,就用默认的所有本机用户都能使用。点击下一步进入下载文件存放目录选择界面。
鄙人稍有文件洁癖,选择让下载文件放到常用的临时文件目录下,点击下一步(如果输入的是一个不存在的目录,程序会提示你是否要创建这个目录,选yes就ok),进入网络链接选择界面。
Cygwin的安装目前还没有*的需要,如果没有特别的速度的考虑,就选Direct Connection直接连接就好了,点击下一步后会有一个下载安装文件镜像服务器列表的短暂过程,然后会出现选择安装文件镜像服务器的界面。
按说选择第一个163的服务器应该是最快的,但是我选择后出现了setup文件下载出错的情况,导致安装不能完成,后来选择了第二个box-soft.com服务器,方才顺利完成安装,下载速度也还可以,能稳定在100k左右。点击下一步后,仍然会有一个短暂的从所选服务器下载安装组件列表的过程,然后出现选择安装组件的界面。
选择安装组件的步骤比较重要,需要仔细选择以下组件(:
* Base组件的全部,操作方法是点击Base后面的Default,变为Install)
* Devel组件下的subversion及其他将来开发需要用到的组件,例如autoconf等,操作方法是展开Devel组件,点击各个小组件前的Keep文字,变为相应的版本号。
* Net组件下的openssh和openssl组件,用于hadoop需要的ssh访问,操作方法同上。
* System组件下的util-linux组件,用于使用一些常用的more等功能进行调试,操作方法同上。
* 其他一些可能用到的组件,我还单独选择了Perl、Python、Ruby、Science等组件。
选择组件完成后,点击下一步即开始进行下载、安装等自动步骤,一路选择下一步即可。
- 配置cygwin的ssh服务
Cygwin安装完成后,需要对ssh服务进行配置,以运行hadoop环境进行ssh无密码登录,过程如下:
* 使用安装后生成的cygwin启动快捷方式,启动cygwin环境。
* 执行cygwin的ssh-host-config。
在第一步询问“Should privilege separation be used?(yes/no)”时,输入no;
在第二步询问“(Say "no" if it is alreadyinstalled as a service) (yes/no)”时,输入yes;
在第三步询问“Enter the value of CYGWIN for thedaemon: []”,直接回车。
看到“Host configuration finished. Have fun!”后此步即完成。
* 使用windows的管理工具中的服务管理,将“CYGWIN sshd”服务启动。
* 回到cygwin环境,执行 ssh localhost命令。
在第一步询问中输入yes,在第二步要求输入密码时,输入用户密码。
* 在cygwin中输入ssh-keygen,一路回车即可。
* 然后在cygwin下依次执行如下命令:
cd ~/.ssh
cp id_rsa.pub authorized_keys
完成后一路exit退出cygwin环境,再打开cygwin环境,执行ssh localhost,发现如下图不需要密码即可进入,就代表成功了。
至此,我们为hadoop准备的cygwin环境即已搭建完成,可以说是成功迈出了西行征途的第一步,不算太费劲地在五指山收服了cygwin这个孙猴子,有了它的帮助,后面等待我们的九九八十一难也就不显得那么可怕了。