Hadoop on Windows With Eclipse(伪分布式)(2)

1)打开Cygwin命令

2)执行如下命令

$ ssh-host-config

3) when asked “Shouldprivilege separation be used”, answer yes.

4) When asked “new local account 'sshd'”, answer yes.

5) When asked “(Say "no" if it is already installed as a service)”,answeryes.

6) When asked Enter”the valueof CYGWIN for the daemon”, enter ntsec.

7)When asked “Do you want to use a differentname?”,answeryes.

8)输入密码

9)下面是一个示例会话的命令。

4.2 开启ssh服务

第一种方法:直接输入命令

$ net start sshd 或者 cygrunsrv –S sshd

第二种方法:图形化操作

1)在你的桌面或者开始菜单里找到”我的计算机”,然后鼠标右键选择管理。

2)在左边的面板展开服务和应用程序,然后选择服务选项。

3)找到CYGWIN sshd 选项,然后鼠标右键

4)在菜单栏点击开启。

Win7下比较麻烦:

如果win7也按照跟xp一样的安装,就算你运行cygwin以管理员权限运行,到最后估计一样会报错,反正我这是这样子的,服务可以起来,但在最终密钥什么的都配置完成后执行会报:

Elvis@Elvis-PC ~

$ssh localhost

connection closed by ::1

后来针对这个问题我找了N多资料,主要是E文,难为我了,其中有官网的FQA里的文章还有很多国外的博客吧!具体连接我也搞乱了,就不贴出来了,根据几篇资料方法总结如下:

1) 如果你安装了SSH(估计很多都安装了然后发现有错误),可以按以下命令卸载:

$net stop sshd $ cygrunsrv-R sshd $net user sshd /DELETE # See note below $ rm-R /etc/ssh* $mkpasswd -cl > /etc/passwd $mkgroup --local > /etc/group    

2) 决定一个用来运行sshd进程的用户,相信使用win7的同学肯定都至少会有一个非Administror用户,我的环境现在就是平时都使用Elvis用户具有管理员权限。而下一步需要执行的命令是必须要Administrator才有权利执行的,而管理员用户一般都是被禁的,具体怎么开启请看我博客里的一篇帖子:

3) 使用管理员用户执行以下命令来查看用户现在所具有权限(或者说叫许可?)

$ editrights -l -u Elvis

4) 估计大家上述命令执行后肯定没有我们现在所需要的权限,执行以下命令来增加吧!

  $ editrights.exe -a SeAssignPrimaryTokenPrivilege -u Elvis $ editrights.exe -a SeCreateTokenPrivilege -u Elvis $ editrights.exe -a SeTcbPrivilege -u Elvis $ editrights.exe -a SeServiceLogonRight -u Elvis  

5)做完这些后,可以注销进入Elvis用户下继续操作,而后面的操作动作与前面xp下安装过程一样了,就不在详述了。

4.3 建立权限密钥

Eclipse插件和Hadoop的脚本都需要通过权限密钥ssh权限来执行而不用密码了。以下步骤就是描述怎么建立权限密钥。

1) 打开cygwin终端

2) 执行以下命令生成密钥

$ ssh-keygen

3) 当提示输入文件名等直接ENTER接受默认值

4) 命令完成后生成密钥,输入以下命令到.ssh目录

$ cd ~/.ssh

5) 执行以下命令查看密钥是否真的生成

$ ls -l

你应该能看到两个文件id_rsa.pub和id_rsa,看生成日期是最近生成的。这些文件中包含权限密钥。

6) 执行以下命令注册到新的authorization_keys文件中。

$ cat id_rsa.pub >> authorized_keys

7) 现在输入以下命令验证密钥是否正确

$ ssh lcoalhost

因为它是一个新的ssh安装,你将会被警告,主机无法确认你是否真的想连接。输入YES并且按ENTER。你会看到Cygwin在一次执行,那意味着你成功连接了。

8)现在再次执行下面命令:

$ ssh lcoalhost

Setting upauthorization keys

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/ce896c4d6d843ef3fd9ce4ba918628ec.html