Hadoop-Windows安装

1.安装前的准备工作

1.下载JDK

网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

注:下载对应平台的版本,否则无法安装

2.下载cygwin

网址:http://www.cygwin.com/setup.exe

如果无法下载,可以进入http://www.cygwin.com官网

3.下载hadoop

网址:http://hadoop.apache.org/

4.下载Eclipse

网址:http://www.eclipse.org/downloads/

注意版本:系统位数要与eclipse位数一致。如32位系统不能运行64位eclipse

5.下载hadoop-eclipse-plugin插件

网址:

注意:插件版本要和hadoop版本一致,如hadoop为1.2.1的版本,那么相应的插件也应该是1.2.1的版本,否则无法使用。

2.开始安装JDK和cygwin

1.安装JDK

1. 用鼠标左键双击JDK安装包,会出现下图所示的安装界面。选择接受。

2.更改安装路径到你安装目标路径下。比如安装到:D:\devlopmet\java\jdk1.2.0_10

3.开始安装

4.更改jre路径,安装路径到指定目录下。

5.点击下步,进入安装,等待几秒钟中,安装完毕

2.安装cygwin

1.运行setup.exe,双击运行setup.exe安装程序,如下图:

2. 选择安装类型:

1.Install fromInternet,是从网络安装

2.Down Without Install,只下载不安装

3.Install from Local Directory,从本地安装(如果已经下载有,可以选择此项)

3.我们选择第一项,从网络安装,然后选择保存目录。

4. 选择下载点,可以自己输入下载点。我们这选第一项,直接下载。

Ø  5. 连接站点,点下一步,如下图页面(连接站点页面),此时可能会弹出一个版本不统一的异常,可以忽略,直接点确定即可。

6.选择所需安装包,这里我们需要的包是:

Net Category包下的:openssh,openssl

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

Devel Category包下的:subversion,binutils,gcc,gcc-ming,gdb

Editors Category包下的:vim

可以用search去指定查找要下载的安装包

查找出相应包下的结果后,点刷新图标,可获得当前包的最新版本,后面紧跟着是所需包的bin文件和src文件,这里我所只选择bin文件。

7.完成安装

8.最后选择是否安装快捷键图标,完成安装操作。当你是第一次安装时,快捷键图是灰的,这时你点完成操作,然后再点setup.exe重新安装(已下载过的文件不会被重新下载)即可出现选择安装快捷键图标。

3.配置环境变量

1.配置jdk和jre的环境变量

1. 右击我的电脑选择属性如图

2.选择“属性->高级”之后出现界面再选择高级如图

3.配置JDK环境变量,选择单击“环境变量”出现如图

4. 单击“新建”系统变量如图,变量值是你安装jdk的目录,我建议大家去安装的目录中copy过来,以免输入错误

5. 然后建立CLASS_PATH环境变量

变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

6. 刚才定义的那个系统环境变量名“JAVA_HOME”现在就要用上了。选中path后如图1-15可以单击“编辑”当然也可以双击进行编辑

变量值:;%JAVA_HOME%\bin;%TOMCAT_HOME%\bin;

注意分号

7.配置JDK环境完成,一步一的点击确定退出。

8.验证环境是否配置成功。Ctrl+R进入运行界面,输入cmd。

9. 运行javac命令,有如下信息,表示成功。

10.再运行java命令,有如下信息,表示成功。

11.整个jdk安装完成。

2.配置cygwin的环境变量

1. 安装完Cygwin后,把Cygwin的usr/sbin目录追加到系统环境变量PATH中(一般会        自动添加),添加自己安装路径即可。

3.安装hadoop

1. 将 hadoop 安装包hadoop-0.20.1.tar.gz 解压到 D:\hadoop\run 目录( 可以修改成其它目录)

下,如下图所示:

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

hadoop-env.sh

core-site.xml

hdfs-site.xml

mapred-site.xml

3. hadoop-env.sh

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

而且必须要使用Linux的路径表达方式。我的jdk路径是 C:\JAVA\jdk1.6.0_31,在Cygwin中对应的路径为:/cygdrive/c/java/jdk1.6.0_31。

如果JDK的路径有空格的话,启动Hadoop就会有异常,有的网站上说加转义符就没问题,本人试了后还是不行。

4. hdfs-site.xml

<!-- dfs.replication -它决定着系统里面的文件块的数据备份个数。对于一个实际的应用,它应该被设为3(这个数字并没有上限,但更多的备份可能并没有作用,而且会占用更多的空间)。少于三个的备份,可能会影响到数据的可靠性(系统故障时,也许会造成数据丢失)-->

其它节点介绍:

<!--dfs.data.dir - 这是DataNode结点被指定要存储数据的本地文件系统路径。DataNode结点上的这个路径没有必要完全相同,因为每台机器的环境很可能是不一样的。但如果每台机器上的这个路径都是统一配置的话,会使工作变得简单一些。默认的情况下,它的值hadoop.tmp.dir, 这个路径只能用于测试的目的,因为它很可能会丢失掉一些数据。所以这个值最好还是被覆盖-->

<!-- dfs.name.dir - 这是NameNode结点存储hadoop文件系统信息的本地系统路径。这个值只对NameNode有效,DataNode并不需要使用到它。上面对于/temp类型的警告,同样也适用于这里。在实际应用中,它最好被覆盖掉。-->

5. mapred-site.xml

1.配置ssh

1. 配置ssh-host-config

打开桌面上CygWin图标,启动程序,输入SSH-HOST-CONFIG,会有如下提示项:

系统提示:should privilege  separationbe used ? 输入:no

系统提示:(Say "no" if it is already installed as a service)(yes/no)? 输入:yes

系统提示:Enter the value of CYGWIN for the daemon: [] 输入:ntsec

系统提示:Do you want to use a different name? (yes/no) 输入:no

系统提示:Create new privileged user account 'cyg_server'? (yes/no) 输入:yes

系统提示:Please enter the password:输入密码

Reenter: 确认密码

系统提示:Host configuration finished. Have fun! 成功

注:如果第二次操作SSH-HOST-CONFIG命令,首先会出现两次下面的提示:

Overwriteexisting /etc/ssh_config file? (yes/no) 输入:yes

注意:要右击一管理员的身份运行cygwin,否则会报错。

2.开启SSHD服务,进入Window系统的服务菜单,默认启动类型是自动,我们要右键开启Cygwin的SSHD服务,或者是(win7开始菜单-services.msc-找到CYGWIN sshd服务,将其启动)

3.设置authorized_keys

4. 生成密钥文件

继续回到CygWin环境:执行ssh-keygen命令生成密钥文件:

ssh-keygen然后一直回车

cd ~/.ssh

cp id_rsa_pub anthorized_keys

exit 退出Cygwin,若不退出,可能出错。

运行 ssh localhost  若有提示,则回车或输入yes。

执行 ps  若看到 有/usr/bin/ssh 进程,说明hadoop安装成功。

2.启动hadoop

1.为 了避免jobtracker,info couldonly be replicated to 0 node,instead of 1错误,最好把 hadoop/conf目录下面的 masters和slaves文件全部改为127.0.0.1(原内容为:localhost)。

格式化文件系统,即namenode,创建HDFS。

进入hadoop的bin目录,执行命令: hadoop namenode -format,下面示代表成功

2. 启动Hadoop,执行命令:./start-all.sh

在Windows系统上启动Hadoop时,会报这个异常:Failed to set permissions of path: \tmp\hadoop-Administrator\mapred\local\ttprivateto 0700。

这是Windows下文件权限问题,在Linux下可以正常运行,不存在这样的问题。

解决方法是:修改/hadoop-1.1.2/src/core/org/apache/hadoop/fs/FileUtil.java里面的checkReturnValue方法,注释掉即可(有些粗暴,在Window下,可以不用检查),重新编译打包hadoop-core-1.1.2.jar,替换掉hadoop-1.1.2根目录下的hadoop-core-1.0.2.jar即可。

3.执行jps命令,你可能会看到如下图

4. 执行./hadoop fs -ls / 命令会看到如下图:

5. 执行PS命令,能看到5个JVM进程。

3. 停止Hadoop

执行命令: ./stop-all.sh

4.web 管理界面

接下来使用 Hadoop中用于监控集群状态的 Web页面查看 Hadoop的运行状况,具体

的页面如下:

http://localhost:50030/jobtracker.jsp

http://localhost:50060/tasttracker.jsp

http://localhost:50070/dfshealth.jsp

4.Eclipse的安装

1.在linux中的eclipse登录hadoop

2.在windows中用eclipse远程登录hadoop

1. 设置Ubuntu静态IP:

1.ctrl+alt+T打开终端

2.输入ifconfig

5.常见安装问题

1.安装jdk时的问题

1.环境问题

解决办法:检查环境变量配置

2.安装cygwin时的问题

1.cygwin安装时,有些软件无法安装

解决办法

1.再次点击cygwin的安装程序

2.选择需要安装的程序,将Default转变成Install

3.将看到安装软件信息,点击确认安装就行。

4.也可以从本地重新安装。

3.安装ssh和vim时的问题

1. Cygwin上安装、启动ssh服务失败、sshlocalhost失败的解决方案

解决方法:可能在运行cygwin时,没有以管理员的身份运行。

2.cygrunsrv: Error starting aservice: QueryServiceStatus: Win32 error 1062:解决办法

问题原因:很可能是/var/log的权限设置不正确。首先执行mkpasswd 和 mkgroup 重新生成权限信息,再删除sshd服务,重新配置

解决办法

$ mkpasswd -l > /etc/passwd
$ mkgroup -l > /etc/group
$ cygrunsrv -R sshd
$ ssh-host-config -y
$ cygrunsrv -S sshd

3.vim上下左右键出现ABCD,vim失灵问题

解决方法:

1.      首先考虑到的就是缺少vim的配置文件,首先查看/etc路径下是否有vim的配置文件

2.      发现/etc下没有vim的全局配置文件,然后再查找当前用户的vim配置文件.vimrc

3.      发现也没有,可以确定是缺少vim的配置文件导致部分按键设置没有生效

方法:

1.    从文件共享目录中拷贝一个vim的配置文件至当前用户家目录下即可

2.      cat ~/.vimrc

4.安装hadoop时的问题

5.启动hadoop时datanode的问题(权限问题)

问题:hdfs-site中配置的dfs.data.dir为/usr/local/hadoop/hdfs/data

用bin/hadoopstart-all.sh启动Hdoop,用jps命令查看守护进程时,没有DataNode。

1.、hadoop/tmp,hdfs/name和hdfs/data的权限没有授予

解决:使用"sudo chmod 777 /user/hadoop/tmp命令对文件夹授权

或者使用sudo chown –R授权

也可在hdfs-site.Xml中添加dfs.permissions配置项,将value设置为false。

2. 访问http://localhost:50070,点击页面中的Namenode logs链接,在logs页面点击hadoop-hadoop-datanode-ubuntu.log 链接,

发现在日志中有此提示:Invalid directory in dfs.data.dir: Incorrect permission for/usr/local/hadoop/hdfs/data, expected: rwxr-xr-x, while actual: rwxr-xrwx 。也有可能权限授予过多:比如出现以下情况

这时候需要使用:

chmod g-w /usr/local/hadoop/tmp修改文件夹权限后,再次启动Hadoop,问题解决。

具体的权限修改请参照linux权限修改命令指导

6. Hadoop的datanode启动之后很快有自己关闭掉

7.window中eclipse链接linux中的hadoop的问题

1.出现0700错误,如图:

原因:Windows下文件权限问题,在Linux下可以正常运行,所以需要修改的是eclipse指向的hadoop,而不是linux中的hadoop

解决办法一:

1.      下载相应版本的hadoop的tar文件

网址:http://www.apache.org/dyn/closer.cgi/hadoop/common/(apach官网)

http://mirrors.hust.edu.cn/apache/hadoop/common/(镜像网址)

2.     将hadoop-x.x.x/src/core/org/apache/hadoop/fs/FileUtil.java里面方法checkReturnValue的代码注释掉.

3.     再重新编译生成hadoop-x.x.x-core.jar.(编译方法:新建一个MapReduce项目, 把hadoop-x.x.x/src/core/org/apache/hadoop/fs/FileUtil.java代码复制到src下(注意, 目录结构也需要), 按上面修改文件, 然后重新build下, 找到编译好的.class(两个), 用解压软件打开hadoop-x.x.x-core.jar, 把这两个class文件覆盖即可.)

解决办法二:apache官网解决

网址:https://issues.apache.org/jira/browse/HADOOP-8089

在自己的main程序中加入以下两行代码

Server为你的hadoop的IP地址

解决办法三:修改saveVersion.sh和bulid.xml文件

8.在集群中,子节点中无法启动Datanode进程

原因查找:

1.      访问http://localhost:50070,点击页面中的logs链接,在logs页面点击hadoop-hadoop-datanode-ubuntu.log 链接,查看datanode的日志:

org.apache.hadoop.hdfs.server.datanode.DataNode:java.io.IOException: Incompatible namespaceIDs in/var/lib/hadoop-0.20/cache/hdfs/dfs/data: namenode namespaceID = 240012870;datanode namespaceID = 1462711424

2.      原因是:Namenode上namespaceID与datanode上namespaceID不一致。每次namenode format会重新创建一个namenodeId,而tmp/dfs/data下包含了上次format下的id,namenode format清空了namenode下的数据,但是没有清空datanode下的数据,所以造成namenode节点上的namespaceID与datanode节点上的namespaceID不一致。启动失败。.

解决办法一:

 (1)停掉集群服务

    (2)在出问题的datanode节点上删除data目录,data目录即是在hdfs-site.xml文件中配置的dfs.data.dir目录,本机器上那个是/var/lib/hadoop-0.20/cache/hdfs/dfs/data/(注:我们当时在所有的datanode和namenode节点上均执行了该步骤。以防删掉后不成功,可以先把data目录保存一个副本).

  (3)格式化namenode.

  (4)重新启动集群。问题解决。

不利因素:即,hdfs上的所有数据丢失。如果hdfs上存放有重要数据的时候,不建议采用该方法,可以尝试提供的网址中的第二种方法。

解决办法二:

1.   停用datanode

2.      修改<dfs.data.dir>/current/VERSION中,namespaceID的值,将日志中第一个namespaceID的值赋给namespaceID=( dfs.data.dir为你在hdfs-site.xml中设置的路径)

3.      重启datanode

原文网址:http://blog.csdn.net/wanghai__/article/details/5752199

http://blog.csdn.net/jokes000/article/details/7704986

Linux集群部署系列(六):Hadoop 在window系统下安装方法相关推荐

  1. Linux集群部署及搭建-----Hadoop

    下面是配置三台虚拟机的集群!! 一.前期配置. 1. 服务器主机名和静态IP配置(三台)2. 修改每个主机的/etc/hosts文件,添加IP和主机名的对应关系(三台)3. 管理节点到从节点配置无密码 ...

  2. 【运维】K8S集群部署系列之ETCD集群搭建(四)

    ETCD集群扩容和缩容 本文将介绍生产环境下如何对ETCD集群进行扩容和缩容. 文章目录 ETCD集群扩容和缩容 新节点环境准备(node3) 下载安装包并初始化环境 网络准备 生成`node3`对等 ...

  3. 集群-大规模Linux集群部署-MPI集群搭建与MPI编程

    一.集群的概念及其相关技术 集群计算机是指利用高速通信网络将一组高档工作站或PC按某种结构连接起来,在并行程序设计甚至可视化人机交互集成开发环境支持下,统一调度,协调处理,实现高效并行处理的系统,利用 ...

  4. Linux集群部署和ipvsadm命令的使用

    在日常的使用中,一台服务器足够胜任很多的工作,但是当很多人同时访问的时候就会显得稍有些无力,这个时候.可以有两种解决的方法,第一种是不断的改善这台服务器的性能,但是总是会有一个上限存在,而且提升的效果 ...

  5. 【运维】K8S集群部署系列之ETCD集群搭建(二)

    TLS证书生成 文章目录 TLS证书生成 简介 工具下载 创建CA认证中心 CA证书申请文件 生成CA证书和私钥 配置证书生成策略 证书验证 查看证书 验证证书 生成ETCD集群的TLS证书 服务端证 ...

  6. Intel千兆网卡驱动Linux系统下安装方法

    适用机型: 所有xSeries 205; 所有xSeries 206; 所有xSeries 225; 所有xSeries 226; 所有xSeries 235; 所有xSeries 236; 所有xS ...

  7. Linux(CentOS 7)(64位)系统下安装Pymol(1.8.6)

    PyMOL简介 PyMOL是一款生物大分子三维结构显示软件,其中"Py"是指此软件使用Python语言编写,"MOL"是指Molecule. PyMOL官网是h ...

  8. 系统部署文档_详解window系统下安装部署SWFTools(文档转换)工具教程

    概述 SWFTools是包括pdf2swf, jpeg2swf, png2swf, avi2swf, font2swf, and wav2swf等在内的Adobe Flash工具集合,我们可以用它非常 ...

  9. ElasticSearch集群部署【windows+Linux双系统搭建】

    ES集群部署 一.windows部署 二.Linux单节点部署 三.Linux集群部署 一.windows部署 如果已经使用过,删除其中的data和logs文件夹中的内容 新建一个es-cluster ...

最新文章

  1. python操作mysql数据库实现增删改查
  2. 华为,你终于活成了他们害怕的样子
  3. 预训练BERT学习笔记_Storm*Rage的博客
  4. Java—Remove Deplicates from Sorted Array(顺序数组中去重位置)
  5. STM32F103:三.(3)MPU6050
  6. oracle学习资料大全
  7. 为什么你的种子磁力下载很慢?
  8. mysql 局域网数据库共享,SQL Server 2005 在局域网中共享数据库
  9. AiLight – A hackable RGBW light bulb
  10. ORACLE 中利用推理逻辑去算 上年同期 ,注意:ORACLE中查询条件是带有推理逻辑功能的,及oracle中的推理逻辑
  11. [项目管理] 项目管理之配置管理
  12. pymo闪退android7.0,PYMO引擎
  13. jsp:session的跟踪方式
  14. 【MATLAB教程案例12】基于GA遗传优化算法的函数极值计算matlab仿真及其他应用
  15. Kubernetes(15):Pod控制器ReplicaSet和Deployment详解
  16. 电影(0x05 排序)
  17. 火山PC文件目录的创建复制移动等操作
  18. 参会记录|2022 人工智能安全学术研讨会参会总结
  19. js通过身份证获取性别、年龄
  20. 分治法与蛮力法求最近点对问题(分治法时间复杂度O(nlogn))

热门文章

  1. python在家创业项目_适合在家创业的项目有哪些 八大项目人人可做
  2. 使用jersey框架上传图片到图片服务器
  3. 计算机控制版面交换鼠标左右键,鼠标左右键怎么互换呢?左右键互换设置方法...
  4. java 版百度网盘功能
  5. linux查看jetty安装目录,linux中Jetty的安装和配置方法
  6. 【python 程序题:火车票购买程序】
  7. 淘宝滑块的解决方法和api接口
  8. matlab在电力电子的应用,MATLAB在电力电子技术中的应用
  9. SpringBoot日志文件
  10. [WebGL入门]二十六,纹理绘图