SlideShare una empresa de Scribd logo
1 de 27
小米hadoop&hbase微实践
谢良
DTCC2013
个人简介
• 小米科技 软件工程师
• 目前在存储组做HBase研发工作
• 之前也负责维护过一段时间MySQL线上集群
• weibo.com/bestxieliang
DTCC2013
Agenda
• 选型依据
• upstream重要issue
• 集群check list
• 若干案例解析
• 一些微改进点与社区回馈
DTCC2013
Agenda
• 选型依据
• upstream重要issue
• 集群check list
• 若干案例解析
• 一些微改进点与社区回馈
DTCC2013
• 类似业务场景下Facebook在前面趟雷成功
• 国内阿里等的实践也增强了我们的信心
DTCC2013
Agenda
• 选型依据
• upstream重要issue
• 集群check list
• 若干案例解析
• 一些微改进点与社区回馈
DTCC2013
HDFS层面
• Support hsync HDFS-744(2.0.2-alpha)
类fsync语义,关系数据安全性
DTCC2013
HDFS层面
• namenode HA
FB用的AvatarNode方案,我们没跟进,因为:
HA framework HDFS-1623(2.0.0-alpha)
Auto failover for HA HDFS-3042(2.0.2-alpha)
QJM HDFS-3077(2.0.3-alpha)
DTCC2013
HDFS层面
• Shortcut a local client reads
HDFS-2246(0.23.1, 1.0.0, 0.22.1)
HDFS-347(截止目前尚未merge进trunk)
• parallel write and Hflush/sync
HDFS-895(0.20-append, 0.20.205.0, 0.22.0)
DTCC2013
HDFS层面
• concurrent readers and writer
HDFS-1907(0.23.0)
• better handling of volume failure in
datanode storage 坏少于配置上限数量的磁盘
后,不需要关闭datanode实例,这样上层hbase
不会丢失本地性
HDFS-457(0.20.203.0, 0.21.0)
DTCC2013
HBase层面
• 同行写入的原子性 HBASE-2856 (0.94.0)
• online schema update HBASE-1730/4213
• distributed log splitting HBASE-1364(0.92.0)
• 业务低谷期做激进压缩 HBASE-4463(0.94.0)
DTCC2013
HBase层面
• timerange hints HBASE-5010(0.94.0)
• lazy seek HBASE-4465(0.94.0)
• HFile v2 HBASE-3857(0.92.0)
• data block encoding
HBASE-4218
HBASE-4676
DTCC2013
Agenda
• 选型依据
• upstream重要issue
• 集群check list
• 若干案例解析
• 一些微改进点与社区回馈
DTCC2013
• 硬件主要关注磁盘和网卡、控制节点的RAID
• OS:
2.6.32
ulimit
ext4 微调mount参数,noatime, tune2fs -m 1
ntp服务
THP
DTCC2013
• JVM:
使用较新的版本 1.6.0_37
调整VM选项参数
DTCC2013
• zookeeper:
3.4.4+的版本
注意事务日志落地盘
autopurge.snapRetainCount
autopurge.purgeInterval
DTCC2013
Agenda
• 选型依据
• upstream重要issue
• 集群check list
• 若干案例解析
• 一些微改进点与社区回馈
DTCC2013
• 现象:测试集群节点随机OOM
• 日志:OutOfMemoryError: unable to
create new native thread
• 取thread dump
• Centos6上ulimit设置和5不一样,常见坑!
• 心得:基础软件checklist要做完善!
DTCC2013
• 现象:测试集群Region Server偶发挂掉
• 日志显示有30多秒的长暂停,大于集群配
置的zk检测超时30s;通过GC日志显示app
确实被stop了30多秒,但之前木有打印堆
相关信息(我们配置了参数会打印),结合
PrintSafepointStatistics的输出,定位可能
与VM偏特锁相关,尝试禁掉,再未发生
• 心得:对VM要有敬畏之心
DTCC2013
• 现象:某台RS的RPC队列堵塞
• jstack确认是锁相关,很快可以对应到代码
zkw.saslLatch.await()
通过查社区svn提交历史,找到相应change
backport到内部代码库,发布,解决
• 这坨代码之前就是workaround,被坑了...
DTCC2013
• 现象:RS OOM: Direct buffer memory
• 经过社区讨论,在启用本地读特性后,如果hfile
句柄多了,每个有1MB的本地读相关联的buffer
pool引用,容易超限
可以参考HBase-8143讨论
• 心得:我们之前其实就遇到了但分析的不够,功
力待提升:)
DTCC2013
Agenda
• 选型依据
• upstream重要issue
• 集群check list
• 若干案例解析
• 一些微改进点与社区回馈
DTCC2013
• 结合metric机制,开发自己的监控、报警和
dashboard系统:汇聚、突出重点
• 线上enable Kerberos认证,为此hack了
zk/hadoop/hbase若干代码,坑无数。。。
• 接入业务时 修改scribe来满足需求
DTCC2013
• JVM:"Use CLOCK_MONOTONIC_RAW for
nanoTime if available on Linux" 该patch用于更合
理的处理时间跳变问题
• HADOOP:
libhdfs implementation of hsync API
Set daemon for HttpServer's QueuedThreadPool
Add ability to reset topologies on master nodes
Slow RPC can prevent metrics collection on DNs
...
DTCC2013
• HBASE:
optimize hfile index
parallel seek in StoreScanner
key range hints
tweak in-memory evict algorithm
reverse scan
...
DTCC2013
• 小米在Hadoop/HBase领域是新人,成立相
关专职研发团队才近半年,希望以后在开
源社区会有更多更重要的贡献,更希望社
区生态圈会越来越好^-^
• 欢迎各位来小米做技术交流和指导工作!
DTCC2013
Question?
DTCC2013

Más contenido relacionado

La actualidad más candente

开源分布式数据库Tidb简介
开源分布式数据库Tidb简介开源分布式数据库Tidb简介
开源分布式数据库Tidb简介www.tujia.com
 
架構設計-資料存取的選擇
架構設計-資料存取的選擇架構設計-資料存取的選擇
架構設計-資料存取的選擇國昭 張
 
豆瓣数据架构实践
豆瓣数据架构实践豆瓣数据架构实践
豆瓣数据架构实践Xupeng Yun
 
新浪微博redis技术演化
新浪微博redis技术演化新浪微博redis技术演化
新浪微博redis技术演化XiaoJun Hong
 
汤道生 开放平台架构设计
汤道生 开放平台架构设计汤道生 开放平台架构设计
汤道生 开放平台架构设计drewz lin
 
赵健博 -奇虎360超大规模h base集群增强与改进
赵健博 -奇虎360超大规模h base集群增强与改进赵健博 -奇虎360超大规模h base集群增强与改进
赵健博 -奇虎360超大规模h base集群增强与改进hdhappy001
 

La actualidad más candente (6)

开源分布式数据库Tidb简介
开源分布式数据库Tidb简介开源分布式数据库Tidb简介
开源分布式数据库Tidb简介
 
架構設計-資料存取的選擇
架構設計-資料存取的選擇架構設計-資料存取的選擇
架構設計-資料存取的選擇
 
豆瓣数据架构实践
豆瓣数据架构实践豆瓣数据架构实践
豆瓣数据架构实践
 
新浪微博redis技术演化
新浪微博redis技术演化新浪微博redis技术演化
新浪微博redis技术演化
 
汤道生 开放平台架构设计
汤道生 开放平台架构设计汤道生 开放平台架构设计
汤道生 开放平台架构设计
 
赵健博 -奇虎360超大规模h base集群增强与改进
赵健博 -奇虎360超大规模h base集群增强与改进赵健博 -奇虎360超大规模h base集群增强与改进
赵健博 -奇虎360超大规模h base集群增强与改进
 

Destacado

一个“兼职Dba”的数据库运维经验谈
一个“兼职Dba”的数据库运维经验谈一个“兼职Dba”的数据库运维经验谈
一个“兼职Dba”的数据库运维经验谈Liang Xie
 
Hadoop Adventures At Spotify (Strata Conference + Hadoop World 2013)
Hadoop Adventures At Spotify (Strata Conference + Hadoop World 2013)Hadoop Adventures At Spotify (Strata Conference + Hadoop World 2013)
Hadoop Adventures At Spotify (Strata Conference + Hadoop World 2013)Adam Kawa
 
How Apache Drives Music Recommendations At Spotify
How Apache Drives Music Recommendations At SpotifyHow Apache Drives Music Recommendations At Spotify
How Apache Drives Music Recommendations At SpotifyJosh Baer
 
The Evolution of Big Data at Spotify
The Evolution of Big Data at SpotifyThe Evolution of Big Data at Spotify
The Evolution of Big Data at SpotifyJosh Baer
 
BDTC2015 小米-大数据和小米金融
BDTC2015 小米-大数据和小米金融BDTC2015 小米-大数据和小米金融
BDTC2015 小米-大数据和小米金融Jerry Wen
 
Hadoop Operations Powered By ... Hadoop (Hadoop Summit 2014 Amsterdam)
Hadoop Operations Powered By ... Hadoop (Hadoop Summit 2014 Amsterdam)Hadoop Operations Powered By ... Hadoop (Hadoop Summit 2014 Amsterdam)
Hadoop Operations Powered By ... Hadoop (Hadoop Summit 2014 Amsterdam)Adam Kawa
 
Spotify architecture - Pressing play
Spotify architecture - Pressing playSpotify architecture - Pressing play
Spotify architecture - Pressing playNiklas Gustavsson
 
Big Data At Spotify
Big Data At SpotifyBig Data At Spotify
Big Data At SpotifyAdam Kawa
 
Hadoop Summit Europe 2014: Apache Storm Architecture
Hadoop Summit Europe 2014: Apache Storm ArchitectureHadoop Summit Europe 2014: Apache Storm Architecture
Hadoop Summit Europe 2014: Apache Storm ArchitectureP. Taylor Goetz
 

Destacado (10)

一个“兼职Dba”的数据库运维经验谈
一个“兼职Dba”的数据库运维经验谈一个“兼职Dba”的数据库运维经验谈
一个“兼职Dba”的数据库运维经验谈
 
Hadoop Adventures At Spotify (Strata Conference + Hadoop World 2013)
Hadoop Adventures At Spotify (Strata Conference + Hadoop World 2013)Hadoop Adventures At Spotify (Strata Conference + Hadoop World 2013)
Hadoop Adventures At Spotify (Strata Conference + Hadoop World 2013)
 
How Apache Drives Music Recommendations At Spotify
How Apache Drives Music Recommendations At SpotifyHow Apache Drives Music Recommendations At Spotify
How Apache Drives Music Recommendations At Spotify
 
The Evolution of Big Data at Spotify
The Evolution of Big Data at SpotifyThe Evolution of Big Data at Spotify
The Evolution of Big Data at Spotify
 
BDTC2015 小米-大数据和小米金融
BDTC2015 小米-大数据和小米金融BDTC2015 小米-大数据和小米金融
BDTC2015 小米-大数据和小米金融
 
Hadoop Operations Powered By ... Hadoop (Hadoop Summit 2014 Amsterdam)
Hadoop Operations Powered By ... Hadoop (Hadoop Summit 2014 Amsterdam)Hadoop Operations Powered By ... Hadoop (Hadoop Summit 2014 Amsterdam)
Hadoop Operations Powered By ... Hadoop (Hadoop Summit 2014 Amsterdam)
 
Data at Spotify
Data at SpotifyData at Spotify
Data at Spotify
 
Spotify architecture - Pressing play
Spotify architecture - Pressing playSpotify architecture - Pressing play
Spotify architecture - Pressing play
 
Big Data At Spotify
Big Data At SpotifyBig Data At Spotify
Big Data At Spotify
 
Hadoop Summit Europe 2014: Apache Storm Architecture
Hadoop Summit Europe 2014: Apache Storm ArchitectureHadoop Summit Europe 2014: Apache Storm Architecture
Hadoop Summit Europe 2014: Apache Storm Architecture
 

Similar a 小米Hadoop&hbase微实践

美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介pan weizeng
 
淘宝双11双12案例分享
淘宝双11双12案例分享淘宝双11双12案例分享
淘宝双11双12案例分享vanadies10
 
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构  王保平Top100summit前端的云时代支付宝前端平台架构  王保平
Top100summit前端的云时代支付宝前端平台架构 王保平drewz lin
 
machine learning introduction
machine learning introduction machine learning introduction
machine learning introduction FEG
 
MariaDB: 新兴的开源大数据引擎
MariaDB: 新兴的开源大数据引擎MariaDB: 新兴的开源大数据引擎
MariaDB: 新兴的开源大数据引擎Colin Charles
 
Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里li luo
 
张勇 搜搜前端架构
张勇 搜搜前端架构张勇 搜搜前端架构
张勇 搜搜前端架构isnull
 
用Python实现hadoop任务调度管理
用Python实现hadoop任务调度管理用Python实现hadoop任务调度管理
用Python实现hadoop任务调度管理Leo Zhou
 
1_MySQL_20220307_0328.pptx
1_MySQL_20220307_0328.pptx1_MySQL_20220307_0328.pptx
1_MySQL_20220307_0328.pptxFEG
 
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座NTC.im(Notch Training Center)
 
Hadoop的典型应用与企业化之路 for HBTC 2012
Hadoop的典型应用与企业化之路 for HBTC 2012Hadoop的典型应用与企业化之路 for HBTC 2012
Hadoop的典型应用与企业化之路 for HBTC 2012James Chen
 
01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overview01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overviewAlan Tsai
 
百度前端技术交流会--搜搜前端架构演变与优化
百度前端技术交流会--搜搜前端架构演变与优化百度前端技术交流会--搜搜前端架构演变与优化
百度前端技术交流会--搜搜前端架构演变与优化tiantianli
 
[Baidu web frontend_conference_2010]_[soso_frontend_architecture]
[Baidu web frontend_conference_2010]_[soso_frontend_architecture][Baidu web frontend_conference_2010]_[soso_frontend_architecture]
[Baidu web frontend_conference_2010]_[soso_frontend_architecture]思念 青青
 
美团技术沙龙04 美团下一代分布式存储系统
美团技术沙龙04   美团下一代分布式存储系统美团技术沙龙04   美团下一代分布式存储系统
美团技术沙龙04 美团下一代分布式存储系统美团点评技术团队
 
百度数据库中间层
百度数据库中间层百度数据库中间层
百度数据库中间层yp_fangdong
 
Taobao数据库这5年
Taobao数据库这5年Taobao数据库这5年
Taobao数据库这5年yp_fangdong
 
dtcc-Neo4j.pdf
dtcc-Neo4j.pdfdtcc-Neo4j.pdf
dtcc-Neo4j.pdffeichen84
 
赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展d0nn9n
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合Qiangning Hong
 

Similar a 小米Hadoop&hbase微实践 (20)

美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介
 
淘宝双11双12案例分享
淘宝双11双12案例分享淘宝双11双12案例分享
淘宝双11双12案例分享
 
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构  王保平Top100summit前端的云时代支付宝前端平台架构  王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
 
machine learning introduction
machine learning introduction machine learning introduction
machine learning introduction
 
MariaDB: 新兴的开源大数据引擎
MariaDB: 新兴的开源大数据引擎MariaDB: 新兴的开源大数据引擎
MariaDB: 新兴的开源大数据引擎
 
Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里
 
张勇 搜搜前端架构
张勇 搜搜前端架构张勇 搜搜前端架构
张勇 搜搜前端架构
 
用Python实现hadoop任务调度管理
用Python实现hadoop任务调度管理用Python实现hadoop任务调度管理
用Python实现hadoop任务调度管理
 
1_MySQL_20220307_0328.pptx
1_MySQL_20220307_0328.pptx1_MySQL_20220307_0328.pptx
1_MySQL_20220307_0328.pptx
 
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
 
Hadoop的典型应用与企业化之路 for HBTC 2012
Hadoop的典型应用与企业化之路 for HBTC 2012Hadoop的典型应用与企业化之路 for HBTC 2012
Hadoop的典型应用与企业化之路 for HBTC 2012
 
01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overview01 DevOps and Azure DevOps overview
01 DevOps and Azure DevOps overview
 
百度前端技术交流会--搜搜前端架构演变与优化
百度前端技术交流会--搜搜前端架构演变与优化百度前端技术交流会--搜搜前端架构演变与优化
百度前端技术交流会--搜搜前端架构演变与优化
 
[Baidu web frontend_conference_2010]_[soso_frontend_architecture]
[Baidu web frontend_conference_2010]_[soso_frontend_architecture][Baidu web frontend_conference_2010]_[soso_frontend_architecture]
[Baidu web frontend_conference_2010]_[soso_frontend_architecture]
 
美团技术沙龙04 美团下一代分布式存储系统
美团技术沙龙04   美团下一代分布式存储系统美团技术沙龙04   美团下一代分布式存储系统
美团技术沙龙04 美团下一代分布式存储系统
 
百度数据库中间层
百度数据库中间层百度数据库中间层
百度数据库中间层
 
Taobao数据库这5年
Taobao数据库这5年Taobao数据库这5年
Taobao数据库这5年
 
dtcc-Neo4j.pdf
dtcc-Neo4j.pdfdtcc-Neo4j.pdf
dtcc-Neo4j.pdf
 
赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展
 
合久必分,分久必合
合久必分,分久必合合久必分,分久必合
合久必分,分久必合
 

小米Hadoop&hbase微实践