chmod +r /etc/passwd
chmod u+w /etc/passwd
chmod +r /etc/group
chmod u+w /etc/group
chmod 755 /var
touch /var/log/sshd.log
chmod 664 /var/log/sshd.log
2)
ssh-host-config (manuall answer Yes to questions except)
If the script. says "This script. plans to use cyg_server, Do you want to use a different name? Answer no.
3)
cyglsa-config
reboot the computer.
这里我记得不重新启动也可以,可以使用net start sshd,启动服务。
4)
但这里我遇到了一个问题, 在输入ssh localhost,报错:
“Connectiion closed by remote host”
是因为windows用户不在cygwin里,可以使用以下语句:
mkpasswd -l -c > /etc/passwd;
mkgroup -l -d > /etc/group;
然后重启服务,net stop sshd,然后net start sshd就可以了.
5)如果你不幸是domain用户,而刚好你使用
“mkgroup -l -d > /etc/group;”失败,可能你像我一样,访问那个domain
很慢...
那么这里我提供一个方法,创建一个本地的同名用户就可以了,如原用户为
domain/userA,那么
a)Control Panel->Administrative Tools->Computer Management
b)local users and groups -> Users.
c)Right button to new "userA".
d)re-execute
mkpasswd -l -c > /etc/passwd;
mkgroup -l > /etc/group; (there's no "-d" now.)
我想这基本上就能在cygwin 1.7.1和vista下成功配置ssh.
问题2:
安装Hadoop时,按照《Hadoop开发者入门专刊》很顺利,但启动
服务./start-all.sh,遇到问题,看后台log(hadoop-0.20.2\logs),
有这样的异常。
2010-10-03 16:32:36,517 ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed.
org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:
Directory C:\tmp\hadoop-echnlee\dfs\name is in an inconsistent state: storage directory does not exist or is not accessible.
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:290)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:87)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:311)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:292)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:201)
at org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:279)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:956)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:965)
2010-10-03 16:32:36,519 INFO org.apache.hadoop.ipc.Server: Stopping server on 8888
2010-10-03 16:32:36,520 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: org.apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory C:\tmp\hadoop-echnlee\dfs\name is in an inconsistent state: storage directory does not exist or is not accessible.
at org.apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.java:290)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.java:87)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.java:311)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.(FSNamesystem.java:292)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:201)
at org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:279)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:956)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:965)
后来发现是《Hadoop开发者入门专刊》里漏了一步,需要执行:
>cd hadoop/bin
>./hadoop namenode -format
>./start-all.sh
问题3:
完成安装后,很容易写出Hello程序,按照
《Hadoop开发者入门专刊》 的《在Windows 上使用eclipse 编写Hadoop 应用程序》。
但是我想换个路径就遇到了问题,hadoop说file not found.
关于Hadoop路径的问题,其中这位同学说得较清楚,
《windows平台使用Cygwin安装hadoop遇到的一些小问题》,“其实因为
hadoop和cygwin将/映射的路径是不同的:
cygwin认为/对应的实际上是c:\cygwin目录(如果cygwin安装在
c盘根目录);而hadoop将/映射为c:\”。
因此如果你不想把那个hello.jar发到bin下时,传给hadoop的
路径应该是以c:\为根目录的。
最后,我的那个调用大致如下,在cygwin下的格式访问到hadoop.sh,
然后传给hadoop jar的路径参数为以c:\为根的路径。
例如,cygwin的安装路径c:\cygwin,可能调用脚本如下:
/cygdrive/c/hadoop/run/hadoop-0.20.2/bin/hadoop jar /cygwin/home/hello_hadoop.jar HelloHadoop
参考
特意选些好的教程,如果以下链接都解决不了你的问题,那真的比较麻烦。
How to install a ssh server
《windows平台使用Cygwin安装hadoop遇到的一些小问题》
《Hadoop开发者入门专刊》
Hadoop on windows with Eclipse (挺详细的,但有些步骤我还没用到)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7641902/viewspace-675364/ ,如需转载,请注明出处,否则将追究法律责任。