前一段时间,终于抽出了点时间,在自己本地机器上尝试搭建完全分布式Hadoop集群环境,也是借助网络上虾皮的Hadoop开发指南系列书籍一步步搭建起来的,在这里仅代表hadoop初学者向虾皮表示衷心的感谢,他总结的系列文档确实帮我们扫除了很多hadoop环境搭建过程中的障碍。

自己不班门弄斧,就自己在搭建和调试过程中遇到的问题给出方案,希望以后的伙伴少走一点弯路,下面就搭建过程中遇到的几个问题给出总结:

 说明:本次搭建hadoop集群环境时,本人使用的是hadoop-2.2.0版本,目前Apache官网最新的版本是hadoop-2.6.2版本,服务器Linux环境是CentOS-6.4版本

1、首先说明下2.2版本的文件组成结构如下:  

这个结构和1.0版本是存在差异的,不要为找不到conf目录而苦恼,都在etc目录下

2、中间1台Master和3台Slaver结点环境的构建和配置请参考:http://www.cnblogs.com/xia520pi/archive/2012/04/08/2437875.html,这里很详细。

3、环境搭建以后,通过./start-all.sh命令启动集群失败,很大一个原因就是服务器防火墙未关闭的原因,这时可以通过service iptables stop来关闭4台机器

上的防火墙。然后再重试启动

4、在本地windows环境下通过eclipse连接hadoop,需要注意2点:

第一点:下载或者自己编译hadoop-eclipse-plugin-1.0.0.jar文件,这一步很关键,是决定你本地eclipse能否连接hadoop的关键,这里网络上版本和方法

很多,我这里提供:http://pan.baidu.com/s/1qW279Fm可以下载。

第二点:在eclipse中指定本地hadoop的安装目录时,一定要指定到hadoop-core-1.*.jar所在的目录,而不是像虾皮文件中说的hadoop/下,主要原因是

不同hadoop版本中jar文件存放路径不同,如下:

请对照文章中第一张图的文字注释看,然后直接下一步就OK了。

5、按照虾皮文档运行第一个WordCount实例的时候,很多人在服务器上是成功的,但是在本地却一直在抛classNotFound的错误,我当初也很郁闷,

我本地的jar文件和类文件都在啊,为什么会找不到呢?

关于这个问题,网络上很多说法,但是都怎么靠谱,我找了很多资料,最后是通过下面的方式解决的,

下面这个是报错的时候我在main方法中的写法:

注意这里的写法,实际指定的是hdfs的主机地址,但是这里就是找不到类,改为下面的写法就OK了,至少不报classNotFound的错误了,

然后,可能有的伙伴又会遇到Exception in thread "main" java.io.IOException: Failed to set permissions of path: \tmp\hadoop-Administrator\mapred\staging\Administrator-4954228\.staging to 0700这样的错误,这个错误很简单,也很清楚,就是说没有操作文件的权限,这个是

windows环境下会出的一个问题,在linux上是不存在的,解决办法就是:修改/hadoop-1.0.2/src/core/org/apache/hadoop/fs/FileUtil.java里面的checkReturnValue方法,直接将该方法体注释掉,然后重新编译jar包,导入项目即可,这个地址可以直接下载到编译好的jar文件:http://download.csdn.net/detail/java2000_wl/4326323,

完成上面的所有步骤以后,应该就OK了。

正如虾皮博文所说的,这只是万里长征的第一步,搭建环境很简单,但也是最考验人的地方,希望有用到的伙伴参考。

Hadoop完全分布式搭建过程中遇到的问题小结的更多相关文章

  1. hadoop集群搭建过程中遇到的问题

    在安装配置Hadoop集群的过程中遇到了很多问题,有些是配置导致的,有些是linux系统本身的问题造成的,现在总结如下. 1. hdfs namenode -format出现错误:hdfs namen ...

  2. CentOs6.8 hadoop集群搭建过程中的问题

    1.Error: Java heap space 网上有很多说是java虚拟机内存不够的,我也试着修改内存大小,但是没起作用,后来发现是文件在传输过程中失真.文件在上传到HDFS后变成乱码,重新上传文 ...

  3. Hadoop集群搭建过程中ssh免密码登录(二)

    一.为什么设置ssh免密码登录 在集群中,Hadoop控制脚本依赖SSH来执行针对整个集群的操作.例如,某个脚本能够终止并重启集群中的所有守护进程.所以,需要安装SSH,但是,SSH远程登陆的时候,需 ...

  4. 超详细解说Hadoop伪分布式搭建--实战验证【转】

    超详细解说Hadoop伪分布式搭建 原文http://www.tuicool.com/articles/NBvMv2原原文 http://wojiaobaoshanyinong.iteye.com/b ...

  5. hadoop完全分布式搭建HA(高可用)

    2018年03月25日 16:25:26 D调的Stanley 阅读数:2725 标签: hadoop HAssh免密登录hdfs HA配置hadoop完全分布式搭建zookeeper 配置 更多 个 ...

  6. 3.hadoop完全分布式搭建

    3.Hadoop完全分布式搭建 1.完全分布式搭建 配置 #cd /soft/hadoop/etc/ #mv hadoop local #cp -r local full #ln -s full ha ...

  7. ELK搭建过程中出现的问题与解决方法汇总

    搭建过程中出现的问题 elasticsearch启动过程中报错[1] ERROR: [1] bootstrap checks failed [1]: the default discovery set ...

  8. Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程~(心血之作啊~~)

    http://blog.csdn.net/licongcong_0224/article/details/12972889 历时一周多,终于搭建好最新版本hadoop2.2集群,期间遇到各种问题,作为 ...

  9. Hadoop伪分布式搭建步骤

    说明: 搭建环境是VMware10下用的是Linux CENTOS 32位,Hadoop:hadoop-2.4.1  JAVA :jdk7 32位:本文是本人在网络上收集的HADOOP系列视频所附带的 ...

随机推荐

  1. 快速构建Windows 8风格应用32-构建辅助磁贴

    原文:快速构建Windows 8风格应用32-构建辅助磁贴 引言 Windows Phone中,我们开发者可能会开发的一个功能点是将数据列表中某一项"Pin To Start(固定到开始屏幕 ...

  2. Java集合之Stack 源码分析

    1.简介 栈是数据结构中一种很重要的数据结构类型,因为栈的后进先出功能是实际的开发中有很多的应用场景.Java API中提供了栈(Stacck)的实现,简单使用如下所示 package com.tes ...

  3. html5跨域数据传递(postMessage)

    在html5中有个支持跨域传递的方法postMessage,可是实现iframe之间的数据传递! 代码如下:数据发送页面 <!DOCTYPE HTML> <html lang=&qu ...

  4. git简单教材

    0)初始化 $ git config --global user.name "xxx" $ git config --global user.email "xxx@gma ...

  5. Ibatis.Net执行Sql超时commandTimeout的一个坑

    项目中使用了Ibatis.Net,数据库是Mysql,在做一个批量Update的操作时,需要执行40几秒,在执行到30秒的时候,会抛出异常:Timeout expired , The timeout ...

  6. 体验SubSonic

    体验SubSonic SubSonic简介 SubSonic配置 利用sonic.exe来生成代码 通过Substage来生成代码 简单操作示例 1.SubSonic简介 一句讲完就是:SubSoni ...

  7. windows下mysql备份、还原,使用mysqldump

      直接备份 mysqldump -u用户名 -p密码 -h 192.168.1.15 -c   --default-character-set=utf8 数据库名>xxx.sql   使用gz ...

  8. Coded UI Test对Webpage进行自动化测试

    如何使用Coded UI Test对Webpage进行自动化测试   在Visual Studio中,Coded UI Test已经不是什么新特性了,较早版本的Visual Studio中就已经有这个 ...

  9. VBS get,post函数

    Function gethttp(gethttp_url) Dim http_get Set http_get=Server.CreateObject("MSXML2.ServerXMLHT ...

  10. SZU:A26 Anagram

    Judge Info Memory Limit: 32768KB Case Time Limit: 10000MS Time Limit: 10000MS Judger: Normal Descrip ...