Hadoop集群配置问题

      师兄给十二台服务器搭建了hadoop平台,10.*.*.33 - 10.*.*.44, 其中33为namenode, 作为master,其他11台都是slaves。

      所有的配置,包括hadoop-env.sh,  hdfs-site.xml,  mapred-site.xml,  masters,  slaves,  core-site.xml都没有问题,可是进入bin,./start-all.sh之后,mapreduce部分是运行正常的,即通过浏览器http://10.*.*.33:50030/jobtracker.jsp是成功的,可是50070却失败(dfs部分没有成功,http://10.*.*.33:50070/dfshealth.jsp访问失败)。

      找到logs目录下的hadoop-***-namenode-***-33.log,里面显示出错,我一共遇到了两个错误,我一直改来改去,十二台机器一起改,耗了我一个通宵,最后还是除掉了问题,算是没有白花力气,总结问题如下:

       1. 在hdfs-site.xml里

          <name>dfs.name.dir</name>

          <value>/home/cadal/data/hadoop/cluster/name</value>

          为namenode配置的路径,一定要保证/home/cadal/data/hadoop文件夹下的所有文件的用户和组别都不能是root!比如我的用户名是cadal,组别是cadal,就要用命令改变hadoop文件夹内所有子文件夹都是cadal/cadal:

sudo chown -R cadal hadoop
sudo chgrp -R cadal hadoop

        2. 以上这步是为了在/bin下面做./hadoop namenode -format,可以尝试一下,如果在这里命令前面加sudo是不允许的,这应该就是为什么/home/cadal/data/hadoop不能是root组别和root用户的原因。

            继续说,在/bin下,每次./start-all.sh或者.start-dfs.sh和stop操作的时候,都要做./hadoop namenode -format,而往往data format会失败,记住,如果没有执行成功的时候,一定要去/home/cadal/data/hadoop/cluster/name下,执行

sudo rm -rf name

把已有name删除,再回到/bin下执行

./hadoop namenode -format

换句话说,也许你没有看到./hadoop namenode -format执行失败的提示(没有出现successfully这个词),http://10.*.*.33:50070/dfshealth.jsp访问依然失败,你就会去/logs的

hadoop-***-namenode-***-33.log查到

java.io.IOException: NameNode is not formatted.

或者别的类似的错误,比如我在更改root/root之前,一直遇到的

Directory /home/cadal/data/hadoop/cluster/name is in an inconsistant state: storage directory does not exist or is not accessible.

归根到底原因都是./hadoop namenode -format执行失败,为什么失败?

a. /home/cadal/data/hadoop文件夹下的文件的用户和组别是root

b. 执行前没有去删除/home/cadal/data/hadoop/cluster/name

时间: 2024-11-08 20:08:16

Hadoop集群配置问题的相关文章

Hadoop集群中hosts文件配置问题

最近一直在做hadoop的应用,但是无奈于并行加速比一直不理想,两台机器运行的时间和一台机器运行的时间差不多,老师还一直要这个数据,并行计算比至少应该为1.5,这样的并行程序才有意义. 加了个qq群,发现了问题所在,再说我解决方法之前,先说一下我hadoop集群的配置: 2台笔记本,其中1台为lenovo z460,CPU为Core i3,主机名为:liujiacai-Ideapad-Z460:另一台是Acer  Aspire 4743 CPU为奔腾P6200,主机名为:liujiacai-As

手动安装Hadoop集群的过程

最近又安装 Hadoop 集群,由于一些原因,没有使用 Hadoop 管理工具或者自动化安装脚本来安装集群,而是手动一步步的来安装,本篇文章主要是记录我手动安装 Hadoop 集群的过程,给大家做个参考. 这里所说的手动安装,是指一步步的通过脚本来安装集群,并不是使用一键安装脚本或者一些管理界面来安装. 开始之前,还是说明一下环境: 操作系统:CentOs6.4 CDH版本:4.7.0 节点数:4个 在开始之前,你可以看看我以前写的一篇文章 使用yum安装CDH Hadoop集群,因为有些细节已

Ubuntu12.04 Server下安装部署Cloudera Hadoop集群

部署环境 OS: Ubuntu12.04 Server Hadoop:CDH3U6 机器列表:namenode 192.168.71.46:datanode 192.168.71.202,192.168.71.203,192.168.71.204 安装Hadoop 添加软件源 /etc/apt/sources.list.d/cloudera-3u6.list 插入 deb  http://192.168.52.100/hadoop maverick-cdh3 contrib deb-src  h

如何删除恢复Hadoop集群中的DataNode

有时候因为做临时调整可能需要删除hadoop集群中的DataNode,具体方法如下: 首先在/etc/hadoop/conf/dfs.exclude 中添加要删除节点的机器名 在控制台页面中看见显示了一个Dead  Datanodes 使用命令刷新节点信息: [hdfs@hmc ~]$ hadoop dfsadmin -refreshNodes 查看hdfs的使用报告:[hdfs@hmc ~]$ hadoop dfsadmin -report  红色字体状态表示节点退出 Name: 192.16

大数据虚拟化零起点(六) 使用CLI创建Apache Hadoop集群

在大数据虚拟化基础运维第五步创建Hadoop集群开始之前,我想先说明,这里我不通过BDE提供的可视化界面来创建集群.原因是,我们之前部署好的vApp包括BDE管理服务器,是通过虚机的方式在运行.此时,它还没能跟vSphereWeb Client进行绑定,从而暂时无法交付可视化管理界面.在之后的博客文章里,我将介绍如何交付可视化界面. 但大家不要担心,BDE管理服务器自身已经提供了完备的对外服务接口(RestAPI),用户只需通过命令行(CLI)的方法操控它,就能开始对Hadoop集群进行快速部署

虚拟化Hadoop集群的部署和管理:基本操作

在Big Data Extensions(BDE)上不仅可以在分钟级别非常快速地部署Hadoop集群,这点可以通过前文<大数据虚拟化零起点-6基础运维第五步-使用CLI创建Apache Hadoop集群>和<大数据虚拟化零起点-7基础运维第六步-安装Big Data Extensions Plugin>感受到.部署完成后,BDE还能够方便地管理它们,从软件定义的角度,通过简单的图形界面和直观的命令行两种方法对集群的对象进行管理.下面我们就具体展开,讨论这些日常所需的集群运行管理.

Hadoop集群运行JNI程序

  要在Hadoop集群运行上运行JNI程序,首先要在单机上调试程序直到可以正确运行JNI程序,之后移植到Hadoop集群就是水到渠成的事情. Hadoop运行程序的方式是通过jar包,所以我们需要将所有的class文件打包成jar包.在打包的过程中,无需将动态链接库包含进去. 在集群中运行程序之前,Hadoop会首先将jar包传递到所有的节点,然后启动运行.我们可以在这个阶段将动态链接库作为附件和jar包同时传递到所有的节点.方法就是给jar命令指定-files参数.命令如下: hadoop

【Big Data】HADOOP集群的配置(一)

                       Hadoop集群的配置(一) 1.    实验准备 1.1    目的: 在虚拟机环境下,让同学们学会从零开始配置Hadoop-2.2集群,并尝试在真实环境下搭建集群. 1.2    主要内容: 物理机器总共4台,想配置基于物理机的Hadoop集群中包括4个节点: 1 个 Master, 3个 Salve ,节点之间局域网连接,可以相互 ping通.IP的分布如表1所示.             表1        4个节点的IP地址分配及角色 Ma

hadoop集群搭建完成,其他进程都启动了,但是namenode没有启动,查看日志,报错了

问题描述 hadoop集群搭建完成,其他进程都启动了,但是namenode没有启动,查看日志,报错了 hadoop集群搭建完成,其他进程都启动了,但是namenode没有启动,查看namenode的日志信息,报错了, 192.168.100.70:8485: Call From anlulu-1/192.168.100.10 to anlulu-7:8485 failed on connection exception: java.net.ConnectException: 拒绝连接; For