Hapdoop试玩
来源:互联网 发布:发展下线系统源码 编辑:程序博客网 时间:2024/05/21 22:47
Hadoop安装主要分为两步:
1)安装cygwin, ssh
2)安装hadoop
《Hadoop开发者入门专刊》的《在Windows 上安装Hadoop 教程》写得比较详细,我这里细节上就不再重复,只是把遇到的问题,以及解决方法说一下。本人的环境是vista+cygwin1.7.1,发现环境不同,安装步骤就有稍许不同。
问题1:在安装ssh服务和配置登陆时遇到的问题较多,尝试了好几次,有几次需要把服务删除再重新进行,发现了几篇比较详细的文章。如果遇到些奇怪的问题,又想偷懒,可以学我一样,把服务删除,重新再来。这里说得很准确,按着一步步来就行了。
http://chinese-watercolor.com/LRP/printsrv/vista-cygwin.txt然后按照这里的步骤进行一次,因为网页里内容比较多,我这里摘录出有用部分:1)With recent releases of cygwin, there are many permission problems. Add these 6 commands as work around:
chmod +r /etc/passwdchmod u+w /etc/passwd
chmod +r /etc/group
chmod u+w /etc/groupchmod 755 /var touch /var/log/sshd.log
chmod 664 /var/log/sshd.log
2)ssh-host-config (manuall answerYesto 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.<init>(FSNamesystem.java:292)at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:201)at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(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:962010-10-03 16:32:36,519 INFO org.apache.hadoop.ipc.Server: Stopping server on 88882010-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.<init>(FSNamesystem.java:292)at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:201)at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(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 (挺详细的,但有些步骤我还没用到)
- Hapdoop试玩
- 试玩
- QuakeLive试玩
- 试玩android
- 试玩drizzle
- GAE试玩
- 光线追踪试玩
- Qt试玩::flyEditor
- 试玩字符串
- centos 试玩 drupal
- 设计工具试玩
- 试玩github pages
- Clouda试玩
- 试玩Project-AA
- linux试玩
- MindWave Mobile试玩
- yeelink平台试玩
- linuxkit试玩
- 【转】使用Visual Studio .NET编写纯C程序的提示
- 【Visual Studio风格开发系列 - WinForm】WinForm 控件开发基础
- 管理好自己的时间
- 写在长假结束前
- 手机上网原理
- Hapdoop试玩
- Eric S. Raymond五部曲之 如何成为一名黑客 (2001版)
- 关于java环境变量的配置 windows
- 队列
- Memcached初探手记
- 输入字符串进行转置输出
- wowchips_1007
- hibernate之控制并发访问(乐观并发控制之在hibernate中启用版本控制--数字版本实例)
- 却道天凉好个秋