您的位置:首页 > 运维架构

配置hadoop过程中的一些问题

2014-01-22 16:12 134 查看
花了好几天的时间,终于把hadoop的环境配置好了,其中遇到不少问题,在这里整理一下。(单击模式+伪分布模式)

一、关于hadoop版本问题

首先是hadoop版本问题,一进入hadoop官网下载我就蒙了,这么多版本,1.0.X,0.23.XX等等,完全搞不懂是什么意思。然后看一下官方的说明:

apache hadoop官方给出的版本说明是:

1.0.X - current stable version, 1.0 release

1.1.X - current beta version, 1.1 release

2.X.X - current alpha version

0.23.X - simmilar to 2.X.X but missing NN HA.

0.22.X - does not include security

0.20.203.X - old legacy stable version

0.20.X - old legacy version

又在网上查了点资料,http://www.cnblogs.com/xuxm2007/archive/2013/04/04/2999741.html,这里边有着详细的介绍,于是下了1.0.2,配合着一篇教程,用的是1.0.2http://blog.csdn.net/hitwengqi/article/details/8008203

二、关于配置ssh服务

虽然说在整个配置过程中没出现身么问题,但自己对hadoop还属于一知半解的状态,对于为什么要求配置ssh服务,甚至连ssh服务是什么都搞不清楚。出于不懂就要问的求知心态,我还是查了一下关于ssh服务的资料。

百度知道有一个介绍:
传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的,就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。所谓“中间人”的攻击方式,就是“中间人”冒充真正的服务器接收你的传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题。

SSH的英文全称是Secure SHell。通过使用SSH,你可以把所有传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的“通道”。

介绍来来自于百度知道:http://zhidao.baidu.com/link?url=0OuTWgV96kQZvkj4P6IVq7IQjtuXgDqlgs5Pfw_vBsaT4TiZqnCCWwL3z9pMBIEM_6Ov4AeuZI0Qfy0Ol0oBz_

至于为什么要配置ssh服务,想想看hadoop是一种分布式的架构,自然需要跟不同的机器通信。仅此而已。

[b]三、关于用户权限的问题[/b]

因为是初次接触ubuntu,所以有很多问题不是很明了。其实一直都搞不懂教程里为何要添加hadoop用户组和hadoop用户。从网上也没有找到答案。后来对比其他发现并不是所有教程都要求这一步。自己猜测大概是为了方便吧,因为配置hadoop要hadoop文件内全部的权限,所以单独产生一个用户来进行专门的管理。这也只是猜测罢了,以后还学要进一步了解。

[b]四、关于hadoop内大小写问题[/b]

在环境都配置好后,开始启动hadoop时却又出现了问题。在对namenode进行格式化后,start-all.sh后namenode 和jobtracker始终无法启动。网上的方法都式了一遍都不成功,先是将hadoop的tmp文件夹删了重建,同样把hdfs也删了重建,然后重新格式化,jps一下发现还没有启动。后来听讲有可能在配置的端口被占用了,9000,9001等等那些端口。可是一个端口一个端口查了下发现没有被占用的。头都大了。还有人讲需要将配置里指定的那些个目录删除掉,不然影响到格式化,然而内删了后问题更多了。没办法,开始学着看看日志。在logs里发现每次namenode启动失败的原因都是未格式化。好吧,是格式化失败了,然后观察了一下格式化的过程,发现了这么一句

Format aborted in ...

格式化被取消?!这是什么情况?又在网上寻觅了好久,终于发现这个http://stackoverflow.com/questions/14738465/hadoop-format-aborted-in-mnt-hdfs-1-namenode

“Unfortunately in 1.x the format command's prompt is case-sensitive. Answer with a capital Y instead and it won't abort.”一句话解决了困扰我多年的问题,原来hadoop命令里边是区分大小写的!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: