概览

1. Hadoop Trouble Shooting

查看logs, 存储位置等

2. Hadoop Administration

常见Hadoop管理员面对的问题

3. Hadoop Optimization

如何根据环境配置,优化hadoop

学习如何使用Hadoop自带的工具来产生大数据用于性能测试

1. Trouble Shooting

logs的存储位置, 根目录的logs文件夹

logs按照machine, user, daemon来命名

hadoop-username-daemon-manchine.log

Hadoop的存储位置:根目录的tmp目录

从上图,右下角可以看出tmp目录就是Dfs和mapred的根目录,从而也就是Hadoop的根目录

常见错误:执行格式化hadoop namenode-format后,重启start-all.sh

这时候,在HNData 那边,就会发现jps命令里面没有DataNode了

这时候,可以查看log文件,看看错误在哪里

这里这个问题是格式化namenode的时候,其存储的DataNode的namespaceID变化了,但是在DataNode里面没有变化,在logs里面可以查到。只需要去修改相应的namespaceID即可。或者直接把DataNode的tmp目录删掉。一般来说,DataNode启动起来以后,就可以去Web UI查看log而不需要在命令行里面看了。

2. Hadoop Administration

下面是一些Hadoop管理员常常面临的问题,这里只列出了问题,但是没有给出完整的答案,请自行查找答案

Commission/Decommission,what’s the process, what file you want to add?

Commissioning就是添加一个节点到slaves文件,然后配置mapred-site.xml即可。

Decommission就是添加一个exclude文件,可以把它从Slaves文件中删除

Check for corruption

使用fsck -delete可以删除不正常的Blocks

Default & Override Configs

在Source目录下有default的配置

Copy data in, out, across clusters

使用MapReduce来完成

Tunning & Optimization

Trouble shooting jobs & Nodes

使用Log文件

Safe mode

只读模式

3. Hadoop Optimization

dfs.block.size

这个是每一个Mapper会分配到的数据大小;如果你的数据很大,而这个数值分配的很小,就会导致分成很多mapper,每一个mapper完成的很快,但是把这些mapper整合起来就会很花费时间。小的64mb, 大的256mb

Io.sort.mb的数量是io.sort.factor的10倍,io.sort.factor是决定了缓存文件的数量

Mapred.map.tasks不是很重要,因为Mapper的数量主要dfs.block.size决定;

Mapred.reduce.tasks很重要,因为默认它只设了一个,合理的数量是:

(0.95 ~ 1.75) * nodes * r.max

其中r.max就是mapred.tasktracker.reduce.tasks.maximum

Mapred.tasktracker.map/reduce.tasks.maximum的数量是cpu核心数-1

Jvm内存大小 = (m.max + r.max) * java.pots

注意:要使用Commpression/decompression来节省网络带宽

检测MapReduce性能:

hadoop jar $HADOOP_PREFIX/hadoop-*examples*.jar teragen 5343800 /data/input

来生成一个大数据用于处理

来执行

hadoop jar $HADOOP_PREFIX/hadoop-*examples*.jar terasort5343800 /data/out

然后在Web UI里面查看运行时间,通过调整上面不同的配置来配置好时间。

(注意:如果使用虚拟机,优化过的配置可能并不会真的带来性能优化,因为虚拟机的缘故,返回运行会更慢)

附录:上面图片里的配置文件:

core

[html] view plaincopy
  1. <configuration>
  2. <property>
  3. <name>fs.default.name</name>
  4. <value>hdfs://HNName:10001</value>
  5. <description>NameNode configuration. host/IP:port</description>
  6. </property>
  7. <property>
  8. <name>hadoop.tmp.dir</name>
  9. <value>/usr/local/hadoop/tmp</value>
  10. <description>Base for other directories</description>
  11. </property>
  12. <property>
  13. <name>fs.checkpoint.dir</name>
  14. <value>disk1/hdfs/secondname,disk2/hdfs/secondname</value>
  15. <description>Secondary NameNode storage</description>
  16. </property>
  17. <property>
  18. <name>webinterface.private.actions</name>
  19. <value>true</value>
  20. <description>Advanced options in Web UIs</description>
  21. </property>
  22. </configuration>

hdfs

[html] view plaincopy
  1. <configuration>
  2. <property>
  3. <name>dfs.name.dir</name>
  4. <value>disk1/hdfs/name,disk2/hdfs/name</value>
  5. <description>NameNode storage (fsimage)</description>
  6. </property>
  7. <property>
  8. <name>dfs.data.dir</name>
  9. <value>disk1/hdfs/data,disk2/hdfs/data</value>
  10. <description>DataNode block storage</description>
  11. </property>
  12. <property>
  13. <name>dfs.replication</name>
  14. <value>3</value>
  15. <description>Replication factor</description>
  16. </property>
  17. <property>
  18. <name>dfs.block.size</name>
  19. <value>67108864</value>
  20. <description>Size of blocks HDFS splits new files up by</description>
  21. </property>
  22. <property>
  23. <name>dfs.namenode.handler.count</name>
  24. <value>10</value>
  25. <description># threads Namenode uses to serve requests</description>
  26. </property>
  27. <property>
  28. <name>dfs.datanode.handler.count</name>
  29. <value>3</value>
  30. <description># threads DataNodes uses to serve requests</description>
  31. </property>
  32. </configuration>

mapred

[html] view plaincopy
  1. <configuration>
  2. <property>
  3. <name>mapred.job.tracker</name>
  4. <value>HNName:10002</value>
  5. <description>JobTracker configuration. host/IP:port</description>
  6. </property>
  7. <property>
  8. <name>mapred.local.dir</name>
  9. <value>disk1/mapred/data,disk2/mapred/data</value>
  10. <description>MapReduce intermediate storage</description>
  11. </property>
  12. <property>
  13. <name>io.sort.factor</name>
  14. <value>10</value>
  15. <description>Maximum # of streams to merge when sorting</description>
  16. </property>
  17. <property>
  18. <name>io.sort.mb</name>
  19. <value>100</value>
  20. <description>Size of memory buffer used when sorting map outputs</description>
  21. </property>
  22. <property>
  23. <name>mapred.map.tasks</name>
  24. <value>2</value>
  25. <description># of map tasks that can run simultaneously</description>
  26. </property>
  27. <property>
  28. <name>mapred.reduce.tasks</name>
  29. <value>1</value>
  30. <description># of reduce tasks that can run simultaneously</description>
  31. </property>
  32. <property>
  33. <name>mapred.tasktracker.map.tasks.maximum</name>
  34. <value>2</value>
  35. <description># of map slots on a TaskTracker</description>
  36. </property>
  37. <property>
  38. <name>mapred.tasktracker.reduce.tasks.maximum</name>
  39. <value>2</value>
  40. <description># of reduce slots on a TaskTracker</description>
  41. </property>
  42. <property>
  43. <name>mapred.child.java.opts</name>
  44. <value>-Xmx200m</value>
  45. <description>JVM options. Map/Reduce task memory.</description>
  46. </property>
  47. </configuration>

Hadoop自学笔记(七)Hadoop环境配置和优化相关推荐

  1. ESP32_WIFI Mesh学习笔记1---Ardino IDE 环境配置

    ESP_WIFI MESH学习笔记1-Ardino IDE 环境配置 文章目录 ESP_WIFI MESH学习笔记1---Ardino IDE 环境配置 前言 一.Arduino IDE配置问题 二. ...

  2. Hadoop自学笔记(三)MapReduce简单介绍

    1. MapReduce Architecture MapReduce是一套可编程的框架,大部分MapReduce的工作都能够用Pig或者Hive完毕.可是还是要了解MapReduce本身是怎样工作的 ...

  3. MIT JOS学习笔记01:环境配置、Boot Loader(2016.10.22)

    未经许可谢绝以任何形式对本文内容进行转载! 一.环境配置 关于MIT课程中使用的JOS的配置教程网上已经有很多了,在这里就不做介绍,个人使用的是Ubuntu 16.04 + qemu.另注,本文章中贴 ...

  4. 【MindStudio训练营第一期】【昇腾AI训练营新手班学习笔记】开发环境配置

    准备 购买云服务器,安装提供的镜像 华为云:https://www.huaweicloud.com 下载MindStudio(windows),安装 MindStuidio下载页: https://w ...

  5. hadoop 单机单间_零基础入门hadoop大数据四——Hadoop框架前奏,JDK环境配置

    ~~~~~~~~~一天更新两篇~~~~~~ 一.本章节完成的内容 1.使用secureCRT工具连接linux主机(配置非常方便,方便粘贴) 2.上传安装包到linux上(用filezilla) 3. ...

  6. Hadoop学习笔记—14.ZooKeeper环境搭建

    从字面上来看,ZooKeeper表示动物园管理员,这是一个十分奇妙的名字,我们又想起了Hadoop生态系统中,许多项目的Logo都采用了动物,比如Hadoop采用了大象的形象,所以我们可以猜测ZooK ...

  7. Hadoop自学笔记(二)HDFS简单介绍

    1. HDFS Architecture 一种Master-Slave结构.包括Name Node, Secondary Name Node,Data Node Job Tracker, Task T ...

  8. Hadoop学习笔记-关于Hadoop你不得不知道的12个事实

    [IT168 评论]现如今,Apache Hadoop已经无人不知无人不晓.当年雅虎搜索工程师Doug Cutting开发出这个用以创建分布式计算机环境的开源软件库,并以自己儿子的大象玩偶为其命名的时 ...

  9. vim学习笔记一(环境配置及编译文件)

    今天开始在linux进行编程学习,首先是环境的配置.使用的ubuntu系统自带的vim.但是在使用前要先对vim进行配置,使其更友好. 配置方法是对vimrc进行修改,分享下我的vimrc,(下载地址 ...

最新文章

  1. CornerNet:实现demo、可视化heatmap、测试各类别精度
  2. Java必须了解的“递归”与“IO流”!!!
  3. 2D简单图形相关算法罗列
  4. 什么样的编程姿势才没有bug
  5. wordpressQQ登陆php代码_WordPress实现前台登录功能
  6. 关于WCF、WebAPI、WCFREST、WebService之间的区别总结
  7. java8 策略模式_Java 8中的策略模式
  8. 牛客网与leetcode刷题(高频题中简单or中等的)
  9. 小米:停止2016年发布的红米手机升级推送
  10. retext代码高亮_实例简介Markdown格式
  11. 如何避免程序员的大脑超载?
  12. 单片机跑马灯12种c语言程序设计,基于单片机多模式带音乐跑马灯设计附完整程序代码.doc...
  13. 英语二大小作文总结笔记
  14. 制作属于你的终端词典
  15. 影响因素分析论文用什么模型好?
  16. python爬虫语句_Python爬虫练手之爬句子迷
  17. 统一网关Gateway
  18. 特殊节日网站全体变成黑灰色
  19. CN-DBpedia备忘
  20. 聊聊程序员与英语,程序员不学英语行吗?

热门文章

  1. 【Android】Vitamio 4.0 公测版发布(2013-05-28)
  2. 某厂商APT防御思路
  3. 如何进行无线网络中继设置
  4. WPA/WPA2安全认证加密原理详解
  5. python 安装serial模块
  6. programcreek
  7. outlook邮箱显示一直启动中_Outlook 2016 无法正常启动,显示“正在处理” 然而处理了好几天也没有处理完...
  8. mysql主从复制原理 简书_mysql主从复制,从原理讲到安装配置,全干货
  9. html 下拉框字体,怎么把select下拉菜单里的文字设置成左右滚动效果
  10. vue暴露的全局方法_Vue中实现全局方法