SlideShare una empresa de Scribd logo
1 de 29
Hadoop大数据实践经验

            2012年12月
Schubert Zhang, Stephen Xie, Clay Jiang
      武汉播思科技有限公司
汉播大数据产品
      大数据工程系统 (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
汉播与开源(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/schubertzhang
2013/3/19                                                                                       3
Hadoop实践概述 (1)




2013/3/19                    4
Hadoop实践概述 (2)




2013/3/19                    5
集群规划 - Hadoop版本选择
•   开源发布
      –     Apache/Hortonworks
      –     Cloudera
      –     Facebook
      –     MapR
      –     Hanborq or BigCloud …
•   Hadoop, HBase, etc.




2013/3/19                              6
集群规划 – 硬件选择
•   什么是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即可,如500GB

2013/3/19                                                                                   7
集群规划 – 硬件选择 – 举例




2013/3/19                      8
集群规划 – 集群大小
• 存储和计算能力需求
      – CPU、Memory、存储、Disk IO
      – 计算作业的频率

• 按存储需求来估算 (常用)
      – 长期存储的历史数据
      – 每日增量的数据
      – 实际参与计算的数据

• 按计算能力来估算 (较难)

2013/3/19                       9
集群规划 – 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
集群规划 – 磁盘规划
• Linux文件系统
      –     Ext3
      –     Ext4 (extent-based, sequential)
      –     Xfs (extent-based, concurrent)
      –     LVM (anti.)




2013/3/19                                     11
集群规划 – 网络规划
• 考虑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 (扩展性好)   •   Redundancy
2013/3/19                                                                                               12
集群自动化部署 - ClusterMaster
• ClusterMaster是一款自动化部署和运维系统。旨在解决大规模
  集群部署和运维过程中的几个核心问题:操作系统部署、应用部
  署及管理、配置管理、性能数据采集、报警监控。

• ClusterMaster集成Kickstart、Cobbler、Puppet、Ganglia、
  Nagios等开源软件为一体,向用户提供统一的Web管理界面。

• 依托强大的开源软件,ClusterMaster具有良好的可扩展性,可
  以应对Linux集群运维中的各种应用部署和操作系统部署需求。
  用户只需提供部署脚本和安装包,剩下的工作都将由
  ClusterMaster自动完成。

2013/3/19                                            13
ClusterMaster




2013/3/19                   14
集群自动化部署 – Hdeploy/HTCfg




HugeTable提供并行系统部署和配置工具HTCfg,可以方便地对系
统依赖软件、Linux环境配置、HugeTable的各个软件模块进行安
装部署和配置。使得用户不必一台一台地对分布式系统逐个安装
和配置。
                                      Hdeploy的deploy.dd文件片段


 2013/3/19                                                    15
运维 -
            HDFS WebUI和运维策略




2013/3/19                     16
运维 –
            MapReduce WebUI和运维策略




2013/3/19                          17
运维 – 善用Metrics




    有选择地集成Ganglia或OpenTSDB实现关键Metrics实时可视化。
2013/3/19                                     18
运维 – 监控报警可视化工具

                             ClusterMaster
                             Ganglia
                             Nagios




2013/3/19                              19
运维 – Job统计




            定期产生Job运行状况报表


2013/3/19                         20
运维 – 数据迁移(案例)

                      •   小数据中心->大数据中心
                      •   Distcp
                      •   Seed Nodes
                      •   Balance




2013/3/19                            21
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 Servers
2013/3/19                                                                                                  22
Hadoop生态系统 -
            选择合适的工具解决合适的问题




               Hive vs. Pig. vs. Java vs. Others
2013/3/19                                          23
性能评估测试 – Benchmark工具
   • 写数据操作(入库)性能测试




   • 读数据操作(查询)性能测试




2013/3/19                          24
性能评估测试 – 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
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
Hadoop优化
•   MapReduce
•   HBase
•   Flume
•   Hive
•   Pig
•   Tools


2013/3/19                  27
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                                40
20                                                                          30                                        24
                                                                            20
10
                                                                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-2
CHD3u2 (Cloudera)               197             216            2186         CDH3u2 (Cloudera)                238       603       136           206
HDH (Hanborq)                   175             198             615         HDH (Hanborq)                    233       578        96           151
                                                                                                                                                        28
Thank You Very Much!




2013/3/19                          29

Más contenido relacionado

La actualidad más candente

What could hadoop do for us
What could hadoop do for us What could hadoop do for us
What could hadoop do for us Simon Hsu
 
Zh Tw Introduction To Cloud Computing
Zh Tw Introduction To Cloud ComputingZh Tw Introduction To Cloud Computing
Zh Tw Introduction To Cloud Computingkevin liao
 
Hadoop Map Reduce 程式設計
Hadoop Map Reduce 程式設計Hadoop Map Reduce 程式設計
Hadoop Map Reduce 程式設計Wei-Yu Chen
 
Zh Tw Introduction To Map Reduce
Zh Tw Introduction To Map ReduceZh Tw Introduction To Map Reduce
Zh Tw Introduction To Map Reducekevin liao
 
Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結James Chen
 
Hadoop大数据实践经验
Hadoop大数据实践经验Hadoop大数据实践经验
Hadoop大数据实践经验Schubert Zhang
 
Hadoop 簡介 教師 許智威
Hadoop 簡介 教師 許智威Hadoop 簡介 教師 許智威
Hadoop 簡介 教師 許智威Awei Hsu
 
Bigdata 大資料分析實務 (進階上機課程)
Bigdata 大資料分析實務 (進階上機課程)Bigdata 大資料分析實務 (進階上機課程)
Bigdata 大資料分析實務 (進階上機課程)家雋 莊
 
HDFS與MapReduce架構研討
HDFS與MapReduce架構研討HDFS與MapReduce架構研討
HDFS與MapReduce架構研討Billy Yang
 
Hadoop 設定與配置
Hadoop 設定與配置Hadoop 設定與配置
Hadoop 設定與配置鳥 藍
 
百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010Chuanying Du
 
How to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environmentHow to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environmentAnna Yen
 
罗李:构建一个跨机房的Hadoop集群
罗李:构建一个跨机房的Hadoop集群罗李:构建一个跨机房的Hadoop集群
罗李:构建一个跨机房的Hadoop集群hdhappy001
 
Hdfs introduction
Hdfs introductionHdfs introduction
Hdfs introductionbaggioss
 
Couchbase introduction - Chinese
Couchbase introduction - Chinese Couchbase introduction - Chinese
Couchbase introduction - Chinese Vickie Zeng
 
Hadoop Deployment Model @ OSDC.TW
Hadoop Deployment Model @ OSDC.TWHadoop Deployment Model @ OSDC.TW
Hadoop Deployment Model @ OSDC.TWJazz Yao-Tsung Wang
 
翟艳堂:腾讯大规模Hadoop集群实践
翟艳堂:腾讯大规模Hadoop集群实践翟艳堂:腾讯大规模Hadoop集群实践
翟艳堂:腾讯大规模Hadoop集群实践hdhappy001
 
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法Jazz Yao-Tsung Wang
 

La actualidad más candente (20)

What could hadoop do for us
What could hadoop do for us What could hadoop do for us
What could hadoop do for us
 
Zh Tw Introduction To Cloud Computing
Zh Tw Introduction To Cloud ComputingZh Tw Introduction To Cloud Computing
Zh Tw Introduction To Cloud Computing
 
Hadoop Map Reduce 程式設計
Hadoop Map Reduce 程式設計Hadoop Map Reduce 程式設計
Hadoop Map Reduce 程式設計
 
Zh Tw Introduction To Map Reduce
Zh Tw Introduction To Map ReduceZh Tw Introduction To Map Reduce
Zh Tw Introduction To Map Reduce
 
Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結
 
Hadoop大数据实践经验
Hadoop大数据实践经验Hadoop大数据实践经验
Hadoop大数据实践经验
 
Hadoop 簡介 教師 許智威
Hadoop 簡介 教師 許智威Hadoop 簡介 教師 許智威
Hadoop 簡介 教師 許智威
 
Bigdata 大資料分析實務 (進階上機課程)
Bigdata 大資料分析實務 (進階上機課程)Bigdata 大資料分析實務 (進階上機課程)
Bigdata 大資料分析實務 (進階上機課程)
 
HDFS與MapReduce架構研討
HDFS與MapReduce架構研討HDFS與MapReduce架構研討
HDFS與MapReduce架構研討
 
Hadoop 設定與配置
Hadoop 設定與配置Hadoop 設定與配置
Hadoop 設定與配置
 
百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010
 
How to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environmentHow to plan a hadoop cluster for testing and production environment
How to plan a hadoop cluster for testing and production environment
 
罗李:构建一个跨机房的Hadoop集群
罗李:构建一个跨机房的Hadoop集群罗李:构建一个跨机房的Hadoop集群
罗李:构建一个跨机房的Hadoop集群
 
Hdfs
HdfsHdfs
Hdfs
 
Hdfs introduction
Hdfs introductionHdfs introduction
Hdfs introduction
 
Couchbase introduction - Chinese
Couchbase introduction - Chinese Couchbase introduction - Chinese
Couchbase introduction - Chinese
 
Hdfs
HdfsHdfs
Hdfs
 
Hadoop Deployment Model @ OSDC.TW
Hadoop Deployment Model @ OSDC.TWHadoop Deployment Model @ OSDC.TW
Hadoop Deployment Model @ OSDC.TW
 
翟艳堂:腾讯大规模Hadoop集群实践
翟艳堂:腾讯大规模Hadoop集群实践翟艳堂:腾讯大规模Hadoop集群实践
翟艳堂:腾讯大规模Hadoop集群实践
 
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
 

Similar a Hadoop大数据实践经验

Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里li luo
 
Apache hadoop and cdh(cloudera distribution) introduction 基本介紹
Apache hadoop and cdh(cloudera distribution) introduction 基本介紹Apache hadoop and cdh(cloudera distribution) introduction 基本介紹
Apache hadoop and cdh(cloudera distribution) introduction 基本介紹Anna Yen
 
Zh tw introduction_to_hadoop and hdfs
Zh tw introduction_to_hadoop and hdfsZh tw introduction_to_hadoop and hdfs
Zh tw introduction_to_hadoop and hdfsTrendProgContest13
 
Distributed Data Analytics at Taobao
Distributed Data Analytics at TaobaoDistributed Data Analytics at Taobao
Distributed Data Analytics at TaobaoMin Zhou
 
开源+自主开发 - 淘宝软件基础设施构建实践
开源+自主开发  - 淘宝软件基础设施构建实践开源+自主开发  - 淘宝软件基础设施构建实践
开源+自主开发 - 淘宝软件基础设施构建实践Wensong Zhang
 
Hadoop的典型应用与企业化之路 for HBTC 2012
Hadoop的典型应用与企业化之路 for HBTC 2012Hadoop的典型应用与企业化之路 for HBTC 2012
Hadoop的典型应用与企业化之路 for HBTC 2012James Chen
 
大规模数据处理
大规模数据处理大规模数据处理
大规模数据处理Kay Yan
 
大规模数据处理
大规模数据处理大规模数据处理
大规模数据处理airsex
 
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...acelyc1112009
 
分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocess分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocessbabel_qi
 
淘宝对象存储与Cdn系统到服务
淘宝对象存储与Cdn系统到服务淘宝对象存储与Cdn系统到服务
淘宝对象存储与Cdn系统到服务drewz lin
 
Taobao图片存储与cdn系统到服务
Taobao图片存储与cdn系统到服务Taobao图片存储与cdn系统到服务
Taobao图片存储与cdn系统到服务Wensong Zhang
 
淘宝分布式数据处理实践
淘宝分布式数据处理实践淘宝分布式数据处理实践
淘宝分布式数据处理实践isnull
 
Hadoop con 2015 hadoop enables enterprise data lake
Hadoop con 2015   hadoop enables enterprise data lakeHadoop con 2015   hadoop enables enterprise data lake
Hadoop con 2015 hadoop enables enterprise data lakeJames Chen
 
善用 MySQL 及 PostgreSQL - RDBMS 的逆襲 - part1
善用 MySQL 及 PostgreSQL - RDBMS 的逆襲 - part1善用 MySQL 及 PostgreSQL - RDBMS 的逆襲 - part1
善用 MySQL 及 PostgreSQL - RDBMS 的逆襲 - part1Yi-Feng Tzeng
 
Hadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteHadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteXu Wang
 
网站存储经验谈pdf
网站存储经验谈pdf网站存储经验谈pdf
网站存储经验谈pdfYu Lin
 
网站存储经验谈-pdf
网站存储经验谈-pdf网站存储经验谈-pdf
网站存储经验谈-pdfYu Lin
 
Big Data Projet Management the Body of Knowledge (BDPMBOK)
Big Data Projet Management the Body of Knowledge (BDPMBOK)Big Data Projet Management the Body of Knowledge (BDPMBOK)
Big Data Projet Management the Body of Knowledge (BDPMBOK)Jazz Yao-Tsung Wang
 

Similar a Hadoop大数据实践经验 (20)

Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里
 
Apache hadoop and cdh(cloudera distribution) introduction 基本介紹
Apache hadoop and cdh(cloudera distribution) introduction 基本介紹Apache hadoop and cdh(cloudera distribution) introduction 基本介紹
Apache hadoop and cdh(cloudera distribution) introduction 基本介紹
 
Zh tw introduction_to_hadoop and hdfs
Zh tw introduction_to_hadoop and hdfsZh tw introduction_to_hadoop and hdfs
Zh tw introduction_to_hadoop and hdfs
 
Distributed Data Analytics at Taobao
Distributed Data Analytics at TaobaoDistributed Data Analytics at Taobao
Distributed Data Analytics at Taobao
 
开源+自主开发 - 淘宝软件基础设施构建实践
开源+自主开发  - 淘宝软件基础设施构建实践开源+自主开发  - 淘宝软件基础设施构建实践
开源+自主开发 - 淘宝软件基础设施构建实践
 
Hadoop的典型应用与企业化之路 for HBTC 2012
Hadoop的典型应用与企业化之路 for HBTC 2012Hadoop的典型应用与企业化之路 for HBTC 2012
Hadoop的典型应用与企业化之路 for HBTC 2012
 
大规模数据处理
大规模数据处理大规模数据处理
大规模数据处理
 
大规模数据处理
大规模数据处理大规模数据处理
大规模数据处理
 
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
 
分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocess分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocess
 
淘宝对象存储与Cdn系统到服务
淘宝对象存储与Cdn系统到服务淘宝对象存储与Cdn系统到服务
淘宝对象存储与Cdn系统到服务
 
Taobao图片存储与cdn系统到服务
Taobao图片存储与cdn系统到服务Taobao图片存储与cdn系统到服务
Taobao图片存储与cdn系统到服务
 
淘宝分布式数据处理实践
淘宝分布式数据处理实践淘宝分布式数据处理实践
淘宝分布式数据处理实践
 
大數據
大數據大數據
大數據
 
Hadoop con 2015 hadoop enables enterprise data lake
Hadoop con 2015   hadoop enables enterprise data lakeHadoop con 2015   hadoop enables enterprise data lake
Hadoop con 2015 hadoop enables enterprise data lake
 
善用 MySQL 及 PostgreSQL - RDBMS 的逆襲 - part1
善用 MySQL 及 PostgreSQL - RDBMS 的逆襲 - part1善用 MySQL 及 PostgreSQL - RDBMS 的逆襲 - part1
善用 MySQL 及 PostgreSQL - RDBMS 的逆襲 - part1
 
Hadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteHadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research Institute
 
网站存储经验谈pdf
网站存储经验谈pdf网站存储经验谈pdf
网站存储经验谈pdf
 
网站存储经验谈-pdf
网站存储经验谈-pdf网站存储经验谈-pdf
网站存储经验谈-pdf
 
Big Data Projet Management the Body of Knowledge (BDPMBOK)
Big Data Projet Management the Body of Knowledge (BDPMBOK)Big Data Projet Management the Body of Knowledge (BDPMBOK)
Big Data Projet Management the Body of Knowledge (BDPMBOK)
 

Más de Hanborq Inc.

Introduction to Cassandra
Introduction to CassandraIntroduction to Cassandra
Introduction to CassandraHanborq Inc.
 
Hadoop HDFS NameNode HA
Hadoop HDFS NameNode HAHadoop HDFS NameNode HA
Hadoop HDFS NameNode HAHanborq Inc.
 
Flume and Flive Introduction
Flume and Flive IntroductionFlume and Flive Introduction
Flume and Flive IntroductionHanborq Inc.
 
Hadoop MapReduce Streaming and Pipes
Hadoop MapReduce  Streaming and PipesHadoop MapReduce  Streaming and Pipes
Hadoop MapReduce Streaming and PipesHanborq Inc.
 
HBase Introduction
HBase IntroductionHBase Introduction
HBase IntroductionHanborq Inc.
 
Hadoop MapReduce Task Scheduler Introduction
Hadoop MapReduce Task Scheduler IntroductionHadoop MapReduce Task Scheduler Introduction
Hadoop MapReduce Task Scheduler IntroductionHanborq Inc.
 
Hadoop MapReduce Introduction and Deep Insight
Hadoop MapReduce Introduction and Deep InsightHadoop MapReduce Introduction and Deep Insight
Hadoop MapReduce Introduction and Deep InsightHanborq Inc.
 
Hadoop HDFS Detailed Introduction
Hadoop HDFS Detailed IntroductionHadoop HDFS Detailed Introduction
Hadoop HDFS Detailed IntroductionHanborq Inc.
 
How to Build Cloud Storage Service Systems
How to Build Cloud Storage Service SystemsHow to Build Cloud Storage Service Systems
How to Build Cloud Storage Service SystemsHanborq Inc.
 
Hanborq Optimizations on Hadoop MapReduce
Hanborq Optimizations on Hadoop MapReduceHanborq Optimizations on Hadoop MapReduce
Hanborq Optimizations on Hadoop MapReduceHanborq Inc.
 

Más de Hanborq Inc. (12)

Introduction to Cassandra
Introduction to CassandraIntroduction to Cassandra
Introduction to Cassandra
 
Hadoop HDFS NameNode HA
Hadoop HDFS NameNode HAHadoop HDFS NameNode HA
Hadoop HDFS NameNode HA
 
FlumeBase Study
FlumeBase StudyFlumeBase Study
FlumeBase Study
 
Flume and Flive Introduction
Flume and Flive IntroductionFlume and Flive Introduction
Flume and Flive Introduction
 
Hadoop MapReduce Streaming and Pipes
Hadoop MapReduce  Streaming and PipesHadoop MapReduce  Streaming and Pipes
Hadoop MapReduce Streaming and Pipes
 
HBase Introduction
HBase IntroductionHBase Introduction
HBase Introduction
 
Hadoop Versioning
Hadoop VersioningHadoop Versioning
Hadoop Versioning
 
Hadoop MapReduce Task Scheduler Introduction
Hadoop MapReduce Task Scheduler IntroductionHadoop MapReduce Task Scheduler Introduction
Hadoop MapReduce Task Scheduler Introduction
 
Hadoop MapReduce Introduction and Deep Insight
Hadoop MapReduce Introduction and Deep InsightHadoop MapReduce Introduction and Deep Insight
Hadoop MapReduce Introduction and Deep Insight
 
Hadoop HDFS Detailed Introduction
Hadoop HDFS Detailed IntroductionHadoop HDFS Detailed Introduction
Hadoop HDFS Detailed Introduction
 
How to Build Cloud Storage Service Systems
How to Build Cloud Storage Service SystemsHow to Build Cloud Storage Service Systems
How to Build Cloud Storage Service Systems
 
Hanborq Optimizations on Hadoop MapReduce
Hanborq Optimizations on Hadoop MapReduceHanborq Optimizations on Hadoop MapReduce
Hanborq Optimizations on Hadoop MapReduce
 

Hadoop大数据实践经验

  • 1. Hadoop大数据实践经验 2012年12月 Schubert Zhang, Stephen Xie, Clay Jiang 武汉播思科技有限公司
  • 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. 汉播与开源(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/schubertzhang 2013/3/19 3
  • 6. 集群规划 - Hadoop版本选择 • 开源发布 – Apache/Hortonworks – Cloudera – Facebook – MapR – Hanborq or BigCloud … • Hadoop, HBase, etc. 2013/3/19 6
  • 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即可,如500GB 2013/3/19 7
  • 8. 集群规划 – 硬件选择 – 举例 2013/3/19 8
  • 9. 集群规划 – 集群大小 • 存储和计算能力需求 – CPU、Memory、存储、Disk IO – 计算作业的频率 • 按存储需求来估算 (常用) – 长期存储的历史数据 – 每日增量的数据 – 实际参与计算的数据 • 按计算能力来估算 (较难) 2013/3/19 9
  • 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. 集群规划 – 磁盘规划 • Linux文件系统 – Ext3 – Ext4 (extent-based, sequential) – Xfs (extent-based, concurrent) – LVM (anti.) 2013/3/19 11
  • 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 (扩展性好) • Redundancy 2013/3/19 12
  • 13. 集群自动化部署 - ClusterMaster • ClusterMaster是一款自动化部署和运维系统。旨在解决大规模 集群部署和运维过程中的几个核心问题:操作系统部署、应用部 署及管理、配置管理、性能数据采集、报警监控。 • ClusterMaster集成Kickstart、Cobbler、Puppet、Ganglia、 Nagios等开源软件为一体,向用户提供统一的Web管理界面。 • 依托强大的开源软件,ClusterMaster具有良好的可扩展性,可 以应对Linux集群运维中的各种应用部署和操作系统部署需求。 用户只需提供部署脚本和安装包,剩下的工作都将由 ClusterMaster自动完成。 2013/3/19 13
  • 16. 运维 - HDFS WebUI和运维策略 2013/3/19 16
  • 17. 运维 – MapReduce WebUI和运维策略 2013/3/19 17
  • 18. 运维 – 善用Metrics 有选择地集成Ganglia或OpenTSDB实现关键Metrics实时可视化。 2013/3/19 18
  • 19. 运维 – 监控报警可视化工具 ClusterMaster Ganglia Nagios 2013/3/19 19
  • 20. 运维 – Job统计 定期产生Job运行状况报表 2013/3/19 20
  • 21. 运维 – 数据迁移(案例) • 小数据中心->大数据中心 • Distcp • Seed Nodes • Balance 2013/3/19 21
  • 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 Servers 2013/3/19 22
  • 23. Hadoop生态系统 - 选择合适的工具解决合适的问题 Hive vs. Pig. vs. Java vs. Others 2013/3/19 23
  • 24. 性能评估测试 – Benchmark工具 • 写数据操作(入库)性能测试 • 读数据操作(查询)性能测试 2013/3/19 24
  • 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. 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. Hadoop优化 • MapReduce • HBase • Flume • Hive • Pig • Tools 2013/3/19 27
  • 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 40 20 30 24 20 10 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-2 CHD3u2 (Cloudera) 197 216 2186 CDH3u2 (Cloudera) 238 603 136 206 HDH (Hanborq) 175 198 615 HDH (Hanborq) 233 578 96 151 28
  • 29. Thank You Very Much! 2013/3/19 29