hadoop集群安装
首现非常感谢 虾皮(http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html) 安装过程是参照他的《Hadoop集群(第5期)_Hadoop安装配置》
进行配置安装的,但是安装过程中出现了一些细节问题,特此在这做个记录,有遇到和我相同或者类似问题的可以参照一下。
下面的配置介绍有些只是粗略的说一下,因为虾皮博客中已经介绍的很详细了,我就不再赘述了,重点在地方我会标注出来(一些细节)。
1.环境介绍
我用的是CentOS5.8 一个NameNode,两个DataNode。NameNode(Master)的IP:192.168.17.128;DataNode1(Slave_01)的IP:192.168.17.130;
DataNode2(Slave_02)的IP:192.168.17.131;
2.软件介绍
JDK:jdk1.6.0_38
Hdoop:hadoop-1.0.0.tar.gz
FTP工具:WinSCP
3.安装出现的细节问题
3.1 tmp目录
在hadoop下创建tmp文件夹(目录)以后,它默认所属用户为root,需要给hadoop用户添加读的权限
chown hadoop:hadoop tmp,但是这样还是会有问题
TaskTracker local dir /usr/local/hadoop/tmp/mapred/local error can not create directory: /usr/local/hadoop/tmp/mapred/local, removing from local dirs
出现这个问题的原因就是我们创建tmp目录的权限问题,chmod a+w tmp修改完成之后把NameNode,DataNode下的tmp目录清空,
然后重新执行hadoop namenode -format
3.2 core-site.xml文件
3.3 mapred-site.xml文件
3.4 hadoop 1.0.0版本,安装完之后敲入hadoop命令时,老是提示这个警告:
编辑"/etc/profile"文件,添加一个环境变量,之后警告消失------>export HADOOP_HOME_WARN_SUPPRESS=1
3.5 NameNode中namespaceID和DataNode中namespaceId不一致
其实出现此问题的原因很简单,每次namenode format会重新创建一个namenodeId,而tmp/dfs/data下包含了上次format下的id,namenode format清空了namenode下的数据,但是没有晴空datanode下的数据,导致启动时失败,所要做的就是每次fotmat前,清空tmp一下 的所有目录
当我们执行stop-all.sh的时候,发现datanode并没有启动
最简单的解决办法就是,把NameNode和所有DataNode中的tmp目录下的所有目录全部删除,然后重新在namenode上format,问题随之消失。
3.6 java.net.UnknownHostException: Slave_01 is not a valid Inet address
出现此问题的原因是主机名中不能加下划线。
3.7 Cannot delete /usr/local/hadoop/tmp/mapred/system. Name node is in safe mode
解决方案是:关闭安全模式 hadoop dfsadmin -safemode leave
4.问题总结
出现问题一定要去查看日志文件,不要因为一出错就不知所措,错误总有解决的办法。
这里所说的查看日志不仅仅是查看master的日志,也要去查看各个Slave的日志。
hadoop集群安装的更多相关文章
- Apache Hadoop 集群安装文档
简介: Apache Hadoop 集群安装文档 软件:jdk-8u111-linux-x64.rpm.hadoop-2.8.0.tar.gz http://www.apache.org/dyn/cl ...
- 1.Hadoop集群安装部署
Hadoop集群安装部署 1.介绍 (1)架构模型 (2)使用工具 VMWARE cenos7 Xshell Xftp jdk-8u91-linux-x64.rpm hadoop-2.7.3.tar. ...
- Apache Hadoop集群安装(NameNode HA + SPARK + 机架感知)
1.主机规划 序号 主机名 IP地址 角色 1 nn-1 192.168.9.21 NameNode.mr-jobhistory.zookeeper.JournalNode 2 nn-2 ).HA的集 ...
- Apache Hadoop集群安装(NameNode HA + YARN HA + SPARK + 机架感知)
1.主机规划 序号 主机名 IP地址 角色 1 nn-1 192.168.9.21 NameNode.mr-jobhistory.zookeeper.JournalNode 2 nn-2 192.16 ...
- 2 Hadoop集群安装部署准备
2 Hadoop集群安装部署准备 集群安装前需要考虑的几点硬件选型--CPU.内存.磁盘.网卡等--什么配置?需要多少? 网络规划--1 GB? 10 GB?--网络拓扑? 操作系统选型及基础环境-- ...
- hadoop集群安装故障解决
nodemanager进程解决:http://blog.csdn.net/baiyangfu_love/article/details/13504849 编译安装:http://blog.csdn.n ...
- Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS
摘自:http://www.powerxing.com/install-hadoop-cluster/ 本教程讲述如何配置 Hadoop 集群,默认读者已经掌握了 Hadoop 的单机伪分布式配置,否 ...
- linux hadoop 集群安装步骤
http://blog.csdn.net/xjavasunjava/article/details/12013677 1,时间同步hadoop集群的每台机器的时间不能相差太大. 安装集群前最好进行一下 ...
- hadoop系列一:hadoop集群安装
转载请在页首明显处注明作者与出处 http://www.cnblogs.com/zhuxiaojie/p/6384393.html 一:说明 此为大数据系列的一些博文,有空的话会陆续更新,包含大数据 ...
随机推荐
- .net 控件开发第二天 怎么将 第一天写的代码 用到 .net中来
前面第一天 我们看到的全是 js的代码,虽然不管是BS的框架是java 还是 php,复用性 还是特别高的, 但是 写起来比较费劲,怎么办,我们能不能 更 简单点呢? 当然可以,这个时候我们就要用到 ...
- CSS3火焰文字特效制作教程
原文:CSS3火焰文字特效制作教程 用一句很俗气的话概括这两天的情况就是:“最近很忙”,虽然手头上有不少很酷的HTML5和CSS3资源,但确实没时间将它们的实现过程写成教程分享给大家.今天刚完成了一个 ...
- Docker 管理工具 Shipyard
Docker 管理工具 Shipyard Shipyard 是一个基于 Web 的 Docker 管理工具,支持多 host,可以把多个 Docker host 上的 containers 统一管理: ...
- POJ 3047 Bovine Birthday 日期定周求 泽勒公式
标题来源:POJ 3047 Bovine Birthday 意甲冠军:.. . 思考:式 适合于1582年(中国明朝万历十年)10月15日之后的情形 公式 w = y + y/4 + c/4 - 2* ...
- Java实现缓存(类似于Redis)
Java实现缓存,类似于Redis的实现,可以缓存对象到内存中,提高访问效率.代码如下: import java.util.ArrayList; import java.util.HashMap; i ...
- javascript3
计算阶乘函数:<script> function factorial(n){ var product=1; while (n>1){ product*=n;//product=pro ...
- installshield制作的安装包卸载时提示重启动的原因以及解决办法
原文:installshield制作的安装包卸载时提示重启动的原因以及解决办法 有时候卸载installshield制作的安装包程序,卸载完会提示是否重启电脑以完成所有卸载,产生这个提示的常见原因有如 ...
- testNg自动化,读取excel的数据
自己写了一个testng执行excel用例的小程序,主要是运行.xlsx的,需要支持xls可以自己扩展,分享一下.下载地址:http://yun.baidu.com/share/link?sharei ...
- Python开发工具Wing IDE发布5.0.1版本
Wing IDE是一个跨平台的Python IDE,提供了一个专业代码编辑.自动编辑.自动完成.重构.强大的图形调试器.版本控制.单位测试.搜索及其他功能.目前已经成为最全面.最综合.最先进的智能化P ...
- leetcode第13题--Roman to Integer
Problem: Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range ...