架构师
互联网
其他
推荐课程
average > 0 ? $model->average . '分' : '10.0分' ?>

Hadoop开发实践与性能调优

L. Xiang

北京汉云数衍科技 合伙人

前暴风影音Hadoop平台负责人,架构师,开源项目作者,Apache Hadoop相关项目代码提交者
现北京汉云数衍科技发展有限公司 合伙人


1.之前负责暴风影音大数据平台的搭建运维与开发工作。
2.开源Hadoop界面化管理部署系统eXadoop(前easyhadoop)作者。
3.开源Hive界面化管理查询平台phpHiveAdmin作者。
4.easyhadoop社区创始人之一。
5.数据科学家联盟社区创始人之一
培训过的主要企事业单位包括:
1.深圳证券交易所
2.广发证券
3.中国联通研究院
4.中国电信研究院
5.中国人民银行征信中心
6.工信部架构师考试电教课程讲师
7.惠普Hadoop大数据培训课讲师
8.农业部信息处

前暴风影音Hadoop平台负责人,架构师,开源项目作者,Apache Hadoop相关项目代码提交者 现北京汉云数衍科技发展有限公司 合伙人 1.之前负责暴风影音大数据平台的搭建运维与开发工作。 2.开源Hadoop界面化管理部署系统eXadoop(前easyhadoop)作者。 3.开源Hive界面化管理查询平台phpHiveAdmin作者。 4.easyhadoop社区创始人之一。 5.数据科学家联盟社区创始人之一 培训过的主要企事业单位包括: 1.深圳证券交易所 2.广发证券 3.中国联通研究院 4.中国电信研究院 5.中国人民银行征信中心 6.工信部架构师考试电教课程讲师 7.惠普Hadoop大数据培训课讲师 8.农业部信息处

课程费用

7800.00 /人

课程时长

4

成为教练

课程简介

随着网络的迅速发展及深度普及,信息量增长速度极快,这些信息里又积累着大量的数据。预计到2020年,每年产生的数字信息将会有超过1/3的内容驻留在云平台中或借助云平台处理。我们需要对这些数据进行分析和处理,以获取更多有价值的信息。企事业单位如何高效地存储、管理和分析这些数据,这成了每个企事业单位不得不考虑的重要问题。如何快速提升单位内部技术员工的解决问题能力,已经成为了很多企业的必修课程。

目标收益

可独立完成Hadoop的部署,运维,监控及故障处理。独立完成整体Hadoop从网络到软件层面的架构设计,Hadoop及周边生态的性能优化。

培训对象

开始对Hadoop感兴趣或已使用Hadoop,希望进行性能调优或架构优化。

课程大纲

Hadoop在云计算技术的作用和地位 传统大规模数据分析存在的问题
Hadoop概述
Hadoop与分布式文件系统
MapReduce的工作原理与机制
Hadoop集群剖析
Hadoop生态系统
Hadoop的行业应用案例分析
Hadoop在云计算和大数据的位置和关系
案例演示:阿里集团技术平台,Hadoop在淘宝、支付宝的作用
电商眼中的Hadoop和推荐系统。
暴风数据平台:Hadoop对于产品优化的价值。
Hadoop对于趣游、热酷等游戏公司的作用
移动大云项目(big cloud)中的Hadoop
联通使用Hadoop/Hbase解决3G详单查询问题。
Hadoop参数调优 选择适合hadoop的硬件配置
Hadoop配置项优化
Hadoop配置优化 - core-site.xml
Hadoop配置优化 - HDFS
Hadoop配置优化 - hdfs-site.xml
Hadoop配置优化 - mapred-site.xml
Hadoop配置优化 - 机架感知
网络带宽参数调优
系统参数调优
配置文件管理
严格控制root权限
Java的GC模式
选择正确的JDK
hadoop作业调优
Map side tuning设置
Map side设置
Linux操作系统优化
其他配置和参数调优
core-default.xml,
hdfs-default.xml,
mapred-default.xml。
mapred-site.xml
mapred.tasktracker.map.tasks.maximum
mapred.reduce.slowstart.completed.maps
mapred.fairscheduler.preemption
mapred.jobtracker.completeuserjobs.maximum
mapred.jobtracker.update.faulty.tracker.interval
mapred.jobtracker.max.blacklist.percent
案例演示:Hadoop硬件优化
不是所有的硬件都合适拿来直接使用
安装调优的第一步服务器硬件的选型的窍门
如何选择适合业务使用的CPU
内存越大越好吗?设置合理的的内存配置
连接网络的选择和优化
高速硬盘的选择注意事项
硬盘为什么不做raid?
设置网络的注意事项
中间结果压缩对磁盘和网络的优化
机架感知,网络和磁盘IO优化作用,确定存储的具体位置,
内存参数,map/reduce槽位数的计算方法。
对磁盘和网络的优化
Java工具使用,jstack使用
Sun和open之间的区别,JIT编译器的使用
inux系统参数调优
Linux监控系统的使用
cacti,
ganglia
常用的linux排错工具lsof,strace,iostat,vmstat,netstat...
常见异常现象级处理方法
网卡流量导致连接失败
权限错误
主机名IP转换错误
NN与DN namespaceID不一致
磁盘满导致报错
Jave heap size OOM
精彩案例及故障解决方法解析 案例一:namenode被重新格式化,datanode无法连接
现象:namenode 中的namespaceID与datanode中的namespaceID不一致
案例二:硬盘损坏
现象:磁盘损坏导致datanode宕机
案例三:错误用户启动hadoop
现象:datanode启动一段时间后宕机
案例四:tasktracker重启后假死
现象:无报错,但tasktracker不工作。
案例五:jobtracker无故宕机
现象:运行过程中jobtracker宕机
案例六:datanode无法注册到namenode
现象:datanode启动后到MBean这步挂起不再继续。
案例七:tasktracker无法启动,报权限错误
现象:tasktracker报文件夹创建的权限错误后直接退出。
案例八:主机名设置错误
现象:datanode 和tasktracker无法正常工作
Hadoop组件详解 Hadoop HDFS 基本结构
Hadoop HDFS 副本存放策略
Hadoop NameNode 详解
Hadoop SecondaryNameNode 详解
Hadoop DataNode 详解
Hadoop JobTracker 详解
Hadoop TaskTracker 详解
案例演示:Hadoop Mapper类核心代码
Hadoop Reduce类核心代码
Hadoop 核心代码
Hadoop安装和部署 Hadoop系统模块组件概述
Hadoop试验集群的部署结构
Hadoop 安装依赖关系
Hadoop 生产环境的部署结构
Hadoop集群部署
Hadoop 高可用配置方法
Hadoop 集群简单测试方法
Hadoop 集群异常Debug方法
案例演示:Hadoop安装部署实验
Red hat Linux基础环境搭建
Hadoop 单机系统版本安装配置
Hadoop 集群系统版本安装和启动配置
使用 Hadoop MapReduce Streaming 快速测试系统
Hadoopcore-site,hdfs-site,mapred-site 配置详解
Hadoop和传统数据库技术优劣势对比 Hadoop/Hive 对比 Oracle 在构建数据仓库上的优劣势
Hadoop 如何和传统IT系统配合完成原来不可能的任务
案例演示:Apache社区版本:Cloudera 版本、MapR版本、Intel版本、Oracle、Dell、HP版本
编写MapReduce高级程序 使用 Hadoop MapReduce Streaming 编程
MapReduce流程
剖析一个MapReduce程序
基本MapReduceAPI 概念
驱动代码 Mapper、Reducer
Hadoop流
API 使用Eclipse进行快速开发
新MapReduce API
MapReduce的优化
MapReduce的任务调度
MapReduce编程实战
如何利用其他Hadoop相关技术,包括Apache Hive, Apache Pig,Sqoop和Oozie等
满足解决实际数据分析问题的高级Hadoop API
案例演示:Hadoop Streaming 和 Java MapReduce Api 差异。
MapReduce 实现数据库功能
利用Combiners来减少中间数据
编写Partitioner来优化负载平衡
直接访问Hadoop分布式文件系统(HDFS)
Hadoop的join操作
辅助排序在Reducer方的合并
定制Writables和WritableComparables
使用SequenceFiles和Avro文件保存二进制数据
创建InputFormats OutputFormats
Hadoop的二次排序
Hadoop的海量日志分析
在Map方的合并
精彩案例及故障解决方法解析 案例一:控制map & reduce个数
现象:map个数取决于split个数,如果源文件使用压缩存储,则不可分割,一个文件一个map。非压缩文件使用默认block.size进行切分。对reduce因为是中间数据,可以控制reduce数量。
案例二:压缩中间数据
现象:job中间临时数据量级大、网络IO吞吐量大。
案例三:编程细节,内存溢出
现象:编程过程中,经常遇到list、map、倒排表等大对象,如果作为局部变量,每次调用map或者reduce方法都初始化这些变量,很容易消耗掉JVM堆内存,出现内存溢出异常。
案例四:编程细节,计数&日志打印
现象: System.out.println, System.err.println等日志打印过多会严重影响job性能,counter计数也会存在同样的问题,同时也会造成本地磁盘使用量的急剧增长。
案例五: 作业调度
现象:集群上的job非常多时,会出现一些job一直等待,很长一段时间内没有开始运行。默认的任务调度器FIFO并不能满足实际工作应用。
案例六:Combiner优化
现象: map输出数据量非常大,reduce input group远小于reduce input group时,存在大量的网络IO,这些IO中的一部分数据可以在本地做完合并,然后再进行reduce操作。
使用Hive和Pig开发及技巧 Hive和Pig基础
Hive的作用和原理说明
Hadoop仓库和传统数据仓库的协作关系
Hadoop/Hive仓库数据数据流
Hive 部署和安装
Hive Cli 的基本用法
HQL基本语法
使用Oozie的动机
Oozie工作流定义格式
案例演示:使用JDBC 连接Hive进行查询和分析
使用正则表达式加载数据
HQL高级语法
编写UDF函数
编写UDAF自定义函数
使用Sqoop进行数据分析
使用oozie配置工作流
phpHiveAdmin 安装和使用
Hadoop在云计算技术的作用和地位
传统大规模数据分析存在的问题
Hadoop概述
Hadoop与分布式文件系统
MapReduce的工作原理与机制
Hadoop集群剖析
Hadoop生态系统
Hadoop的行业应用案例分析
Hadoop在云计算和大数据的位置和关系
案例演示:阿里集团技术平台,Hadoop在淘宝、支付宝的作用
电商眼中的Hadoop和推荐系统。
暴风数据平台:Hadoop对于产品优化的价值。
Hadoop对于趣游、热酷等游戏公司的作用
移动大云项目(big cloud)中的Hadoop
联通使用Hadoop/Hbase解决3G详单查询问题。
Hadoop参数调优
选择适合hadoop的硬件配置
Hadoop配置项优化
Hadoop配置优化 - core-site.xml
Hadoop配置优化 - HDFS
Hadoop配置优化 - hdfs-site.xml
Hadoop配置优化 - mapred-site.xml
Hadoop配置优化 - 机架感知
网络带宽参数调优
系统参数调优
配置文件管理
严格控制root权限
Java的GC模式
选择正确的JDK
hadoop作业调优
Map side tuning设置
Map side设置
Linux操作系统优化
其他配置和参数调优
core-default.xml,
hdfs-default.xml,
mapred-default.xml。
mapred-site.xml
mapred.tasktracker.map.tasks.maximum
mapred.reduce.slowstart.completed.maps
mapred.fairscheduler.preemption
mapred.jobtracker.completeuserjobs.maximum
mapred.jobtracker.update.faulty.tracker.interval
mapred.jobtracker.max.blacklist.percent
案例演示:Hadoop硬件优化
不是所有的硬件都合适拿来直接使用
安装调优的第一步服务器硬件的选型的窍门
如何选择适合业务使用的CPU
内存越大越好吗?设置合理的的内存配置
连接网络的选择和优化
高速硬盘的选择注意事项
硬盘为什么不做raid?
设置网络的注意事项
中间结果压缩对磁盘和网络的优化
机架感知,网络和磁盘IO优化作用,确定存储的具体位置,
内存参数,map/reduce槽位数的计算方法。
对磁盘和网络的优化
Java工具使用,jstack使用
Sun和open之间的区别,JIT编译器的使用
inux系统参数调优
Linux监控系统的使用
cacti,
ganglia
常用的linux排错工具lsof,strace,iostat,vmstat,netstat...
常见异常现象级处理方法
网卡流量导致连接失败
权限错误
主机名IP转换错误
NN与DN namespaceID不一致
磁盘满导致报错
Jave heap size OOM
精彩案例及故障解决方法解析
案例一:namenode被重新格式化,datanode无法连接
现象:namenode 中的namespaceID与datanode中的namespaceID不一致
案例二:硬盘损坏
现象:磁盘损坏导致datanode宕机
案例三:错误用户启动hadoop
现象:datanode启动一段时间后宕机
案例四:tasktracker重启后假死
现象:无报错,但tasktracker不工作。
案例五:jobtracker无故宕机
现象:运行过程中jobtracker宕机
案例六:datanode无法注册到namenode
现象:datanode启动后到MBean这步挂起不再继续。
案例七:tasktracker无法启动,报权限错误
现象:tasktracker报文件夹创建的权限错误后直接退出。
案例八:主机名设置错误
现象:datanode 和tasktracker无法正常工作
Hadoop组件详解
Hadoop HDFS 基本结构
Hadoop HDFS 副本存放策略
Hadoop NameNode 详解
Hadoop SecondaryNameNode 详解
Hadoop DataNode 详解
Hadoop JobTracker 详解
Hadoop TaskTracker 详解
案例演示:Hadoop Mapper类核心代码
Hadoop Reduce类核心代码
Hadoop 核心代码
Hadoop安装和部署
Hadoop系统模块组件概述
Hadoop试验集群的部署结构
Hadoop 安装依赖关系
Hadoop 生产环境的部署结构
Hadoop集群部署
Hadoop 高可用配置方法
Hadoop 集群简单测试方法
Hadoop 集群异常Debug方法
案例演示:Hadoop安装部署实验
Red hat Linux基础环境搭建
Hadoop 单机系统版本安装配置
Hadoop 集群系统版本安装和启动配置
使用 Hadoop MapReduce Streaming 快速测试系统
Hadoopcore-site,hdfs-site,mapred-site 配置详解
Hadoop和传统数据库技术优劣势对比
Hadoop/Hive 对比 Oracle 在构建数据仓库上的优劣势
Hadoop 如何和传统IT系统配合完成原来不可能的任务
案例演示:Apache社区版本:Cloudera 版本、MapR版本、Intel版本、Oracle、Dell、HP版本
编写MapReduce高级程序
使用 Hadoop MapReduce Streaming 编程
MapReduce流程
剖析一个MapReduce程序
基本MapReduceAPI 概念
驱动代码 Mapper、Reducer
Hadoop流
API 使用Eclipse进行快速开发
新MapReduce API
MapReduce的优化
MapReduce的任务调度
MapReduce编程实战
如何利用其他Hadoop相关技术,包括Apache Hive, Apache Pig,Sqoop和Oozie等
满足解决实际数据分析问题的高级Hadoop API
案例演示:Hadoop Streaming 和 Java MapReduce Api 差异。
MapReduce 实现数据库功能
利用Combiners来减少中间数据
编写Partitioner来优化负载平衡
直接访问Hadoop分布式文件系统(HDFS)
Hadoop的join操作
辅助排序在Reducer方的合并
定制Writables和WritableComparables
使用SequenceFiles和Avro文件保存二进制数据
创建InputFormats OutputFormats
Hadoop的二次排序
Hadoop的海量日志分析
在Map方的合并
精彩案例及故障解决方法解析
案例一:控制map & reduce个数
现象:map个数取决于split个数,如果源文件使用压缩存储,则不可分割,一个文件一个map。非压缩文件使用默认block.size进行切分。对reduce因为是中间数据,可以控制reduce数量。
案例二:压缩中间数据
现象:job中间临时数据量级大、网络IO吞吐量大。
案例三:编程细节,内存溢出
现象:编程过程中,经常遇到list、map、倒排表等大对象,如果作为局部变量,每次调用map或者reduce方法都初始化这些变量,很容易消耗掉JVM堆内存,出现内存溢出异常。
案例四:编程细节,计数&日志打印
现象: System.out.println, System.err.println等日志打印过多会严重影响job性能,counter计数也会存在同样的问题,同时也会造成本地磁盘使用量的急剧增长。
案例五: 作业调度
现象:集群上的job非常多时,会出现一些job一直等待,很长一段时间内没有开始运行。默认的任务调度器FIFO并不能满足实际工作应用。
案例六:Combiner优化
现象: map输出数据量非常大,reduce input group远小于reduce input group时,存在大量的网络IO,这些IO中的一部分数据可以在本地做完合并,然后再进行reduce操作。
使用Hive和Pig开发及技巧
Hive和Pig基础
Hive的作用和原理说明
Hadoop仓库和传统数据仓库的协作关系
Hadoop/Hive仓库数据数据流
Hive 部署和安装
Hive Cli 的基本用法
HQL基本语法
使用Oozie的动机
Oozie工作流定义格式
案例演示:使用JDBC 连接Hive进行查询和分析
使用正则表达式加载数据
HQL高级语法
编写UDF函数
编写UDAF自定义函数
使用Sqoop进行数据分析
使用oozie配置工作流
phpHiveAdmin 安装和使用
提交需求