Hadoop大数据实践经验            2012年12月Schubert Zhang, Stephen Xie, Clay Jiang      武汉播思科技有限公司
汉播大数据产品      大数据工程系统 (Big Data)                            云存储 (Cloud Storage)HB-CDW产品线是基于云计算技术实现的面向大数据(PB级)存储、 HB-CSS产品线为...
汉播与开源(Hadoop Ecosystem) 开源项目代码、补丁、问题报告:                           为开源社区提供文档、测试报告和贡献资料: HBASE-1778、HBASE-1818、HBASE-1841、HB...
Hadoop实践概述 (1)2013/3/19                    4
Hadoop实践概述 (2)2013/3/19                    5
集群规划 - Hadoop版本选择•   开源发布      –     Apache/Hortonworks      –     Cloudera      –     Facebook      –     MapR      –    ...
集群规划 – 硬件选择•   什么是Commodity Hardware?•   CPU:Memory:Disk,依赖于workload特性需求•   JBOD vs. RAID vs. SPAN/BIG•   虚拟机、Blades、SAN不适...
集群规划 – 硬件选择 – 举例2013/3/19                      8
集群规划 – 集群大小• 存储和计算能力需求      – CPU、Memory、存储、Disk IO      – 计算作业的频率• 按存储需求来估算 (常用)      – 长期存储的历史数据      – 每日增量的数据      – 实...
集群规划 – OS及内核调优• 操作系统      – RHEL/CentOS/Ubuntu …      – JDK (http://wiki.apache.org/hadoop/HadoopJavaVersions)            ...
集群规划 – 磁盘规划• Linux文件系统      –     Ext3      –     Ext4 (extent-based, sequential)      –     Xfs (extent-based, concurrent...
集群规划 – 网络规划• 考虑HDFS/MapReduce 1Gb vs. 10Gb            (1) 两层树结构 (中小集群)                    (2) 三层树结构 (大集群瓶颈)               ...
集群自动化部署 - ClusterMaster• ClusterMaster是一款自动化部署和运维系统。旨在解决大规模  集群部署和运维过程中的几个核心问题:操作系统部署、应用部  署及管理、配置管理、性能数据采集、报警监控。• Cluster...
ClusterMaster2013/3/19                   14
集群自动化部署 – Hdeploy/HTCfgHugeTable提供并行系统部署和配置工具HTCfg,可以方便地对系统依赖软件、Linux环境配置、HugeTable的各个软件模块进行安装部署和配置。使得用户不必一台一台地对分布式系统逐个安装和...
运维 -            HDFS WebUI和运维策略2013/3/19                     16
运维 –            MapReduce WebUI和运维策略2013/3/19                          17
运维 – 善用Metrics    有选择地集成Ganglia或OpenTSDB实现关键Metrics实时可视化。2013/3/19                                     18
运维 – 监控报警可视化工具                             ClusterMaster                             Ganglia                             N...
运维 – Job统计            定期产生Job运行状况报表2013/3/19                         20
运维 – 数据迁移(案例)                      •   小数据中心->大数据中心                      •   Distcp                      •   Seed Nodes   ...
Hadoop生态系统 -                            构建完整的解决方案                                                         User, Applicatio...
Hadoop生态系统 -            选择合适的工具解决合适的问题               Hive vs. Pig. vs. Java vs. Others2013/3/19                           ...
性能评估测试 – Benchmark工具   • 写数据操作(入库)性能测试   • 读数据操作(查询)性能测试2013/3/19                          24
性能评估测试 – Benchmark工具                                                                                                      ...
Known Issues and Work Arounds• Hadoop系列产品还有很多已知的和未知的问题• 这里只是举例:      –     CentOS/RedHat Linux: transparent hugepage compa...
Hadoop优化•   MapReduce•   HBase•   Flume•   Hive•   Pig•   Tools2013/3/19                  27
Hadoop优化 @MapReduce性能                       Job Startup Latency (seconds)                                              Job...
Thank You Very Much!2013/3/19                          29
Upcoming SlideShare
Loading in...5
×

Hadoop大数据实践经验

660

Published on

Practice on Hadoop Big Data.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
660
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Hadoop大数据实践经验

  1. 1. Hadoop大数据实践经验 2012年12月Schubert Zhang, Stephen Xie, Clay Jiang 武汉播思科技有限公司
  2. 2. 汉播大数据产品 大数据工程系统 (Big Data) 云存储 (Cloud Storage)HB-CDW产品线是基于云计算技术实现的面向大数据(PB级)存储、 HB-CSS产品线为企业或个人提供云存储解决方案及服务。提供查询和分析以及挖掘的大数据仓库系统。核心产品包括基于 类似Amazon AWS S3的可扩展、安全、快速的云对象存储系统Hadoop生态系统的大数据仓库、海量结构化数据管理系统 oNest。基于oNest,为企业和个人提供接入云存储服务的存储HugeTable。基于Hanborq增强并扩展的Hadoop、HBase、Hive、 网关(Storage Gateway)及类似Dropbox的在线云存储服务Pig等大数据基础软件,实现特有的数据模型、系统架构和标 (uDrop/eDrop)。在大型互联网、教育、电信、媒体、交通等准的SQL/API,提供对大数据的快速加载、实时索引查询,以 行业领域有广泛的使用案例。 Hanborq及基于MapReduce等并行计算技术的深度统计、分析和挖掘。 Products系统提供灵活的扩展性和安全可靠性。在电信、电力、交通、大型互联网等大数据行业领域有广泛的使用案例。 云管理系统 (Cloud Management) HB-ClusterMaster是大规模数据中心集群规划、操作系统及应用程序自动化安 装部署、配置管理、监控及运营维护的软件系统,实现大规模云计算集群的高 效部署和运维。目前部署和管理的最大单系统案例超过2000个物理服务器节点。 2013/3/19 2
  3. 3. 汉播与开源(Hadoop Ecosystem) 开源项目代码、补丁、问题报告: 为开源社区提供文档、测试报告和贡献资料: HBASE-1778、HBASE-1818、HBASE-1841、HBASE- http://www.slideshare.net/hanborq 1978 、HBASE-1902、HBASE-3943、HBASE-1296、 http://www.slideshare.net/schubertzhang MAPREDUCE-3685 、MAPREDUCE-4039、 http://hbase.apache.org/book.html#regions.arch CASSANDRA-1729 ……http://github.com/hanborq 汉播与开源 http://slideshare.net/hanborq http://slideshare.net/schubertzhang2013/3/19 3
  4. 4. Hadoop实践概述 (1)2013/3/19 4
  5. 5. Hadoop实践概述 (2)2013/3/19 5
  6. 6. 集群规划 - Hadoop版本选择• 开源发布 – Apache/Hortonworks – Cloudera – Facebook – MapR – Hanborq or BigCloud …• Hadoop, HBase, etc.2013/3/19 6
  7. 7. 集群规划 – 硬件选择• 什么是Commodity Hardware?• CPU:Memory:Disk,依赖于workload特性需求• JBOD vs. RAID vs. SPAN/BIG• 虚拟机、Blades、SAN不适用• Master节点 • Worker(Slave)节点 – NameNode and SecondaryNameNode – JobTracker – 存储+计算 – 可靠性要求更高 – 存储密集(DW) • 双电源 • 捆绑网口 – 保留20~30%磁盘空间做MapReduce、 • RAID1 vs. RAID10 vs. RAID5 HDFS、HBase临时数据 • 专用独立的硬盘 • 备份到NFS – 每个task大概1~4GB内存,48GB内 – 大内存 存支持约10~20 tasks • NameNode: 1GB 大约100万Blocks, 小文件问题 • JobTracker: History Task Status, Counters, etc. (mapred.jobtracker.completeuserjobs.maximum) – 小硬盘 • < 1TB即可,如500GB2013/3/19 7
  8. 8. 集群规划 – 硬件选择 – 举例2013/3/19 8
  9. 9. 集群规划 – 集群大小• 存储和计算能力需求 – CPU、Memory、存储、Disk IO – 计算作业的频率• 按存储需求来估算 (常用) – 长期存储的历史数据 – 每日增量的数据 – 实际参与计算的数据• 按计算能力来估算 (较难)2013/3/19 9
  10. 10. 集群规划 – OS及内核调优• 操作系统 – RHEL/CentOS/Ubuntu … – JDK (http://wiki.apache.org/hadoop/HadoopJavaVersions) • 1.6.0_24/26/31 • -XX:+UseCompressedOops • GC options – cron/ntp/ssh/sendmail/rsync/sysstat/dstat – Hostname和DNS – 用户,组,权限• 内核调优 – ulimit: open files, max user processes, etc. – vm.swappiness – vm.overcommit_memory – …2013/3/19 10
  11. 11. 集群规划 – 磁盘规划• Linux文件系统 – Ext3 – Ext4 (extent-based, sequential) – Xfs (extent-based, concurrent) – LVM (anti.)2013/3/19 11
  12. 12. 集群规划 – 网络规划• 考虑HDFS/MapReduce 1Gb vs. 10Gb (1) 两层树结构 (中小集群) (2) 三层树结构 (大集群瓶颈) • East/West vs. North/South流量模型 • 写穿 • Shuffle • 机架拓扑,交换机拓扑 • 读:尽量本地;写:本地优先 • 10Gb: low latency, high throughput • 接入交换机:10Gb的价格是1Gb的三倍 • ETL:10Gb • Bonding ->10Gb • CLOS Network: http://research.google.com/pubs/pub36740.html http://www.csdn.net/article/2011-05-20/298348 (3) Spine Fabric (扩展性好) • Redundancy2013/3/19 12
  13. 13. 集群自动化部署 - ClusterMaster• ClusterMaster是一款自动化部署和运维系统。旨在解决大规模 集群部署和运维过程中的几个核心问题:操作系统部署、应用部 署及管理、配置管理、性能数据采集、报警监控。• ClusterMaster集成Kickstart、Cobbler、Puppet、Ganglia、 Nagios等开源软件为一体,向用户提供统一的Web管理界面。• 依托强大的开源软件,ClusterMaster具有良好的可扩展性,可 以应对Linux集群运维中的各种应用部署和操作系统部署需求。 用户只需提供部署脚本和安装包,剩下的工作都将由 ClusterMaster自动完成。2013/3/19 13
  14. 14. ClusterMaster2013/3/19 14
  15. 15. 集群自动化部署 – Hdeploy/HTCfgHugeTable提供并行系统部署和配置工具HTCfg,可以方便地对系统依赖软件、Linux环境配置、HugeTable的各个软件模块进行安装部署和配置。使得用户不必一台一台地对分布式系统逐个安装和配置。 Hdeploy的deploy.dd文件片段 2013/3/19 15
  16. 16. 运维 - HDFS WebUI和运维策略2013/3/19 16
  17. 17. 运维 – MapReduce WebUI和运维策略2013/3/19 17
  18. 18. 运维 – 善用Metrics 有选择地集成Ganglia或OpenTSDB实现关键Metrics实时可视化。2013/3/19 18
  19. 19. 运维 – 监控报警可视化工具 ClusterMaster Ganglia Nagios2013/3/19 19
  20. 20. 运维 – Job统计 定期产生Job运行状况报表2013/3/19 20
  21. 21. 运维 – 数据迁移(案例) • 小数据中心->大数据中心 • Distcp • Seed Nodes • Balance2013/3/19 21
  22. 22. Hadoop生态系统 - 构建完整的解决方案 User, Applications API/QL API/QL User Hive/Pig Big HugeTable Data MapReduce User Flume/ Big Bigtable HBase Oozie Data Flive Bigtable …… …… User Big file HDFS file file Data Shared Cluster of Servers2013/3/19 22
  23. 23. Hadoop生态系统 - 选择合适的工具解决合适的问题 Hive vs. Pig. vs. Java vs. Others2013/3/19 23
  24. 24. 性能评估测试 – Benchmark工具 • 写数据操作(入库)性能测试 • 读数据操作(查询)性能测试2013/3/19 24
  25. 25. 性能评估测试 – Benchmark工具 SLA核心指标 • Throughput – tThrou :Total Throughput (operation count) – dThrou : Delta Throughput (operation count) • Latency – tAvgLat: Total Average percentage of read ops Latency (ms) 25.00% – dAvgLat: Delta Average Latency (ms) 20.00% 15.00% – dMaxLat : Delta Maximum 10.00% Latency (ms) 5.00% – dMinLat : Delta Minimum 0.00% Latency (ms) 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 100ms • Quantile % • Total : from benchmark start to  Read Throughput: average ~140 ops/s; per-node: average ~16 ops/s present.  Latency: average ~500ms, 97% < 2s (SLA) • Delta: between each statistical  Bottleneck: disk IO (random seek) (CPU load is very low) interval (2 minutes here)2013/3/19 25
  26. 26. Known Issues and Work Arounds• Hadoop系列产品还有很多已知的和未知的问题• 这里只是举例: – CentOS/RedHat Linux: transparent hugepage compaction – HDFS: 正在写的文件不能读 – MapReduce: LZO压缩文件index过大,OOME – Hive: MySQL Connection长时间连接中断导致Job失败 – HBase: 多CF的Memstore Flush触发机制 – …2013/3/19 26
  27. 27. Hadoop优化• MapReduce• HBase• Flume• Hive• Pig• Tools2013/3/19 27
  28. 28. Hadoop优化 @MapReduce性能 Job Startup Latency (seconds) Job Startup Latency (seconds) Total Tasks (32 maps, 4 reduces) Total Tasks (96 maps, 4 reduces)30 50 43 24 21 4020 30 24 2010 1 10 1 0 0 CDH3u2 (Cloudera) CDH3u2 (Cloudera) HDH3u2 (Hanborq) CDH3u2 (Cloudera) CDH3u2 (Cloudera) HDH3u2 (Hanborq) (reuse.jvm disabled) (reuse.jvm enabled) (reuse.jvm disabled) (reuse.jvm enabled) Sort Avoidance and Aggregation Real Aggregation Jobs 2400 2186 700 2200 2000 600 1800 1600 500 1400 time (seconds) 400 1200 time (seconds) 1000 300 800 615 600 200 400 216 198 197 175 100 200 0 0 Case1 Case2 Case3 Case1-1 Case2-1 Case1-2 Case2-2CHD3u2 (Cloudera) 197 216 2186 CDH3u2 (Cloudera) 238 603 136 206HDH (Hanborq) 175 198 615 HDH (Hanborq) 233 578 96 151 28
  29. 29. Thank You Very Much!2013/3/19 29

×