现在的位置: 首页 > 综合 > 正文

详解如何在Windows上安装与配置Hadoop

2018年02月18日 ⁄ 综合 ⁄ 共 2161字 ⁄ 字号 评论关闭

地址:http://tech.it168.com/a2013/0218/1454/000001454443.shtml

 

 【IT168 技术】在之前的文章中,我们介绍过如何在Linux上安装与配置Hadoop,本文将以Windows为平台介绍Hadoop的安装与配置方法。

  相对于Linux,Windows版本的JDK安装过程更容易,你可以在http://www.java.com/zh_CN/download/manual.jsp下载到最新版本的JDK。这里再次申明,Hadoop的编译及MapReduce程序的运行,很多地方都需要使用JDK的相关工具,因此只安装JRE是不够的。

  安装过程十分简单,运行即可,程序会自动配置环境变量(在之前的版中还没有这项功能,新版本的JDK中已经可以自动配置环境变量了)。

  一、安装Cygwin

  Cygwin是在Windows平台下模拟Unix环境的一个工具,只有通过它才可以在Windows环境下安装Hadoop。可以通过这个链接下载Cygwin:

  http://www.cygwin.cn/setup.exe

  ·双击运行安装程序,选择install from internet。

  ·根据网络状况,选择合适的源下载程序。

  ·进入 select packages界面,然后进入Net,勾选openssl及openssh(如下图所示)。

详解如何在Windows上安装与配置Hadoop
▲勾选openssl及openssh

  如果打算在Eclipse上编译Hadoop,还必须安装“Base Category”下的“sed”(如下图所示)。

详解如何在Windows上安装与配置Hadoop
▲勾选sed

  另外建议安装“Editors Category”下的“vim”,以便在Cygwin 上直接修改配置文件。

  二、配置环境变量

  依次点击我的电脑→属性→高级系统设置→环境变量,修改环境变量里的path设置,在其后添加Cygwin的bin目录和Cygwin的usr\bin目录。

  三、安装和启动sshd服务

  点击桌面上的Cygwin图标,启动Cygwin,执行ssh-host-config 命令,当要求输入Yes/No时,选择输入No。当看到“Have fun”时,表示sshd 服务安装成功。

  在桌面上的“我的电脑”图标上右击,点击“管理”菜单,启动CYGWIN sshd 服务。

  四、配置SSH免密码登录

  执行ssh-keygen 命令生成密钥文件。按如下命令生成authorized_keys文件:

   cd ~/..ssh/

  cp id_rsa.pub authorized_keys

  cp id_rsa.pub authorized_keys

  完成上述操作后,执行exit 命令先退出Cygwin 窗口,如果不执行这一步操作,下面的操作可能会遇到错误。

  接下来,重新运行Cygwin,执行ssh localhost 命令,在第一次执行时会有提示,然后输入yes,直接回车即可。

  另外,在Windows上安装Hadoop的过程与Linux一样,这里就不再赘述了。

 
如果第四步无法完成,请参照下面的方法,

安装好Cygwin后,SSH需要设置为无密码登陆,

首先查看是ssh还是ssh2:
ls -l `which ssh`
lrwxrwxrwx 1 root root 4 2008-07-10 10:15 /usr/local/bin/ssh -> ssh2

如果“ls -l `which ssh`”得到的结果是:/usr/bin/ssh或/usr/local/bin/ssh,则可先认为为ssh2,不行再以ssh试一试。

SSH登录:
现在确认能否不输入口令就用ssh登录localhost:
$ ssh localhost

如果不输入口令就无法用ssh登陆localhost,执行下面的命令:
$ rm -fr ~/.ssh
$ mkdir ~/.ssh
$ cd ~/.ssh
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

但配置完成后执行ssh localhost 报错:

Connection closed by 127.0.0.1

用Connection closed by ,ssh localhost等作为关键字遍搜google,文章无数,解决方案繁多,但是没有一个有效,主要是说hosts.allow,hosts.deny,ssh_config等文件需要修改的问题,我是改了一遍又一遍没有效果,后来在已朋友的博客上看到书权限问题,想到将windows中CYGWIN SSHD 服务进程的运行权限修改成当前用户,重启后就妥了.

SSH2登录
现在确认能否不输入口令就用ssh登录localhost:
$ ssh localhost
如果不输入口令就无法用ssh登陆localhost,执行下面的命令:
$ rm -fr ~/.ssh2
$ mkdir ~/.ssh2
$ cd ~/.ssh2
$ ssh-keygen2 -t rsa
$ echo "IdKey id_rsa_2048_a" > identification
$ echo "key id_rsa_2048_a.pub" > authorization

 
 

抱歉!评论已关闭.