http://blog.csdn.net/ruby97/article/details/7423088

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

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

  • CygWin最新版本2.769下载地址
  • Window7-64bit
  • JDK1.6.0_31-win64 (JRE6)下载地址
  • Eclipse-Indigo..
  • Hadoop 0.20.2 (注意:0.20.203版本不可用,会导致tasktracker无法启动)下载地址
-----------------------------------------华丽分割------------------------------------
环境安装&配置:
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目录下)
  1. hadoop-env.sh
  2. core-site.xml
  3. hdfs-site.xml
  4. 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中也能看到哇:
 
OK,突然不能贴图了,我再接着写一篇吧。介绍一下常见的错误处理。
 

本文接上一篇:http://blog.csdn.net/ruby97/article/details/7423088

上一篇最后贴的图是在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 离开安全模式

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

记录配置过程到此结束,如有错误,烦请指出,不胜感激。

Hadoop在Windows环境下的部署[转]的更多相关文章

  1. windows环境下安装部署并启用zkui的web图形界面

    在此之前的工作:不是本机部署的三个服务器最为伪集群的zookeeper环境,并将三个为服务启动起来. 然后才有了下面的工作. 1. 首先,zkui项目地址:https://github.com/Dee ...

  2. windows环境下Nginx部署及Https设置

    一.Nginx安装部署及常用命令. 1.1.其实Nginx是免安装的.直接在官网下载zip包,解压即可,下载地址:http://nginx.org/en/download.html,因为我这边的开发服 ...

  3. Redis在windows环境下的部署

    一.下载 官网地址:http://redis.io/download Git地址:https://github.com/MSOpenTech/redis 注:官方无windows版本,需要window ...

  4. hadoop-1.1.2 在Windows环境下的部署

    1:先安装Cygwin 参考http://blog.csdn.net/wind520/article/details/9223003 2:下载 3:解压在C:\cygwin\hadoop1 4:配置 ...

  5. nuxt项目在windows环境下安装部署

    1.nodejs安装,地址 https://nodejs.org/en/ 2.在本地项目中运行npm  run build  命令将开发好的项目打包生成.nuxt文件夹,然后把.nuxt文件夹.nux ...

  6. Windows环境下部署Tomcat服务器图文教程

    Tomcat是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. 本文将详细介绍在Windows环境下 ...

  7. 【大数据系列】windows环境下搭建hadoop开发环境使用api进行基本操作

    前言 搭建完hadoop集群之后在windows环境下搭建java项目进行测试 操作hdfs中的文件 版本一 package com.slp.hadoop274.hdfs; import java.i ...

  8. 在windows环境下部署nuxt项目(线上发布部署)

    因为公司项目需要兼容SEO,同时我们也一直希望能够真正的实现前后端分离,于是毫不犹豫的选择了nuxt. 话说要重构前后端分离真是一个大工程,由于各种原因我们团队花了近两年时间都没有完成,最近才又重启把 ...

  9. windows环境下利用Gitblit搭建Git服务器并实现自动部署Web站点目录

    Git服务搭建多见于linux环境,但windows主机也不少,目前网上文章诸多不全,且以讹传讹,不甚清楚.下面介绍windows环境下的自动部署和发布. 所需环境及资源:Java环境.Gitblit ...

随机推荐

  1. 迁移/home目录至新硬盘分区总结--无备份情况下

    搞了一天,终于成功迁移.由于一开始就没备份过程实在很曲折. 希望本篇对那些没有备份习惯的朋友们有所帮助. 准备工作: sudo vim /etc/fstab 在文件中加入: /dev/sdb8     ...

  2. 数据库WMI 0x80041010 如何解决?

    在你打开 SQL Server Configuration Manager遇到以下错误的时候,请参考下面提出的解决办法 solution: 打开cmd 命令窗口执行mofcomp.exe " ...

  3. DELL磁盘阵列控制卡(RAID卡)MegaCli常用管理命令汇总

    新版本的 MegaCli-1.01.24-0.i386.rpm (下载地址:http://www.lsi.com/downloads/Public/MegaRAID Common Files/8.02 ...

  4. Android中的动画

    Android中的动画分为: 1.逐帧动画(Frame Animation):  把动画过程的每张静态图片都收集起来,然后由Android来控制依次显示这些静态图片,然后利用人眼”视觉暂留“的原理,给 ...

  5. 认识cocos2d-x jsbinding

    近年来HTML5风起云涌,特别在移动端已经被更多的人熟识.H5跨平台,在线更新等特性,被人们津津乐道.然后就出现了各种H5的框架,甚至多达100种,真是让开发者眼花缭乱,笔者作为一个从事H5游戏开发一 ...

  6. centos 下使用sublime

    CentOS 之 Sublime text3 安装及配置(不支持中文输入) sublime text 的界面友好,自动补全功能也不错. (本来用vim+php_function.txt的形式进行补全的 ...

  7. 【创建型】Prototype模式

    原型模式主要是用原型实例指定创建原型对象的种类,并且通过拷贝原型创建新对象.最简单的理解就是克隆.就如cocos2d-x中的 class Clonable::clone();该模式的主要目的是可以在运 ...

  8. C++学习笔记1——const

    Const 限定符 1. 等价 //const对象必须初始化//C++中const修饰的变量不能改变//C中const修饰的变量可以通过指针修改 2. ; const int j = i;//变量给常 ...

  9. bootstrap--- 两种bootstrap multiselect组件大比拼

    http://www.cnblogs.com/landeanfen/p/5013452.html 1.第一种可以兼容IE,第二种不能兼容

  10. ios app 开发中ipa重新签名步骤介绍-备

    作为一个app应用程序开发者,在app应用程序在苹果商店上架前总需要将安装包安装到ios机器上进行测试,这个时候我们就需要打包in house版本的ipa了,打包in house实际上是一个将ipa应 ...