hadoop HA 搭建(继续之前的博客----hadoop伪分布式搭建采坑过程)

   之前因为在搭建的过程中才想到搭个HA 模式的环境,所以才搭建了zookeeper(前面的文章写了一些重点但是没有写具体的步骤,因为网上的博客太多了,我只写了我遇到的问题和解决办法。大家伙儿可以参考下我遇到的问题~~)。
  好的 咱们继续。
  这篇还是讲下我遇到的问题,和解决办法。
  首先 磨了我N久的格式化NameNode后启动hdfs报 各种CLUSTID不一致的错误。大家一定要记得删干净hadoop的相关目录,请参考 hdfs-site.xml 和 core-site.xml 这里面的配置(namenode和datanode),还有就是我在删了之后再格式化namenode,发现还是起不来,看日志(一定要养成看日志的习惯!!问题基本上都在里面说清楚了)后才发现原来格式化主节点的namenode之后启动集群时datanode的数据目录没有创建,所以自己屁颠屁颠的创建完,然后再继续启动,接下来就是下一个问题了,如图:

在这里插入图片描述
在zk中没有创建hadoop的节点!!
没有创建节点~~~,

执行 bin/hdfs zkfc -formatZK ,就可以发现zkfc也起来了。
在这里插入图片描述
在这里插入图片描述
一看界面节点也是active之后就放心了,接下来就是start-all 了。再看看会报什么错,先直接去yarn界面看看
在这里插入图片描述
居然没有扫到节点??我们去看下日志
结果并没有发现报错。。日,不死心。打算跑个hadoop自带的例子。于是上传个文件
在这里插入图片描述
打算运行下wordcount 例子
在这里插入图片描述
在这里插入图片描述
这个mr 的job id是有的,所以我觉得可能是yarn-site.xml、mapred-site.xml 没配置好。因此去百度下。找了很久也没什么眉目,索性看看内存才发现卧槽。看来要加点内存了给虚拟机。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重启后看到activenode 3个 我就放心了下来。。。
在这里插入图片描述
但是运行后报
在这里插入图片描述
各种找问题,没找出来。

。。。过了一夜,继续改改调调yarn-site 和 mapred-site 然后在运行
报错不一样了
这里显示mapred-site的参数> yarn-site的参数了,这下找到后去改一改。

找了下其他兄弟的资料
3.1 与 memery 相关的配置
yarn.nodemanager.resource.memery-mb : 重要
指定NodeManager(NM)可用的内存大小,NM是yarn中的一个组件,是一个Jave服务。这内存值是指NM管理的,用于AppMaster和Map Task 和 Reduce Task 可申请的内存数目。这里主要考虑和Linux系统的协调,避免设置过大被Linux的(Out of Memary Killer)OOMK 杀掉。例如2G的内存,设置为1200(1.2G)是可行的。
默认配置被设置为8G,Hadoop就任务NM上就有8G的内存,因此当运行内存过大时,就有可能被linux被OOMK终结。
yarn.scheduler.minimum-allocation-mb:
单个任务(每个Container)可申请最少内存,默认1024MB , 就是单个任务要申请的资源的话,ResourceManager(RM)会至少给你分配的内存数,即使你申请了1MB,也会派给你1024MB,因此这个地方需要根据机器配置和作业需求提前配置。
yarn.scheduler.increment-allocation-mb
当一个Container拿到的最小内存不足以运行时,他可以申请内存递增,这个配置是配的递增的幅度。
yarn.scheduler.maximum-allocation-mb
每个Container最多拿到的内存的数量,这里设置的是一个上限,Container申请资源时可递增直到满足运行需求,但是如果到了上限,就不能递增了。
例:

若yarn.scheduler.minimum-allocation-mb是50,yarn.scheduler.increment-allocation-mb是40,当申请60mb的时候,实际申请是80(50 < 60 < 40 * 2 ),当申请30mb的时候,实际是50(30 < 50,就是小于min)。

mapreduce.map.memory.mb、mapreduce.map.cpu.vcores、
mapreduce.reduce.memory.mb、mapreduce.reduce.cpu.vcores
配置每个map 和 reduce 最多可以申请的内存和cpu数量
如果是单机情况,这里的资源和MR AppMaster 时共存和竞争关系,且都应在yarn.scheduler.minimum-allocation-mb之下,MR AppMaster启动成功后,剩下的资源才用于map、reduce task。
默认情况下,yarn.app.mapreduce.am.resource.mb是2G,因此这里必须配置,需要少于yarn.scheduler.minimum-allocation-mb的配置,这样才能成功启动。

作者:Mr_Hagrid
来源:CSDN
原文:https://blog.csdn.net/xuxiuning/article/details/51074127
版权声明:本文为博主原创文章,转载请附上博文链接!

经过翻翻书百度找了找资料,问题搞定了。其实是有部分原因是内存没配置好,还有mapred-site.xml 的参数小了 如下:
改成512 成功运行自带demo

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值