最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

[基础] Hadoop在Windows环境下的部署

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-14 14:34:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

经过一整天的折腾,参考了网上很多资料,我机器上的Hadoop似乎是配置成功了。下面分享一下详细的配置过程。也祝愿大家在配置的过程中少走弯路。

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


-----------------------------------------华丽分割------------------------------------
环境安装&配置:
1.JDK,我的安装目录:C/Java,安装后视图




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



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


2.CygWin,安装过程中记得选择所需的包,这里需要的是:
Net Category下的:openssh,openssl
BaseCategory下的:sed (若需要Eclipse,必须sed)
Devel Category下的:subversion(建议安装)。具体请参考下面的图示:








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


3.Hadoop
把下载的hadoop-0.20.2.tar.gz解压到指定目录。我把解压后的Hadoop程序放到了Cygwin根目录下的hadoop文件夹中。具体如下图示:
(不要使用0.20.203版本的Hadoop!!!)




下面开始配置Hadoop。需要配置的文件:(hadoop/conf目录下)
  • hadoop-env.sh
  • core-site.xml
  • hdfs-site.xml
  • mapred-site.xml
第一个文件 hadoop-env.sh



把里面的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无法将块复制到三个数据节点上。




第四个文件:mapred-site.xml
首先删除它,然后复制src/mapred目录下的mapred-default.xml到conf目录下,并改名为mapred-site.xml,然后修改其mapred.job.tracker变量:
(同样确保端口号未被占用)






----------------------------------华丽分割-------------------------------------
配置SSH服务(首先确认安装了OpenSSH,OpenSSL两个包)
1.打开CygWin输入SSH-HOST-CONFIG
2.系统提示:should privilege  separation be used ? 回答:no
3.系统提示:if sshd should be installed as service?回答:yes
4.系统提示:the value of CYGWIN environment variable 输入: ntsec
5.成功
下面是图示(我自己当时没记录,所以参考的是网络上的图片)




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


下面继续回到CygWin环境:执行如下命令:
1.ssh-keygen然后一直回车
2.cd ~/.ssh
3.     cp id_rsa_pub anthorized_keys
4.exit 退出cygwin,若不退出,可能出错
再次登录时查看一下:


5运行 ssh localhost  若有提示,则回车。
6执行 ps  若看到 有/usr/bin/ssh 进程,说明成功


------------------------------------华丽分割----------------------------------
启动Hadoop
第0步:为了避免jobtracker,info could only be replicated to 0 node,instead of 1错误,最好把 hadoop/conf目录下面的 masters和slaves文件全部改为127.0.0.1(原内容为:localhost)

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


第二步,格式化管理者,即namenode,创建HDFS
执行命令: bin/hadoop namenode -format,下面示代表成功



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


第三步,启动Hadoop,执行命令: bin/start-all.sh
然后执行jps命令,你可能会看到如下图:


会发现Datanode ,Secondarynamenode以及TaskTracker都没有启动。网上有人说是JPS的问题,具体不是很清楚,但本文后面的文件系统可以使用。Datanode可以保存数据,继续看吧。


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


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


------------------------------华丽分割---------------------------------------
文件系统操作
为了验证HDFS能够正常工作我们可以进行文件的上传操作。
执行命令:
bin/hadoop fs -mkdir In
bin/hadoop fs -put  *.txt In
以上命令会在HDFS中建立In文件夹,然后把本地Hadoop目录下的所有文本文件上传到HDFS中,Hadoop目录下共用四个txt文件:


OK,上传的太少,不爽,再上传一部电影。比如,我要把一个视频文件movie.mpg上传到HDFS中,首先,在Hadoop根目录下建立文件夹local,然后把movie.mpg拷贝到其中


下面执行命令:


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


可以看到Movie.mpg在HDFS中。


同样在Eclipse中也能看到哇:




最后贴的图是在Eclipse下查看文件系统组成。
配置Eclipse插件请参考http://www.cnblogs.com/flyoung2008/archive/2011/12/09/2281400.html
------------------------------------------------------------------------------------------
上传完视频以后,可以通过如下几个命令查看系统的运行情况:
bin/hadoop dfsadmin -report




bin/hadoop dfs -lsr / 查看文件系统




OK。我在配置过程中主要遇到的错误是:


错误1. ...could only be replicated to 0 nodes,instead of 1




这个错误主要的解决方法是:
1.把 tmp文件全部删除。
2.然后把hadoop/conf目录下的slaves,masters文件内容全部改成 127.0.0.1
3.重新格式化namenode bin/hadoop namenode -format)
也许你不知道hadoop 的tmp文件在哪里,默认情况下应该才 cygwin根目录下的tmp文件夹内:
如下图所示:


把它们都删掉。就OK了。 (cd /tmp  ,   rm -rf *)
参考博客:http://albb0608.iteye.com/blog/1279495


错误2:
name node is in safe mode
直接输入命令: bin/hadoop dfsadmin -safemode leave 离开安全模式
----------------------------------华丽分割------------------------------
记录配置过程到此结束。



楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-5-3 11:04

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表