一,准备html
Java 1.6
Eclipse Europa 3.3.2
hadoop-0.19.2node
Java必定要1.6,Eclipse好像不能用3.4以上,hadoop用0.19.2,原文用0.19.1,如今没的下了。0.20.0不能用,我试过了,无法启动Job Tracker,不知道缘由,多是bug也不定。linux
二,安装Cygwinapache
先去下载一个安装文件 ,完后运行,这只是一个引导的程序,真正的程序要经过它下载才能安装,当要选择下载站点时,输入:http://www.cygwin.cn 而后就能够选择要安装的程序,默认的时候没有安装OpenSSH,因此要手动选择,在Net类别下,选上OpenSSH和OpenSSL两项。eclipse
以后,设置环境变量,把ssh
c:\cygwin\bin;c:\cygwin\usr\binide
加入到系统环境变量的Path中。oop
三,配置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是否配置成功,当提示whether you really want to connect时,输入yes。 这样之后再输入ssh localhost的时候都不会再有提示了。
准备工做完了。
接下来开始配置Hadoop了,
一,解压文件
打开一个cygwin,输入如下命令
cd .
explorer .
会弹出一个新窗口,把原来下载的hadoop压缩文件放到里面,并解压。我的认为,其实不必定要放到cygwin的用户根目录下,没试过。
二,配置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>
保存。
三,格式化Name Node
打开一个cygwin,转到hadoop目录下,若是按照前面的解压,直接用cd hadoop-0.19.2就能够了,接着输入如下命令:
mkdir logs
bin/hadoop namenode -format
四,安装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。
注意:eclipse必须是3.3版本以上,hadoop-eclipse-plugin.jar有bug,最好到网上下载别人修改过的,官方的jar文件没法运行,我用的是hadoop-eclipse-plugin-0.20.3-SNAPSHOT,只要把jar文件换个名称hadoop-0.20.2-eclipse-plugin.jar,而后拷贝到eclipse plugin目录下就能够了。
五,启动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
六,在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 -- 默认
七,上传文件到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,
右键点击 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。
新建立了一个文件,可是有错误,把
conf.setInputPath(new Path("src"));
conf.setOutputPath(new Path("out"));
换为
conf.setInputFormat(TextInputFormat.class);
conf.setOutputFormat(TextOutputFormat.class);
FileInputFormat.setInputPaths(conf, new Path("In"));
FileOutputFormat.setOutputPath(conf, new Path("Out"));
右键点击文件,选择 Run As --> Run on Hadoop. 弹出如下窗口:
选择 "Choose existing hadoop location" , 而后选择刚才建立的localhost ,点Finish 就开始运行了.
接下来,就能够到网上找些测试代码来运行。。。
window下的hadoop只能用于开发测试,生产的部署只支持linux操做系统。。
关于linux平台的hadoop搭建,后续请你们继续关注!!!!!!!
参考连接:
牛人整合资源:http://trac.nchc.org.tw/cloud/wiki/Hadoop4Win(台湾人封装好的hadoopfor window ) ,很是不错的一个网址,还有hadoop的学习视频
豆丁:http://www.docin.com/p-192869357.html
hadoop权威指南:http://doc.open-open.com/view/c8291dcbeaf24f05a81463bc7807f77c