hadoop运维经验
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运维经验的更多相关文章
- JStorm开发经验+运维经验总结
1.开发经验总结 ——12 Sep 2014 · 8 revisions 在jstorm中, spout中nextTuple和ack/fail运行在不同的线程中, 从而鼓励用户在nextTuple里 ...
- Elasticsearch运维经验总结
Elasticsearch运维经验总结 2018年12月10日 16:38:41 运小白 阅读数 3811 版本说明:5.6.4(要严格注意ES及其插件.第三方工具的版本匹配关系) 系统负载:(日 ...
- HBase运维经验
http://www.qconbeijing.com/download/Nicolas.pdf 重点看了下facebook做了哪些改进以及他们的运维经验,比较重要的有以下几点: 改进: 1 加强了行级 ...
- 一个兼职DBA的数据库运维经验 小米科技 xx@xiaomi.com 2011
一个兼职DBA的数据库运维经验 小米科技 xx@xiaomi.com 2011 内存扩容 16G->64G ,调大bp后,凌晨说监控物理内存有余量情况下,开吃swap,内存泄露措施1 定时 ...
- Hadoop运维记录系列
http://slaytanic.blog.51cto.com/2057708/1038676 Hadoop运维记录系列(一) Hadoop运维记录系列(二) Hadoop运维记录系列(三) Hado ...
- ZooKeeper 运维经验
转自:http://www.juvenxu.com/2015/03/20/experiences-on-zookeeper-ops/ ZooKeeper 运维经验 ZooKeeper 是分布式环境下非 ...
- Hadoop运维
简单记录几个hdfs的运维命令 //查看hdfs的状态,是否有missing block,corrupt block等,也可以看datanode的状态 hdfs dfsadmin -report // ...
- [转载] 多年积累的 mysql 运维经验
原文: http://mp.weixin.qq.com/s?__biz=MzA3MzYwNjQ3NA==&mid=207132223&idx=1&sn=f5d98146f282 ...
- Zookeeper运维经验
转自:http://www.juvenxu.com/2015/03/20/experiences-on-zookeeper-ops/ ZooKeeper 是分布式环境下非常重要的一个中间件,可以完成动 ...
随机推荐
- 求最大连续bit数
描述 功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 输入: 一个byte型的数字 输出: 无 返回: 对应的二进制数 ...
- mysql维护常用命令
mysql一个字段的值是将其他字段的被容链接一块 UPDATE `tablename` SET 字段1=CONCAT(字段2," ",字段3," ",字段4) ...
- java.lang.UnsupportedClassVersionError: Bad version number in .class file异常
java.lang.UnsupportedClassVersionError: Bad version number in .class file异常 部署工程时也出现过因为版本不同引起的问题,那时我 ...
- Jquery EasyUI使用总结(一)
1,弹出Iframe,新窗口 //打开编辑页面要加载的数据 function ShowDialog(id, url, width, height, onLoadFunc) { $("#&qu ...
- jquery 判断时间
$("#gjlycon1").blur(function () { var v = $(this).val(); v ...
- 关于iOS去除数组中重复数据的几种方法
关于iOS去除数组中重复数据的几种方法 在工作工程中我们不必要会遇到,在数组中有重复数据的时候,如何去除重复的数据呢? 第一种:利用NSDictionary的AllKeys(AllValues)方 ...
- tr用法
参考: http://man.linuxde.net/tr shell脚本学习指南 语法 tr [options] source-char-list replace-char-list 用途 转换字符 ...
- linux下使用sftp
何为sftp sftp是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法. 连接 linux下直接在终端中输入: sftp us ...
- cocos2dx 3.x(实现帧动画(人物动画,跑马灯效果)的几种方法)
//创建一个跑酷的精灵 auto sprite = Sprite::create("1.png"); //设置精灵的坐标 sprite->setPosition(Ve ...
- 检测浏览器是否支持cookie方法
cookie 摘自: http://www.cnblogs.com/fish-li/archive/2011/07/03/2096903.html Cookie是什么? Cookie 是一小段文本信息 ...