300°

一、hadoop踩坑之分布式环境搭建

part0:

    中秋节前,有胖友搞了一套hadoop培训视频,所以就想自己先把集群搭起来,刚开始准备用自己的游戏本通过docker来搭建。但是其中遇到很多问题,最终卡在了docker之间ssh不通的问题上,再加上也不好随时随地远程,遂放弃。

part1:

    不充钱,你还想变强?

    国庆节后,果断在阿里云上充了五位数的钱,购买了三台ecs来搭建集群。工欲善其事必先利其器,充了钱果然不一样了,安装jdk什么的都很简单就不说了。那么第一个问题很快就来了,创建用户!!!

    对于一个使用ubuntu为开发机长达两年的linux假爱好者来说,创建用户还真没干过,我的电脑也用不着给别人用呀。useradd以后,发现切换用户后变成了奇奇怪怪的东西,命令提示也没有了,什么东西。哦,再google了一下,还需要添加解释程序,增加用户目录等

root@ubuntu:/home/peng# usermod -s /bin/bash csdn
root@ubuntu:/home/peng# usermod -d /home/csdn csdn

    用户算是创建好了,下来要搞一下ssh免密登录,问题又来了。生成秘钥,复制公钥,都是不行,折腾老半天,什么要更改.ssh权限等,都是ok的。无意中看到有人说用户目录要改成755,看了下果然不是。修改,成功。后来又遇到了slave机器不能写文件的问题,又折腾了半天,后来发现用户目录的所有权还是root,usermod -d 修改解决。

part2:

    开始进行hadoop的配置,主要参考博客 https://www.jianshu.com/p/18ded352cf40

    首先进行core-site.xml,hdfs-site.xml的配置。接下来配置yarn相关的,更改yarn-site.xml,mapred-site.xml相关的配置文件。一切搞定,很easy嘛,scp到slave节点上,启动dfs。jps一下,

5536 SecondaryNameNode
5317 NameNode

这两个怎么没有出来,搞个屁啊,再排查了一下,发现hdfs的fs.default.name属性没有配置正确。直接cv了,配置好以后。上传文件到hdfs,运行wordCount。

    wordCount这里卡了很久,每次启动到running job就卡住不往下执行,日志也不会看,搞了好久。搞着搞着,出去吃了个饭,回来ecs实例启动不起来了,搞事情啊!那怎么办,钱都充了,才用了一天。提工单,阿里的工程师给看到晚上十点,终于搞好了,网上五花八门的说法,改yarn-site.xml的配置,配置内存等。都一一更改后,还是没有解决。后来看slave yarn启动日志,发现它启动默认是8core,但是我作为一个穷逼,如果能买得起8core的ecs,还要在这里撸代码?于是在yarn-site.xml中,改成了2core。信心满满,然而并没有什么卵用,又看到说hosts文件不能有多余配置,算了,死马当作活马医,删除掉hosts里面多余配置,卧槽,还真的报出新的错误了。Name node is in safe mode,这个问题不大,用hadoop dfsadmin -safemode leave离开即可。

    继续,又出错,

Container killed by the ApplicationMaster.
Container killed on request. Exit code is 143
Container exited with a non-zero exit code 143

    stackoverflow上给出了解决方案。

<property>
   <name>yarn.nodemanager.vmem-check-enabled</name>
   <value>false</value>
   <description>Whether virtual memory limits will be enforced for containers</description>
</property>

<property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>4</value> <description>Ratio between virtual memory to physical memory when setting memory limits for containers</description> </property>

     在yarn-site.xml增加如下即可,终于跑起来了,不容易啊,一共花费了大约十个小时(从阿里云花的钱算出来的),不错不错。

本文由【v】发布于开源中国,原文链接:https://my.oschina.net/vqishiyu/blog/3115652

全部评论: 0

    我有话说: