0、优化:http://dongxicheng.org/mapreduce/hadoop-optimization-0/

http://dongxicheng.org/mapreduce/hadoop-optimization-1/

1、各个节点的配置文件的内容要一致:core|hdfs|mapred|yarn-site.xml。修改一个的节点的配置文件内容后,集群中所有的节点要同步修改,报错的原因大部分是由于节点之间配置文件不一致导致!

2、修改完配置文件后要重启hdfs或yarn服务。

3、有时会碰到修改配置文件后,重启hadoop的服务后,跑程序仍然会出错的问题,要先查一下添加的<name>xxx</name>有没有拼写错误,如果没有错误,就关闭服务然后重新启动集群(如果还报错,建议重启主机)。

4、各个节点的VERSION的clusterid要一致,否则会导致datanode自动关闭(删除VERSION或将各个节点的clusterid改成一致)。

5、经常备份集群可以正常运行的配置文件。

6、yarn运行程序是提示running in uber mode : false。uber mode是Hadoop的小作业模式, 数据量小非常节约时间。可以设置 mapreduce.job.ubertask.enable=true生效

7、为了避免出现{WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable}这种错误,尽量应该安装64位的操作系统,否则就需要自己编译hadoop源码进行安装,比较麻烦。

8、在YARN启动mapreduce程序后,会在datanode上生成YarnChild,这个就是Container。

9、ssh输入正确密码还会denied,需要修改.ssh父目录的权限值,chmod 755 /hadoop

10、namenode无法启动(hadoop namenode异常)当查看 hadoop-hadoop-namenode-namenode.log产生报错

错误信息:

2016-09-20 11:48:52,409 WARN org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Encountered exception loading fsimage
java.io.IOException: There appears to be a gap in the edit log.  We expected txid 2289, but got txid 2859.
        at org.apache.hadoop.hdfs.server.namenode.MetaRecoveryContext.editLogLoaderPrompt(MetaRecoveryContext.java:94)
        at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadEditRecords(FSEditLogLoader.java:215)
        at org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader.loadFSEdits(FSEditLogLoader.java:143)

..................

原因是namenode元数据被破坏了,需要修复

输入命令:hadoop namenode -recover

全都选择‘y'或  ‘c’ 即可。修复完毕后需要将各个datanode的current中的VERSION同步。可以备份current文件,然后在namenode上start-dfs.sh。如果不做这一步会导致datanode无法启动。

另外的方法:或许可以修改current下面 seen_txtid中的值?就不用全部删除{

怀疑是 NameNode 对元数据的合并出了问题, 删除报错开始 的 edits 文件 ,修改 seen_txid 中的 txid 编号;

启动 NN 成功,主备NN 均启动成功。

}

11、mapred.child.java.opts:当需要处理超大数据(mapper大于10?)最好将值设置成-Xmx1024m或者更高(-Xmx2048m)才能避免出现“核心已转储”这种jvm内存溢出的错误!!

待续...

hadoop运维经验的更多相关文章

  1. JStorm开发经验+运维经验总结

    1.开发经验总结  ——12 Sep 2014 · 8 revisions 在jstorm中, spout中nextTuple和ack/fail运行在不同的线程中, 从而鼓励用户在nextTuple里 ...

  2. Elasticsearch运维经验总结

    Elasticsearch运维经验总结 2018年12月10日 16:38:41 运小白 阅读数 3811   版本说明:5.6.4(要严格注意ES及其插件.第三方工具的版本匹配关系) 系统负载:(日 ...

  3. HBase运维经验

    http://www.qconbeijing.com/download/Nicolas.pdf 重点看了下facebook做了哪些改进以及他们的运维经验,比较重要的有以下几点: 改进: 1 加强了行级 ...

  4. 一个兼职DBA的数据库运维经验 小米科技 xx@xiaomi.com 2011

    一个兼职DBA的数据库运维经验 小米科技  xx@xiaomi.com 2011 内存扩容 16G->64G ,调大bp后,凌晨说监控物理内存有余量情况下,开吃swap,内存泄露措施1  定时 ...

  5. Hadoop运维记录系列

    http://slaytanic.blog.51cto.com/2057708/1038676 Hadoop运维记录系列(一) Hadoop运维记录系列(二) Hadoop运维记录系列(三) Hado ...

  6. ZooKeeper 运维经验

    转自:http://www.juvenxu.com/2015/03/20/experiences-on-zookeeper-ops/ ZooKeeper 运维经验 ZooKeeper 是分布式环境下非 ...

  7. Hadoop运维

    简单记录几个hdfs的运维命令 //查看hdfs的状态,是否有missing block,corrupt block等,也可以看datanode的状态 hdfs dfsadmin -report // ...

  8. [转载] 多年积累的 mysql 运维经验

    原文: http://mp.weixin.qq.com/s?__biz=MzA3MzYwNjQ3NA==&mid=207132223&idx=1&sn=f5d98146f282 ...

  9. Zookeeper运维经验

    转自:http://www.juvenxu.com/2015/03/20/experiences-on-zookeeper-ops/ ZooKeeper 是分布式环境下非常重要的一个中间件,可以完成动 ...

随机推荐

  1. NeuSoft(2)添加系统调用

    1.下载内核 apt-get install linux-source 在/usr/src下 2.解压内核 cd /usr/src tar -jxvf linux-source-3.2.0.tar.b ...

  2. 重新启动 Apache 以加载上面安装的模块

    尽管Ubuntu 是一种新兴的Linux分支,但Ubuntu 组织却为Apache提供了丰富的支持软件,这些软件都可以从发行版的光盘获取,也可以从官方站点轻松下载.所以,Ubuntu非常适合作为Web ...

  3. PowerDesigner 15.2入门学习 二

    PowerDesigner中如何生成主键和自增列 1.SQL Server版本: 第一步,首先要建立与数据库的连接,方法较多,这里举个例子: http://www.cnblogs.com/netsql ...

  4. 使用 Git@OSC 管理代码

    开源中国的 git 服务的地址是:http://git.oschina.net/ 以下记录 push 本地已有的项目至 git@osc 的过程. ① 注册登录之后,创建一个自己的项目: 创建好的默认项 ...

  5. dom4j微信接口开发

    新建一个web项目,我用的是eclipse和tomcat7.0 ,外网环境用的nat123 先建立一个实体bean:TextMessage /** * xml基本对象 * @author xiaohu ...

  6. NSMutableAttributedString可变属性字符串的用法

    适用于:当你想对一个字符串中的某几个字符更改颜色,字体... NSString *string = @"今日营养配餐提供热量1800千卡,需要饮食之外额外补充钙10mg,铁20mg,锌9.5 ...

  7. oracle从零开始学习笔记

    查询现有数据库:select name from V$database; 解锁用户scott:alter user scott account unlock; 普通用户连接:conn scott 默认 ...

  8. spring记录

    context:property-placeholder 是将properties加载到Spring上下文中,接下来在定义bean的时候就能用${xx.xx}来访问了. util:properties ...

  9. Android-Activity使用(2)

    接着Android-Activity使用(1)实现页面跳转 一.在main_activity中添加按钮,注意 id的写法为"@+id/"+"id真正的名字" & ...

  10. Access项目文件的版本控制

    简单记录一下使用MS Access SVN(以下简称AccessSVN)的步骤吧. AccessSVN在http://accesssvn.codeplex.com/,该产品的目的是:Access SV ...