配色: 字号:
Hadoop在Windows环境下的部署 - ruby97的专栏 - 博客频道 - CSDN
2014-10-25 | 阅:  转:  |  分享 
  
2014/10/25Hadoop在Windows环境下的部署-ruby97的专栏-博客频道-CSDN.NET

http://blog.csdn.net/ruby97/article/details/74230881/11

分类:Hadoop

Hadoop在Windows环境下的部署

2012-04-0311:3421391人阅读评论(8)收藏举报

hadoopwindowssubversioneclipsejdkjava

经过一整天的折腾,参考了网上很多资料,我机器上的Hadoop似乎是配置成功了。下面分享

一下详细的配置过程。也祝愿大家在配置的过程中少走弯路。

注意:本文的配置环境是:

CygWin最新版本2.769下载地址

Window7-64bit

JDK1.6.0_31-win64(JRE6)下载地址

Eclipse-Indigo..

Hadoop0.20.2(注意:0.20.203版本不可用,会导致tasktracker无法启动)下载地址

-----------------------------------------华丽分割------------------------------------

环境安装&配置:

1.JDK,我的安装目录:C/Java,安装后视图

安装好了JDK,然后配置JAVA_HOME环境变量:

2014/10/25Hadoop在Windows环境下的部署-ruby97的专栏-博客频道-CSDN.NET

http://blog.csdn.net/ruby97/article/details/74230882/11

然后,把JDK下面的BIN目录追加到环境变量PATH后面。

2.CygWin,安装过程中记得选择所需的包,这里需要的是:

NetCategory下的:openssh,openssl

BaseCategory下的:sed(若需要Eclipse,必须sed)

DevelCategory下的:subversion(建议安装)。具体请参考下面的图示:

2014/10/25Hadoop在Windows环境下的部署-ruby97的专栏-博客频道-CSDN.NET

http://blog.csdn.net/ruby97/article/details/74230883/11

安装完成后,把CygWin的bin目录以及usr/sbin追加到系统环境变量PATH中。

3.Hadoop

把下载的hadoop-0.20.2.tar.gz解压到指定目录。我把解压后的Hadoop程序放到了Cygwin

根目录下的hadoop文件夹中。具体如下图示:

(不要使用0.20.203版本的Hadoop!!!)

2014/10/25Hadoop在Windows环境下的部署-ruby97的专栏-博客频道-CSDN.NET

http://blog.csdn.net/ruby97/article/details/74230884/11

下面开始配置Hadoop。需要配置的文件:(hadoop/conf目录下)

1.hadoop-env.sh

2.core-site.xml

3.hdfs-site.xml

4.mapred-site.xml

第一个文件hadoop-env.sh

2014/10/25Hadoop在Windows环境下的部署-ruby97的专栏-博客频道-CSDN.NET

http://blog.csdn.net/ruby97/article/details/74230885/11

把里面的JAVA_HOME改掉,注意export前面的#号要去掉。

而且必须要使用linux的路径表达方式。我的jdk路径是C:\JAVA\jdk1.6.0_31,在CygWin中

对应的路径为:/cygdrive/c/java/jdk1.6.0_31

第二个文件:core-site.xml

首先删除它,然后把hadoop/src/core目录下的core-default.xml文件复制到conf目录下,并

命名为core-site.xml。然后修改其中的fs.default.name变量,如下所示。

(确保端口号(我的是9100)未被占用)

第三个文件:hdfs-site.xml

首先把它删除,然后复制src/hdfs目录下的hdfs-default.xml到conf目录下,并改名为hdfs-

site.xml

然后修改dfs.replication变量,如下图示:

该变量意思是文件系统中文件的复本数量。在单独的一个数据节点上运行时,HDFS无法将块

复制到三个数据节点上。

2014/10/25Hadoop在Windows环境下的部署-ruby97的专栏-博客频道-CSDN.NET

http://blog.csdn.net/ruby97/article/details/74230886/11

第四个文件:mapred-site.xml

首先删除它,然后复制src/mapred目录下的mapred-default.xml到conf目录下,并改名为

mapred-site.xml,然后修改其mapred.job.tracker变量:

(同样确保端口号未被占用)

----------------------------------华丽分割-------------------------------------

配置SSH服务(首先确认安装了OpenSSH,OpenSSL两个包)

1.打开CygWin输入SSH-HOST-CONFIG

2.系统提示:shouldprivilegeseparationbeused?回答:no

3.系统提示:ifsshdshouldbeinstalledasservice?回答:yes

4.系统提示:thevalueofCYGWINenvironmentvariable输入:ntsec

5.成功

下面是图示(我自己当时没记录,所以参考的是网络上的图片)

2014/10/25Hadoop在Windows环境下的部署-ruby97的专栏-博客频道-CSDN.NET

http://blog.csdn.net/ruby97/article/details/74230887/11

下一步,进入Window系统的服务菜单,打开Cygwin的SSHD服务:如下图所示:

下面继续回到CygWin环境:执行如下命令:

1.ssh-keygen然后一直回车

2.cd~/.ssh

3.cpid_rsa_pubanthorized_keys

4.exit退出cygwin,若不退出,可能出错

再次登录时查看一下:

5运行sshlocalhost若有提示,则回车。

6执行ps若看到有/usr/bin/ssh进程,说明成功

2014/10/25Hadoop在Windows环境下的部署-ruby97的专栏-博客频道-CSDN.NET

http://blog.csdn.net/ruby97/article/details/74230888/11

------------------------------------华丽分割----------------------------------

启动Hadoop

第0步:为了避免jobtracker,infocouldonlybereplicatedto0node,insteadof1错误,

最好把hadoop/conf目录下面的masters和slaves文件全部改为127.0.0.1(原内容为:

localhost)

第一步,在hadoop目录下创建目录logs,用于保存日志

第二步,格式化管理者,即namenode,创建HDFS

执行命令:bin/hadoopnamenode-format,下面示代表成功

此时,执行ps,应该能看到ssh进程,且看不到java虚拟机进程。

第三步,启动Hadoop,执行命令:bin/start-all.sh

然后执行jps命令,你可能会看到如下图:

会发现Datanode,Secondarynamenode以及TaskTracker都没有启动。网上有人说是JPS

的问题,具体不是很清楚,但本文后面的文件系统可以使用。Datanode可以保存数据,继续

看吧。

2014/10/25Hadoop在Windows环境下的部署-ruby97的专栏-博客频道-CSDN.NET

http://blog.csdn.net/ruby97/article/details/74230889/11

不过此时执行PS命令,能看到5个JVM进程。

不知道这算不算成功,但我的Logs日志文件夹里面没有报错。

------------------------------华丽分割---------------------------------------

文件系统操作

为了验证HDFS能够正常工作我们可以进行文件的上传操作。

执行命令:

bin/hadoopfs-mkdirIn

bin/hadoopfs-put.txtIn

以上命令会在HDFS中建立In文件夹,然后把本地Hadoop目录下的所有文本文件上传到HDFS

中,Hadoop目录下共用四个txt文件:

OK,上传的太少,不爽,再上传一部电影。比如,我要把一个视频文件movie.mpg上传到

2014/10/25Hadoop在Windows环境下的部署-ruby97的专栏-博客频道-CSDN.NET

http://blog.csdn.net/ruby97/article/details/742308810/11

HDFS中,首先,在Hadoop根目录下建立文件夹local,然后把movie.mpg拷贝到其中

下面执行命令:

然后,查看文件系统是否有上述文件:

可以看到Movie.mpg在HDFS中。

同样在Eclipse中也能看到哇:

2014/10/25Hadoop在Windows环境下的部署-ruby97的专栏-博客频道-CSDN.NET

http://blog.csdn.net/ruby97/article/details/742308811/11

OK,突然不能贴图了,我再接着写一篇吧。介绍一下常见的错误处理。

献花(0)
+1
(本文系icecity0079...首藏)