关于hadoop平台搭建的一些常见问题总结

刚开始团队搞hadoop遇到问题不断,现在把当初的一些总结分享一下。

首先自然要从搭建平台开始,说实话当初自己搞得时候光弄这个平台就搞了半天,也确实是个麻烦的事情,从刚开始的只会按照教程搭建到现在的已经可以熟练的搭建一个平台,说实话,没有把这玩意搭个十几二十遍,没有把其中的每一个步骤都搞清楚,没有深入研究过hadoop的运行机制,还真玩不转。中间团队搭建的时候真的是各种搭建各种问题,下面就先总结以下部分。

一.首先搭建hadoop我分为这么几个步骤:(所有问题都以hadoop0.20.2版本为例)

 1.安装linux环境

2.创建hadoop用户组和hadoop用户(这步也可以省略,当然是为了以后跑集群方便) 

3.安装jdk 

4.安装ssh服务 

5.安装hadoop

其中,我认为容易卡住的几个部分是第一,第三,就是安装linux和安装jdk的时候,首先我们为了以后跑集群比较方便,就用的是双系统装Ubuntu,当初装这个双系统搞得问题百出。 1.Ubuntu有个最简单的wubi安装,就是像安装软件一样一键安装,一键卸载,但是这种方法经团队验证存在众多缺陷,经常死机,只适合体验不适合开发更不适合跑集群,所以还是建议大家安装真正的双系统。

2.安装双系统的方法有很多,我就不一一介绍了,而且也介绍不完毕竟不是专门研究这个的,我们集体用的是window7下的硬盘安装,http://www.linuxidc.com/Linux/2013-10/91565.htm 这里是我们用的安装教程。如果只是用来开发的话我建议还是只要虚拟机的好,毕竟不会出那么多问题而且操作简单,内存2G以下的还是直接用虚拟机吧双系统跑不动的。

3. 安装好之后大家几个常识要注意下,第一就是用户组名,用户名,主机名的区别,用户组的是自己添加的,这里添加hadoop用户组是为了以后跑集群更好的区分,用户名就像root用户一样是可以设置权限等的用户,一个用户组可以有许多个用户。主机名是跑集群的时候用的,主机名和IP地址是对应的,不清楚自己ip地址的可以用ifconfig指令来查看自己的ip地址。

4.很多人对Ubuntu的依赖关系不明白什么意思,这么说吧典型的windows软件A,其需要辅助软件B才能运行,所以安装包就自带B。如果N个软件需要B,那么你的电脑可能就有N个B软件。典型的linux软件A,其需要辅助软件B,它不自带,而是公用系统已有的(如果没有就要安装)。如果N个软件需要B,那么只需要一个就够了,所以才要包管理来为你自动解决这些关系

二.然后说说安装jdk的问题 

 1.首先我们用的是Ubuntu版本的Linux系统,Ubuntu自带会配置好jdk,没有的话可以输入指令 apt-get install sun-java6-jdk 来安装,默认路径是/etc/lib/jvm目录下。不过这种方法获得的jdk可能不是你想要的,你也可以自己去www.oracle.com官网下载jdk(java原先是sun公司的产品,但是sun被oracle收购了),最新的是jdk8的,jdk6的好像已经被归档了。但是你直接在搜索栏输入你要的jdk版本比如jdk-6u5-linux-i586.bin就能找到。 

 2.这里大家可能会遇到后缀名的问题,就是.rmp.bin和.bin的问题,这么说吧,例如jdk-1_5_0_16-linux-i586-rpm.bin 运行后会解压出来一个rpm包,可用rpm -iUh命令安装。 jdk-1_5_0_16-linux-i586.bin 运行后会直接把所有文件解压到当前目录的jdk子目录下。 所以建议大家还是直接下载.bin的文件,记得jdk一定要是Linux下的才行。

3.在linux下安装jdk的方法其实很简单,首先解压,然后修改/etc/profile下的jdk路径,最后用指令 java -version检验安装是否成功就行,其中注意的几点,首先解压时会遇到权限问题,比如你解压jdk-6u5-linux-i586.bin,先输入chmod +x jdk-6u5-linux-i586.bin给所有用户可执行权限,之后输入指令./jdk-6u5-linux-i586.bin就可以解压成功了。 

 4.解压的时候还有可能出现这样的问题.:./jdk-6u30-linux-i586.bin: 113: ./install.sfx.3631: not found。Failed to extract the files. Please refer to the Troubleshooting section ofthe Installation Instructions on the download page for more information这是机器字长和jdk版本不匹配导致的,我的机子如果是64位的系统,然而选择了i586的jdk。就会出现问题,可以在Ubuntu输入指令 sudo uname -a来查看自Ubuntu的位数。 三.关于安装hadoop时候的一些问题 这个就有的说了,很多人安装过程中只是按照教程来安装,不知道其中的一些步骤是什么意思,甚至很多都是照搬,连主机名都没有改。安装hadoop大概分为这么几步:1.解压hadoop安装包2.配置conf文件夹的配置文件(这个仅在hadoop0.20.2版本下讨论,之后版本文件的安装目录有修改)3.格式化HDFS4.启动脚本。

5.用jps指令和浏览器查看进程是否运行。 这里出问题的一般是在第二步和第五步,第二步很多人没弄懂每个配置文件配置的东西,只是复制,很容易出错,第五步经常会少了几个进程。 (1)配置文件的问题:这个问题比较多很多人没弄懂这些配置文件具体是干嘛的,内容比较多就不在这里详细叙述,我们会另外弄一篇博客来介绍。 (2)安装hadoop的时候先是解压安装包,这里我们以hadoop0.20.2.tar.gz版本为例,解压之后会出现一个hadoop0.20.2的文件夹,我们为了方便以后终端打开,把这个文件夹改名下,就改成hadoop,指令是 sudo mv hadoop0.20.2 hadoop (3)很多人在后面的安装和运行中都会出现权限问题,就像运行脚本start-all.sh的时候总会出现权限不够的问题,必须要切换到root用户才能运行,这里我们可以用这个指令 sudo chown -R 用户名:用户组名 文件夹名 这个指令的意思是把一个文件夹的所有者换成指定的用户,这样我们就可以用当前用户来对hadoop文件夹进行操作了。 (4)之后就是进入conf文件夹来配置hadoop的配置文件了,这里问题比较多,我们另出一篇博客来叙述。 (5)配置完配置文件之后就可以启动进程看看hadoop环境搭建好了没有了。首先就是要先格式化,这个格式化的问题也让我们团队出了许多问题: 1.格式化的指令是 bin/hadoop namenode -format 这个指令是bin目录下hadoop脚本中设置的。 2.格式化是格式hdfs,所以最重要的是格式conf/hdfs-site.xml 配置文件中的dfs.name.dir和dfs.data.dir这两个配置文件中设置的文件夹,每格式化一次,都会生成一个namenodeID,存在dfs.data.dir中设置的文件夹中的current文件夹中的VERSION文件中。 3.有时候刚开机的时候格式化不成功,是因为那时候HDFS有个安全时间,这个是hdfs的安全机制决定的,这段时间是hdfs来验证备份blocks是否达到阀值的时间,只有过了这个时间才能进行格式化。 (6)格式化之后就是启动进程了,直接进入bin目录,输入指令./start-all.sh启动脚本就行,之后用jps指令,一般会出现5或6个进程。

这时候一般会出现这么几个问题:

1.输入jps指令的时候显示指令无效,这是因为jps指令不是linux下的指令,是jdk目录中的bin目录下的指令,用来查看java进程,无效的话可以去看看此目录下有没有jps指令脚本,没有的话就代表你当前安装的jdk没有这个指令,有时候有jdk指令但是依旧无效,这时候你可以编辑 /etc/profile文件,将jdk的bin目录加到PATH这个环境变量里,再source /etc/profile以后就能直接执行jps了。

2.Namenode进程没启动,一般是因为你没有格式化,这时候一般再格式化一遍就可以了。

3.Datenode没有启动,这第一可能是因为多次格式化的问题,这是因为每次格式化的时候会重新创建一个NamenodeID,而/tmp/dfs/data下包含了上次格式化的NamenodeID,hadoop namenode –format会清空namenode下的数据,但是不能同时清空datanode的数据,所以格式化前,先将所有的tmp清空。第二可能是没有网络的原因导致datanode没有连接上。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容