文档章节

Hadoop启动不了Namenode进程,出现IllegalArgumentException异常

 天下杰论
发布于 2015/07/13 09:52
字数 799
阅读 639
收藏 2
这次的问题乍看起来很奇怪,在本机完成配置启动Hadoop的时候,首先,我们需要对namenode进行format,但是在执行了命令之后,却出现了如下的异常:FATAL namenode.NameNode: Exception in namenode join java.lang.IllegalArgumentException: URI has an authority component。别的不管,就冲着这个 authority,我义无反顾地在 format命令前加上了 sudo,结果发现…………木有起到半点作用。 那么,直接跳过format环节执行start-all呢?结果看起来有点神奇,几个进程居然还都跑起来了。不过明眼一看……怪了,唯独没有namenode进程(如下图所示)。通过namenode上50070端口的 Web UI也发现无法打开网页。于是查看namenode的log文件,发现又出现了上述的IllegalArgumentException异常;而在datanode的log文件里,也发现了一大串Retrying connect to server。嗯……好吧……看来得耗上了。 经过几番查找、尝试,终于发现了问题的原因。这个异常的出现主要与这么两个文件有关:core-site.xml和hdfs-site.xml。想必进行过Hadoop配置的人对这两个文件都有着很深的印象,而这两个文件中,与本问题关系最直接的就是这么几个Property: [html] view plaincopy在CODE上查看代码片派生到我的代码片 在core-site.xml里,我们配置了hadoop.tmp.dir属性,以我这里的配置为例:hadoop.tmp.dirfile:/home/hdusr/hadoop-2.2.0/tmp/[html] view plaincopy在CODE上查看代码片派生到我的代码片 在hdfs-site.xml里,我们通过如下的方式使用了hadoop.tmp.dir的属性值(以下的写法也是Hadoop 2.2中hdfs-site的默认配置值):dfs.namenode.name.dirfile://${hadoop.tmp.dir}/dfs/namedfs.datanode.data.dirfile://${hadoop.tmp.dir}/dfs/data这样的配置看似没有什么大的问题,而且还包含着${hadoop.tmp.dir}这种高端大气上档次的灵活性写法。但问题就出在了这里,经过实际操作确认,如果我们用这种变量式的方法对hdfs-site文件中的属性进行配置就会出现关于URI的权限问题。个人猜测可能因为Hadoop安装在hdusr目录,所以启动hadoop服务过程中,对hdfs-site文件进行载入时,解析变量式配置信息的中间过程遇到了权限问题(在下对Linux实在是菜鸟中的菜鸟,止步于此,不敢多加妄言)。。 总而言之,IllegalArgumentException出现在本人的这种配置情况中时,可以通过把hdfs-site.xml修改为如下形式解决。 [html] view plaincopy在CODE上查看代码片派生到我的代码片 为了解决这个出现的异常,我们把hdfs-site.xml中的以下两个属性修改为:dfs.namenode.name.dirfile:/home/hdusr/hadoop-2.2.0/tmp/dfs/name(即使用完整的绝对地址)dfs.datanode.data.dirfile:/home/hdusr/hadoop-2.2.0/tmp/dfs/name(即使用完整的绝对地址)进过对hdfs-site.xml文件的修改后,终于……namenode成功格式化,并且也能够正常启动Hadoop服务,启动后的进程显示见下图。 以上只是本人作为菜鸟的一些不成熟的见解,所言不实之处还请见谅,望各位高人指点,感激不尽。

本文转载自:http://blog.csdn.net/haixzzy/article/details/17241381

粉丝 54
博文 450
码字总数 24615
作品 0
沈阳
项目经理
私信 提问
Hadoop集群中DataNode启动不了问题处理

在启动Hadoop集群时,往往会出现这样或那样的问题,比如节点中DataNode进程启动不了,很是让人头疼,下面说下具体的解决办法(复杂版),简单版见最后: (1)停止关于Hadoop的所有进程 (2...

海岸线的曙光
2018/06/26
0
2
大数据之---hadoop问题排查汇总终极篇---持续更新中

1、软件环境 本次涉及伪分布式部署只是要主机hadoop1 2、启动密钥互信问题 HDFS启动 [hadoop@hadoop01 hadoop]$ ./sbin/start-dfs.sh Starting namenodes on [hadoop01] The authenticity of...

ycwyong
2018/05/17
0
0
centOS安装hadoop、编写wordCount小程序

hadoop依赖1.7+的jdk 如果是3.0+版本的hadoop依赖1.8+的idk,安装jdk 配置SSH 配置haddop环境变量 配置hadoopjdk环境 修改hadoop-env.sh 接下来需要配置四个配置文件(1,2为hdfs相关 3,4为y...

garwer
2018/05/09
0
0
【Hadoop】- Hadoop异常处理

异常1:~~~2016-12-31 22:39:45,304 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: NameNode/192.168.174.128:9090. Already tried 9 time(s).2016-12-31 22:39:46,314 ......

ZeroneLove
02/24
0
0
Hadoop启动和停止脚本解释

start-all.sh 启动所有的Hadoop守护进程。包括NameNode、 Secondary NameNode、DataNode、JobTracker、 TaskTrack stop-all.sh 停止所有的Hadoop守护进程。包括NameNode、 Secondary NameNo...

593653868
2016/10/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

AOP的学习(1)

AOP 理解AOP编程思想(面向方法、面向切面) spring AOP的概念 方面 -- 功能 目标 -- 原有方法 通知 -- 对原有方法增强的方法 连接点 -- 可以用来连接通知的地方(方法) 切入点 -- 将用来插入...

太猪-YJ
32分钟前
2
0
一张图看懂亮度、明度、光度、光亮度、明亮度

亮度、明度、光亮度,Luminance和Brightness、lightness其实都是一个意思,只是起名字太难了。 提出一个颜色模型后,由于明度的取值与别人的不同,为了表示区别所以就另想一个词而已。 因此在...

linsk1998
昨天
5
0
Python应用:python链表示例

前言 python链表应用源码示例,需要用到python os模块方法、函数和类的应用。 首先,先简单的来了解下什么是链表?链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是...

python小白1
昨天
3
0
Source Insight加载源码

Source Insight是一个图形化的源代码查看工具(当然也可以作为编译工具)。如果一个项目的源代码较多,此工具可以很方便地查找到源代码自建的依赖关系。 1.创建工程 下图为Snort源代码的文件...

天王盖地虎626
昨天
3
0
nginx-rtmp-module的缺陷分析(二)

nginx-rtmp-module使用指令push和pull来relay媒体流数据,以便分布式部署服务。 当nginx-rtmp-module作为边缘服务器(一般不会向边缘服务器推流)时,使用pull从源服务器获取媒体流数据,俗称...

YoungSagit
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部