Hadoop完全分布式搭建过程中遇到的问题小结
前一段时间,终于抽出了点时间,在自己本地机器上尝试搭建完全分布式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完全分布式搭建过程中遇到的问题小结的更多相关文章
- hadoop集群搭建过程中遇到的问题
在安装配置Hadoop集群的过程中遇到了很多问题,有些是配置导致的,有些是linux系统本身的问题造成的,现在总结如下. 1. hdfs namenode -format出现错误:hdfs namen ...
- CentOs6.8 hadoop集群搭建过程中的问题
1.Error: Java heap space 网上有很多说是java虚拟机内存不够的,我也试着修改内存大小,但是没起作用,后来发现是文件在传输过程中失真.文件在上传到HDFS后变成乱码,重新上传文 ...
- Hadoop集群搭建过程中ssh免密码登录(二)
一.为什么设置ssh免密码登录 在集群中,Hadoop控制脚本依赖SSH来执行针对整个集群的操作.例如,某个脚本能够终止并重启集群中的所有守护进程.所以,需要安装SSH,但是,SSH远程登陆的时候,需 ...
- 超详细解说Hadoop伪分布式搭建--实战验证【转】
超详细解说Hadoop伪分布式搭建 原文http://www.tuicool.com/articles/NBvMv2原原文 http://wojiaobaoshanyinong.iteye.com/b ...
- hadoop完全分布式搭建HA(高可用)
2018年03月25日 16:25:26 D调的Stanley 阅读数:2725 标签: hadoop HAssh免密登录hdfs HA配置hadoop完全分布式搭建zookeeper 配置 更多 个 ...
- 3.hadoop完全分布式搭建
3.Hadoop完全分布式搭建 1.完全分布式搭建 配置 #cd /soft/hadoop/etc/ #mv hadoop local #cp -r local full #ln -s full ha ...
- ELK搭建过程中出现的问题与解决方法汇总
搭建过程中出现的问题 elasticsearch启动过程中报错[1] ERROR: [1] bootstrap checks failed [1]: the default discovery set ...
- Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程~(心血之作啊~~)
http://blog.csdn.net/licongcong_0224/article/details/12972889 历时一周多,终于搭建好最新版本hadoop2.2集群,期间遇到各种问题,作为 ...
- Hadoop伪分布式搭建步骤
说明: 搭建环境是VMware10下用的是Linux CENTOS 32位,Hadoop:hadoop-2.4.1 JAVA :jdk7 32位:本文是本人在网络上收集的HADOOP系列视频所附带的 ...
随机推荐
- sql注入工具sqlmap使用参数说明
Options(选项):--version 显示程序的版本号并退出-h, --help 显示此帮助消息并退出-v VERBOSE 详细级别:0-6(默认为1)Target(目标):以下至少需要设置其中 ...
- OpenGL+VS2013+WIN7(64)组态
1.下载windows在下面glut安装文件:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip 2. 拆开发现五个文件 ...
- PHP 12 :字符串的操作
原文:PHP 12 :字符串的操作 本章介绍字符串的操作.之所以要把字符串单独拿出来讲,是因为字符串在每种语言里都是非常重要的.并且也是大家关心的.我们从以下几个方面介绍字符串: 字符串的表现形式. ...
- MVC 使用jQuery上传文件
在ASP.NET MVC Framework中,上传文件真是超级简单,看代码: View <formaction="<%=Url.Action("Process&quo ...
- Microsoft .NET Pet Shop 简介
最初研究 .NET Pet Shop 的目的是用 Microsoft .NET 实现 Sun 主要的 J2EE 蓝图应用程序 Sun Java Pet Store 同样的应用程序功能. 根据用 .NE ...
- 常见ActiveX控件下载大全
ActiveX是微软对于一系列策略性面向对象程序技术和工具的称呼,ActiveX控件可以在Windows窗体和Web程序上使用,所以不管是什么语 言开发的应用程序只要在windows窗体和html页面 ...
- .net操作PDF的一些资源(downmoon收集)
因为业务需要,搜集了一些.net操作pdf的一些资源,特在此分享. 1.如何从 Adobe 可移植文档格式 (PDF) 文件中复制文本和图形 http://support.microsoft.com/ ...
- 网页头一定要加的代码段(加注版)一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
网页头部常见的一段代码 <!--[if lt IE 7 ]><html class="ie6"><![endif]--> <!--[i ...
- Asp.Net Web Api 接口
如何让你的 Asp.Net Web Api 接口,拥抱支持跨域访问. 由于 web api 项目通常是被做成了一个独立站点,来提供数据,在做web api 项目的时候,不免前端会遇到跨域访问接口的 ...
- idea执行go
因为经常在不同的地方调代码,每次都调整环境很麻烦,于是在犯懒的时候发现了更直接简便的办法,关于idea集成go环境的,不需要按部就班的部署. 首先下代码,比如https://github.com/sa ...