Windows下基于Cygwin和Eclipse的Hadoop开发环境完全配置(转载)
我已经按照这个教程完全的完成了一遍,而且成功了。有些小的地方和这篇文章有点区别。后面我会提出来。
?
网上搜了一些中文的,总是只有一小部分,对于我们这些菜鸟来说,根本没发用,更可恶的是,搜到的内容都是一样的,哎,抄来抄去,估计都没试过到底能不能用就贴上去了。
后来找了一个英文的:http://ebiquity.umbc.edu/Tutorials/Hadoop/00 - Intro.html 非常的全面,一步一步的教,我这翻译一下大致的步骤。
一,准备(没有提供下载地址)
Java 1.6
Eclipse Europa 3.3.2
hadoop-0.19.2
Java一定要1.6,Eclipse好像不能用3.4以上,hadoop用0.19.2,原文用0.19.1,现在没的下了。0.20.0不能用,我试过了,没法启动Job Tracker,不知道原因,可能是bug也不定。
二,安装Cygwin
先去下载一个安装文件,完后运行,这只是一个引导的程序,真正的程序要通过它下载才能安装,当要选择下载站点时,输入:http://www.cygwin.cn 。其实选择别的地址也是可以下载的。然后就可以选择要安装的程序,默认的时候没有安装OpenSSH,所以要手动选择,在Net类别下,选上OpenSSH和OpenSSL两项。(important,要耐心等着它下载完毕)
?
之后,设置环境变量,把
???? c:\cygwin\bin;c:\cygwin\usr\bin
加入到系统环境变量的Path中。
三,配置SSH
1.打开一个cygwin,输入
???? ssh-host-config
当询问if privilege separation should be used 时输入 no .
当询问if sshd should be installed as a service 时输入yes .
当询问about the value of CYGWIN environment variable enter 时输入 ntsec .
2.打开 控制面板-》管理-》服务 启动名为 CYGWIN sshd 的那项。
3.打开cygwin,输入
????? ssh-keygen
当询问要filenames 和 pass phrases 的时候都自己点回车,接受默认的值.命令结束后输入 cd ~/.ssh转到.ssh目录,输入 ls -l应该包含两个文件:id_rsa.pub 和 id_rsa
4.在第三步的窗口(当前目录在.ssh)中输入
????? cat id_rsa.pub >> authorized_keys
完成后输入
????? ssh localhost (等到完成了这步且显示成功后,如果配置有问题就一定不是ssh的问题)
检查ssh是否配置成功,当提示whether you really want to connect时,输入yes。这样以后再输入ssh localhost的时候都不会再有提示了。
准备工作完了,下篇继续。
?
?
接下来开始配置Hadoop了,
一,解压文件
打开一个cygwin,输入以下命令
????? cd .
????? explorer .
会弹出一个新窗口,把原来下载的hadoop压缩文件放到里面,并解压。个人认为,其实不一定要放到cygwin的用户根目录下,没试过。(我尝试了一下,放的目录没有影响,比如我就直接解压在C的根目录下面的)
二,配置Hadoop
打开解压出来的文件夹,在 hadoop-0.19.2\conf 目录下有一个 hadoop-site.xml 文件,打开,在原有的
<configuration>
</configuration>间插入
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9100</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9101</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
保存。
(说明:上面3个红色的地方是设定的值,因为是单机运行,所以最后那个值是1。上面的数字可以不是9101和9100,还有一种流行的设置方法是设置为9001和9000)
三,格式化Name Node
打开一个cygwin,转到hadoop目录下,如果按照前面的解压,直接用cd hadoop-0.19.2就可以了,接着输入以下命令:
????? mkdir logs
????? bin/hadoop namenode -format
(说明:这步非常重要。在format之后会默认生成tmp文件夹。当然,这个tmp也是可以在设置中改的,不过没有必要改,用默认的就可以了。很多时候如果,后面出问题了,把这步redo就能解决问题)
四,安装Eclipse插件
打开解压后的文件夹,把hadoop-0.19.2\contrib\eclipse-plugin下的hadoop-0.19.2-eclipse- plugin.jar文件拷到eclipse 的plugins目录下,重启eclipse,在Window->Open Perspective->other,弹出的窗口中应该有一项Map/Reduce项,代表安装成功了。如果没有的话,把eclipse下的 configuration\org.eclipse.update文件夹删了,再重启eclipse。
五,启动Hudoop集群
启动五个cygwin。
在第一中启动NameNode,执行:
cd hadoop-0.19.2
bin/hadoop namenode
在第二个中启动Secondary NameNode,执行:
cd hadoop-0.19.2
bin/hadoop secondarynamenode
第三个中启动job tracker 执行:
cd hadoop-0.19.2
bin/hadoop jobtracker
第四个中启动data node ,执行
cd hadoop-0.19.2
bin/hadoop datanode
最后一个启动 task tracker, 执行:
cd hadoop-0.19.2
bin/hadoop tasktracker
(说明:这个是原文的说法。其实在0.19.2的版本里面已经集成了。可以直接cd hadoop-0.19.2之后,就bin/start-all.sh这样就把上面的5项全部执行了。在linux里面也是这样的,只需要执行这一个文件)
六,在Eclipse中配置环境
启动eclipse,转到Map/Reduce Perspective,在上图的Map/Reduce Locations里,新建一个Location,填入以下值
??? * Location Name -- localhost
??? * Map/Reduce Master
????????? o Host -- localhost
????????? o Port -- 9101
??? * DFS Master
????????? o Check "Use M/R Master Host"
????????? o Port -- 9100
??? * User name -- 默认
(说明:这个地方的数字和你之前在hadoop-site.xml文件中改的数字一样就行了)
七,上传文件到HDFS
打开一个cygwin,执行
????? cd hadoop-0.19.1
????? bin/hadoop fs -mkdir In
????? bin/hadoop fs -put *.txt In
这时,在eclipse的Project explorer的DFS location中,应该能反应变化,没有的话,reconnect一下
?
最后,在Eclipse中新建工程。
?
启动Eclipse,
右键点击 ?Project Explorer 窗口,选择 New -> Project.. 找到 Map/Reduce Project, 点Next ,输入名字。点击下面的Config Hadoop Install Directiory,输入Hadoop的目录,如:C:\cygwin\home\User\hadoop-0.19.2右键点击新创建的 Hadoop?工程,选择 ?New -> Other 转到 Map/Reduce 文件夹, 选择 MapReduceDriver 然后点击 Next ,输入名字,点击Finish。
只要把这个连上了。建工程运行程序什么的,就很简单了。
?
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yanical/archive/2009/08/23/4474830.aspx