SlideShare una empresa de Scribd logo
1 de 26
Introducing Apache
HTrace
by Colin McCabe and Abraham Elmarek
Roadmap
● Introduction
● Motivations
● Architecture
● Community
Introduction
Apache HTrace is a distributed tracing
framework. Currently in the incubator.
HTrace Goals
● To monitor system performance in
production.
● To diagnose performance issues, node
failures, and hardware problems.
● To help developers identify bottlenecks.
Big Idea #1
● Follow a single request across the entire
cluster.
○ Get timing and perfomance information back from
each node that helped to handle the request
○ Create trace spans for each bit of work.
○ Trace spans can have “parent spans”
HTrace Concepts
● Trace Span
○ A labelled length of time. Has a start time and end
time, a unique ID, and a description.{
"s": "092d6961d7e7a5a2",
"b": 1424813328586,
"e": 1424813328595,
"d": "ClientNamenodeProtocol#getListing",
"i": "51fbdaf67e364d18",
"p": [
"9840b24cedd01fcc"
],
"r": "FsShell"
}
Trace Spans, Visually
Big Idea #2
● Sampling
○ Sample a small percentage of all requests made.
Less than 1% usually.
○ Avoid the overhead of sampling every request, but
still get a good idea of where cluster resources are
going.
○ Can run HTrace in production, not just on a test
cluster. Find performance bottlenecks as they arise.
Motivations for building HTrace
● Diagnosing performance in distributed
systems is hard!
○ Often difficult to reproduce
○ Can be caused by a flaky network switch, heavy
traffic on a particular day, a bug, or the phase of the
moon.
Motivations for building HTrace
● Need to break down silos
○ Discover how HDFS performance problems affect
HBase
○ Trace requests from HBase into HDFS
○ Avoid the need to correlate hundreds of log files
Pluggable Architecture
● Two main parts
○ Clients
○ SpanReceivers
● Clients create spans
● SpanReceivers
handle them
HTrace Architecture
Java Client
C Client
HTracedRESTReceiver
LocalFileSpanReceiver
FlumeSpanReceiver
spans
and other span receivers...
Configuring Span Receivers
● Receivers are decoupled from the client.
● Can configure HDFS to use any HTrace
span receiver you want.
● Set hdfs.htrace.spanreceiver.classes to the
class name(s).
● For HBase, use hbase.htrace.spanreceiver.
classes
LocalFileSpanReceiver
● Writes spans to a local file in JSON format
● A very basic span receiver
● Useful for debugging HTrace.
● Not that useful in production.
HTracedReceiver
● Sends spans over the network to the htraced
daemon
● Batches and defers RPCs to avoid
excessive network traffic
The htraced daemon
htraced
● A central point to gather span data
● Written in Go
HTTP
htraced
● Receives spans from the HTracedReceivers.
● Gathers span data and make it accessible
● Web UI
● Stores spans in several LevelDB instances
○ A write-optimized datastore
○ Can take advantage of multiple disk drives
htrace command
● Can query the htraced daemon.
● More information via --help
usage: ./build/htrace [<flags>] <command> [<flags>] [<args> ...]
The Apache HTrace command-line tool. This tool retrieves and modifies settings and other data on a running
htraced daemon.
If we find an htraced-conf.xml configuration file in the list of directories specified in HTRACED_CONF_DIR, we
will use that configuration; otherwise, the defaults will be used.
Flags:
--help Show help.
--Dmy.key="my.value"
Set configuration key 'my.key' to 'my.value'. Replace 'my.key' with any key you want to set.
--addr=ADDR Server address.
...
htrace command
● Can get server info
● Can load spans into htraced from a file
● Can dump the contents of htraced into a file
● Can generate a .dot file from a file containing
span JSON strings
○ This can then be used to generate a JPG via
graphviz
Dumping the contents of HTraced
cmccabe@keter:~/src/htrace/htrace-core/src/go> ./build/htrace dumpAll
{"s":"092d6961d7e7a5a2","b":1424813328586,"e":1424813328595,"d":"
ClientNamenodeProtocol#getListing","i":"51fbdaf67e364d18","p":["9840b24cedd01fcc"],"r":"
FsShell"}
{"s":"3f48698cf024f40b","b":1424813328325,"e":1424813328522,"d":"
ClientNamenodeProtocol#getFileInfo","i":"9c2ff557d606c968","p":["d9be93a8cf076e97"],"r":"
FsShell","t":[{"t":1424813328485,"m":"IPC client connecting to a2402.halxg.cloudera.
com/10.20.212.10:8020"},{"t":1424813328506,"m":"IPC client connected to a2402.halxg.
cloudera.com/10.20.212.10:8020"}]}
...
Finding a Span in HTraced
cmccabe@keter:~/src/htrace/htrace-core/src/go> ./build/htrace findSpan 0x3f48698cf024f40b
{
"s": "3f48698cf024f40b",
"b": 1424813328325,
"e": 1424813328522,
"d": "ClientNamenodeProtocol#getFileInfo",
"i": "9c2ff557d606c968",
"p": [
"d9be93a8cf076e97"
],
"r": "FsShell",
...
htraced web UI
● A graphical web interface for htraced
htraced web UI planned features
● “Search” screen to search for spans by
description, time, duration, etc.
● “Span Details” screen to view detailed
information about a trace span, including a
graph of its parents and descendents
● “Histogram” screen to show statistics
Community
● Very active community
● Many mailing list messages every day
● Integrated into HDFS, Hadoop, HBase,
Accumulo, and others
Hadoop with HTrace
● HTrace has been integrated into HDFS
● Hadoop 2.7.0 supports Apache HTrace 3.1.0
HBase with HTrace
● HTrace has been integrated into HBase
● HBase 1.0.0 uses the Apache 3.1.0 release

Más contenido relacionado

La actualidad más candente

Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
DataStax
 

La actualidad más candente (20)

Apache Eagle - Monitor Hadoop in Real Time
Apache Eagle - Monitor Hadoop in Real TimeApache Eagle - Monitor Hadoop in Real Time
Apache Eagle - Monitor Hadoop in Real Time
 
Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...
Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...
Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...
 
Powering a Virtual Power Station with Big Data
Powering a Virtual Power Station with Big DataPowering a Virtual Power Station with Big Data
Powering a Virtual Power Station with Big Data
 
HBaseCon 2013: Being Smarter Than the Smart Meter
HBaseCon 2013: Being Smarter Than the Smart MeterHBaseCon 2013: Being Smarter Than the Smart Meter
HBaseCon 2013: Being Smarter Than the Smart Meter
 
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
 
Apache Hadoop YARN 3.x in Alibaba
Apache Hadoop YARN 3.x in AlibabaApache Hadoop YARN 3.x in Alibaba
Apache Hadoop YARN 3.x in Alibaba
 
Tez Shuffle Handler: Shuffling at Scale with Apache Hadoop
Tez Shuffle Handler: Shuffling at Scale with Apache HadoopTez Shuffle Handler: Shuffling at Scale with Apache Hadoop
Tez Shuffle Handler: Shuffling at Scale with Apache Hadoop
 
New Directions for Mahout
New Directions for MahoutNew Directions for Mahout
New Directions for Mahout
 
Sharing resources with non-Hadoop workloads
Sharing resources with non-Hadoop workloadsSharing resources with non-Hadoop workloads
Sharing resources with non-Hadoop workloads
 
Gruter TECHDAY 2014 Realtime Processing in Telco
Gruter TECHDAY 2014 Realtime Processing in TelcoGruter TECHDAY 2014 Realtime Processing in Telco
Gruter TECHDAY 2014 Realtime Processing in Telco
 
Practical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist ExamplePractical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist Example
 
HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...
 
HBase Data Modeling and Access Patterns with Kite SDK
HBase Data Modeling and Access Patterns with Kite SDKHBase Data Modeling and Access Patterns with Kite SDK
HBase Data Modeling and Access Patterns with Kite SDK
 
What's new in Hadoop Common and HDFS
What's new in Hadoop Common and HDFS What's new in Hadoop Common and HDFS
What's new in Hadoop Common and HDFS
 
Gfs vs hdfs
Gfs vs hdfsGfs vs hdfs
Gfs vs hdfs
 
Time-Series Apache HBase
Time-Series Apache HBaseTime-Series Apache HBase
Time-Series Apache HBase
 
Apache Spark 2.4 Bridges the Gap Between Big Data and Deep Learning
Apache Spark 2.4 Bridges the Gap Between Big Data and Deep LearningApache Spark 2.4 Bridges the Gap Between Big Data and Deep Learning
Apache Spark 2.4 Bridges the Gap Between Big Data and Deep Learning
 
dplyr Interfaces to Large-Scale Data
dplyr Interfaces to Large-Scale Datadplyr Interfaces to Large-Scale Data
dplyr Interfaces to Large-Scale Data
 
How to overcome mysterious problems caused by large and multi-tenancy Hadoop ...
How to overcome mysterious problems caused by large and multi-tenancy Hadoop ...How to overcome mysterious problems caused by large and multi-tenancy Hadoop ...
How to overcome mysterious problems caused by large and multi-tenancy Hadoop ...
 
Rolling Out Apache HBase for Mobile Offerings at Visa
Rolling Out Apache HBase for Mobile Offerings at Visa Rolling Out Apache HBase for Mobile Offerings at Visa
Rolling Out Apache HBase for Mobile Offerings at Visa
 

Destacado

Destacado (20)

HBaseCon 2015: HBase Performance Tuning @ Salesforce
HBaseCon 2015: HBase Performance Tuning @ SalesforceHBaseCon 2015: HBase Performance Tuning @ Salesforce
HBaseCon 2015: HBase Performance Tuning @ Salesforce
 
HBaseCon 2013: Using Coprocessors to Index Columns in an Elasticsearch Cluster
HBaseCon 2013: Using Coprocessors to Index Columns in an Elasticsearch Cluster HBaseCon 2013: Using Coprocessors to Index Columns in an Elasticsearch Cluster
HBaseCon 2013: Using Coprocessors to Index Columns in an Elasticsearch Cluster
 
HBaseCon 2015: HBase 2.0 and Beyond Panel
HBaseCon 2015: HBase 2.0 and Beyond PanelHBaseCon 2015: HBase 2.0 and Beyond Panel
HBaseCon 2015: HBase 2.0 and Beyond Panel
 
Apache HBase Improvements and Practices at Xiaomi
Apache HBase Improvements and Practices at XiaomiApache HBase Improvements and Practices at Xiaomi
Apache HBase Improvements and Practices at Xiaomi
 
HBaseCon 2015: Analyzing HBase Data with Apache Hive
HBaseCon 2015: Analyzing HBase Data with Apache  HiveHBaseCon 2015: Analyzing HBase Data with Apache  Hive
HBaseCon 2015: Analyzing HBase Data with Apache Hive
 
Update on OpenTSDB and AsyncHBase
Update on OpenTSDB and AsyncHBase Update on OpenTSDB and AsyncHBase
Update on OpenTSDB and AsyncHBase
 
Apache HBase at Airbnb
Apache HBase at Airbnb Apache HBase at Airbnb
Apache HBase at Airbnb
 
Improvements to Apache HBase and Its Applications in Alibaba Search
Improvements to Apache HBase and Its Applications in Alibaba Search Improvements to Apache HBase and Its Applications in Alibaba Search
Improvements to Apache HBase and Its Applications in Alibaba Search
 
HBaseCon 2015 General Session: State of HBase
HBaseCon 2015 General Session: State of HBaseHBaseCon 2015 General Session: State of HBase
HBaseCon 2015 General Session: State of HBase
 
HBaseCon 2015 General Session: The Evolution of HBase @ Bloomberg
HBaseCon 2015 General Session: The Evolution of HBase @ BloombergHBaseCon 2015 General Session: The Evolution of HBase @ Bloomberg
HBaseCon 2015 General Session: The Evolution of HBase @ Bloomberg
 
HBaseCon 2015: Meet HBase 1.0
HBaseCon 2015: Meet HBase 1.0HBaseCon 2015: Meet HBase 1.0
HBaseCon 2015: Meet HBase 1.0
 
Breaking the Sound Barrier with Persistent Memory
Breaking the Sound Barrier with Persistent Memory Breaking the Sound Barrier with Persistent Memory
Breaking the Sound Barrier with Persistent Memory
 
Off-heaping the Apache HBase Read Path
Off-heaping the Apache HBase Read Path Off-heaping the Apache HBase Read Path
Off-heaping the Apache HBase Read Path
 
Keynote: The Future of Apache HBase
Keynote: The Future of Apache HBaseKeynote: The Future of Apache HBase
Keynote: The Future of Apache HBase
 
HBaseCon 2015: Taming GC Pauses for Large Java Heap in HBase
HBaseCon 2015: Taming GC Pauses for Large Java Heap in HBaseHBaseCon 2015: Taming GC Pauses for Large Java Heap in HBase
HBaseCon 2015: Taming GC Pauses for Large Java Heap in HBase
 
HBaseCon 2015: Apache Phoenix - The Evolution of a Relational Database Layer ...
HBaseCon 2015: Apache Phoenix - The Evolution of a Relational Database Layer ...HBaseCon 2015: Apache Phoenix - The Evolution of a Relational Database Layer ...
HBaseCon 2015: Apache Phoenix - The Evolution of a Relational Database Layer ...
 
HBaseCon 2015 General Session: Zen - A Graph Data Model on HBase
HBaseCon 2015 General Session: Zen - A Graph Data Model on HBaseHBaseCon 2015 General Session: Zen - A Graph Data Model on HBase
HBaseCon 2015 General Session: Zen - A Graph Data Model on HBase
 
HBaseCon 2013: Apache Drill - A Community-driven Initiative to Deliver ANSI S...
HBaseCon 2013: Apache Drill - A Community-driven Initiative to Deliver ANSI S...HBaseCon 2013: Apache Drill - A Community-driven Initiative to Deliver ANSI S...
HBaseCon 2013: Apache Drill - A Community-driven Initiative to Deliver ANSI S...
 
A Graph Service for Global Web Entities Traversal and Reputation Evaluation B...
A Graph Service for Global Web Entities Traversal and Reputation Evaluation B...A Graph Service for Global Web Entities Traversal and Reputation Evaluation B...
A Graph Service for Global Web Entities Traversal and Reputation Evaluation B...
 
HBaseCon 2015: Warcbase - Scaling 'Out' and 'Down' HBase for Web Archiving
HBaseCon 2015: Warcbase - Scaling 'Out' and 'Down' HBase for Web ArchivingHBaseCon 2015: Warcbase - Scaling 'Out' and 'Down' HBase for Web Archiving
HBaseCon 2015: Warcbase - Scaling 'Out' and 'Down' HBase for Web Archiving
 

Similar a HBaseCon 2015: Solving HBase Performance Problems with Apache HTrace

Big data processing using hadoop poster presentation
Big data processing using hadoop poster presentationBig data processing using hadoop poster presentation
Big data processing using hadoop poster presentation
Amrut Patil
 
Marcel Kornacker: Impala tech talk Tue Feb 26th 2013
Marcel Kornacker: Impala tech talk Tue Feb 26th 2013Marcel Kornacker: Impala tech talk Tue Feb 26th 2013
Marcel Kornacker: Impala tech talk Tue Feb 26th 2013
Modern Data Stack France
 
Tuning parallelcodeonsolaris005
Tuning parallelcodeonsolaris005Tuning parallelcodeonsolaris005
Tuning parallelcodeonsolaris005
dflexer
 

Similar a HBaseCon 2015: Solving HBase Performance Problems with Apache HTrace (20)

New Jersey Red Hat Users Group Presentation: Provisioning anywhere
New Jersey Red Hat Users Group Presentation: Provisioning anywhereNew Jersey Red Hat Users Group Presentation: Provisioning anywhere
New Jersey Red Hat Users Group Presentation: Provisioning anywhere
 
Using R on High Performance Computers
Using R on High Performance ComputersUsing R on High Performance Computers
Using R on High Performance Computers
 
Scylla Summit 2022: ScyllaDB Rust Driver: One Driver to Rule Them All
Scylla Summit 2022: ScyllaDB Rust Driver: One Driver to Rule Them AllScylla Summit 2022: ScyllaDB Rust Driver: One Driver to Rule Them All
Scylla Summit 2022: ScyllaDB Rust Driver: One Driver to Rule Them All
 
Big data processing using hadoop poster presentation
Big data processing using hadoop poster presentationBig data processing using hadoop poster presentation
Big data processing using hadoop poster presentation
 
Marcel Kornacker: Impala tech talk Tue Feb 26th 2013
Marcel Kornacker: Impala tech talk Tue Feb 26th 2013Marcel Kornacker: Impala tech talk Tue Feb 26th 2013
Marcel Kornacker: Impala tech talk Tue Feb 26th 2013
 
Designate - Operators Deep Dive
Designate - Operators Deep DiveDesignate - Operators Deep Dive
Designate - Operators Deep Dive
 
Big Data Day LA 2015 - Compiling DSLs for Diverse Execution Environments by Z...
Big Data Day LA 2015 - Compiling DSLs for Diverse Execution Environments by Z...Big Data Day LA 2015 - Compiling DSLs for Diverse Execution Environments by Z...
Big Data Day LA 2015 - Compiling DSLs for Diverse Execution Environments by Z...
 
BKK16-103 OpenCSD - Open for Business!
BKK16-103 OpenCSD - Open for Business!BKK16-103 OpenCSD - Open for Business!
BKK16-103 OpenCSD - Open for Business!
 
OpenTSDB for monitoring @ Criteo
OpenTSDB for monitoring @ CriteoOpenTSDB for monitoring @ Criteo
OpenTSDB for monitoring @ Criteo
 
Building a Dynamic Rules Engine with Kafka Streams
Building a Dynamic Rules Engine with Kafka StreamsBuilding a Dynamic Rules Engine with Kafka Streams
Building a Dynamic Rules Engine with Kafka Streams
 
S51281 - Accelerate Data Science in Python with RAPIDS_1679330128290001YmT7.pdf
S51281 - Accelerate Data Science in Python with RAPIDS_1679330128290001YmT7.pdfS51281 - Accelerate Data Science in Python with RAPIDS_1679330128290001YmT7.pdf
S51281 - Accelerate Data Science in Python with RAPIDS_1679330128290001YmT7.pdf
 
Typesafe spark- Zalando meetup
Typesafe spark- Zalando meetupTypesafe spark- Zalando meetup
Typesafe spark- Zalando meetup
 
Gluster dev session #6 understanding gluster's network communication layer
Gluster dev session #6  understanding gluster's network   communication layerGluster dev session #6  understanding gluster's network   communication layer
Gluster dev session #6 understanding gluster's network communication layer
 
10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production
 
Neo4j after 1 year in production
Neo4j after 1 year in productionNeo4j after 1 year in production
Neo4j after 1 year in production
 
Spark 计算模型
Spark 计算模型Spark 计算模型
Spark 计算模型
 
Kubernetes @ Squarespace: Kubernetes in the Datacenter
Kubernetes @ Squarespace: Kubernetes in the DatacenterKubernetes @ Squarespace: Kubernetes in the Datacenter
Kubernetes @ Squarespace: Kubernetes in the Datacenter
 
linux installation.pdf
linux installation.pdflinux installation.pdf
linux installation.pdf
 
Multi-cluster k8ssandra
Multi-cluster k8ssandraMulti-cluster k8ssandra
Multi-cluster k8ssandra
 
Tuning parallelcodeonsolaris005
Tuning parallelcodeonsolaris005Tuning parallelcodeonsolaris005
Tuning parallelcodeonsolaris005
 

Más de HBaseCon

Más de HBaseCon (20)

hbaseconasia2017: Building online HBase cluster of Zhihu based on Kubernetes
hbaseconasia2017: Building online HBase cluster of Zhihu based on Kuberneteshbaseconasia2017: Building online HBase cluster of Zhihu based on Kubernetes
hbaseconasia2017: Building online HBase cluster of Zhihu based on Kubernetes
 
hbaseconasia2017: HBase on Beam
hbaseconasia2017: HBase on Beamhbaseconasia2017: HBase on Beam
hbaseconasia2017: HBase on Beam
 
hbaseconasia2017: HBase Disaster Recovery Solution at Huawei
hbaseconasia2017: HBase Disaster Recovery Solution at Huaweihbaseconasia2017: HBase Disaster Recovery Solution at Huawei
hbaseconasia2017: HBase Disaster Recovery Solution at Huawei
 
hbaseconasia2017: Removable singularity: a story of HBase upgrade in Pinterest
hbaseconasia2017: Removable singularity: a story of HBase upgrade in Pinteresthbaseconasia2017: Removable singularity: a story of HBase upgrade in Pinterest
hbaseconasia2017: Removable singularity: a story of HBase upgrade in Pinterest
 
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
 
hbaseconasia2017: Apache HBase at Netease
hbaseconasia2017: Apache HBase at Neteasehbaseconasia2017: Apache HBase at Netease
hbaseconasia2017: Apache HBase at Netease
 
hbaseconasia2017: HBase在Hulu的使用和实践
hbaseconasia2017: HBase在Hulu的使用和实践hbaseconasia2017: HBase在Hulu的使用和实践
hbaseconasia2017: HBase在Hulu的使用和实践
 
hbaseconasia2017: 基于HBase的企业级大数据平台
hbaseconasia2017: 基于HBase的企业级大数据平台hbaseconasia2017: 基于HBase的企业级大数据平台
hbaseconasia2017: 基于HBase的企业级大数据平台
 
hbaseconasia2017: HBase at JD.com
hbaseconasia2017: HBase at JD.comhbaseconasia2017: HBase at JD.com
hbaseconasia2017: HBase at JD.com
 
hbaseconasia2017: Large scale data near-line loading method and architecture
hbaseconasia2017: Large scale data near-line loading method and architecturehbaseconasia2017: Large scale data near-line loading method and architecture
hbaseconasia2017: Large scale data near-line loading method and architecture
 
hbaseconasia2017: Ecosystems with HBase and CloudTable service at Huawei
hbaseconasia2017: Ecosystems with HBase and CloudTable service at Huaweihbaseconasia2017: Ecosystems with HBase and CloudTable service at Huawei
hbaseconasia2017: Ecosystems with HBase and CloudTable service at Huawei
 
hbaseconasia2017: HBase Practice At XiaoMi
hbaseconasia2017: HBase Practice At XiaoMihbaseconasia2017: HBase Practice At XiaoMi
hbaseconasia2017: HBase Practice At XiaoMi
 
hbaseconasia2017: hbase-2.0.0
hbaseconasia2017: hbase-2.0.0hbaseconasia2017: hbase-2.0.0
hbaseconasia2017: hbase-2.0.0
 
HBaseCon2017 Democratizing HBase
HBaseCon2017 Democratizing HBaseHBaseCon2017 Democratizing HBase
HBaseCon2017 Democratizing HBase
 
HBaseCon2017 Removable singularity: a story of HBase upgrade in Pinterest
HBaseCon2017 Removable singularity: a story of HBase upgrade in PinterestHBaseCon2017 Removable singularity: a story of HBase upgrade in Pinterest
HBaseCon2017 Removable singularity: a story of HBase upgrade in Pinterest
 
HBaseCon2017 Quanta: Quora's hierarchical counting system on HBase
HBaseCon2017 Quanta: Quora's hierarchical counting system on HBaseHBaseCon2017 Quanta: Quora's hierarchical counting system on HBase
HBaseCon2017 Quanta: Quora's hierarchical counting system on HBase
 
HBaseCon2017 Transactions in HBase
HBaseCon2017 Transactions in HBaseHBaseCon2017 Transactions in HBase
HBaseCon2017 Transactions in HBase
 
HBaseCon2017 Highly-Available HBase
HBaseCon2017 Highly-Available HBaseHBaseCon2017 Highly-Available HBase
HBaseCon2017 Highly-Available HBase
 
HBaseCon2017 Apache HBase at Didi
HBaseCon2017 Apache HBase at DidiHBaseCon2017 Apache HBase at Didi
HBaseCon2017 Apache HBase at Didi
 
HBaseCon2017 gohbase: Pure Go HBase Client
HBaseCon2017 gohbase: Pure Go HBase ClientHBaseCon2017 gohbase: Pure Go HBase Client
HBaseCon2017 gohbase: Pure Go HBase Client
 

Último

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 

Último (20)

Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 

HBaseCon 2015: Solving HBase Performance Problems with Apache HTrace

  • 1. Introducing Apache HTrace by Colin McCabe and Abraham Elmarek
  • 2. Roadmap ● Introduction ● Motivations ● Architecture ● Community
  • 3. Introduction Apache HTrace is a distributed tracing framework. Currently in the incubator.
  • 4. HTrace Goals ● To monitor system performance in production. ● To diagnose performance issues, node failures, and hardware problems. ● To help developers identify bottlenecks.
  • 5. Big Idea #1 ● Follow a single request across the entire cluster. ○ Get timing and perfomance information back from each node that helped to handle the request ○ Create trace spans for each bit of work. ○ Trace spans can have “parent spans”
  • 6. HTrace Concepts ● Trace Span ○ A labelled length of time. Has a start time and end time, a unique ID, and a description.{ "s": "092d6961d7e7a5a2", "b": 1424813328586, "e": 1424813328595, "d": "ClientNamenodeProtocol#getListing", "i": "51fbdaf67e364d18", "p": [ "9840b24cedd01fcc" ], "r": "FsShell" }
  • 8. Big Idea #2 ● Sampling ○ Sample a small percentage of all requests made. Less than 1% usually. ○ Avoid the overhead of sampling every request, but still get a good idea of where cluster resources are going. ○ Can run HTrace in production, not just on a test cluster. Find performance bottlenecks as they arise.
  • 9. Motivations for building HTrace ● Diagnosing performance in distributed systems is hard! ○ Often difficult to reproduce ○ Can be caused by a flaky network switch, heavy traffic on a particular day, a bug, or the phase of the moon.
  • 10. Motivations for building HTrace ● Need to break down silos ○ Discover how HDFS performance problems affect HBase ○ Trace requests from HBase into HDFS ○ Avoid the need to correlate hundreds of log files
  • 11. Pluggable Architecture ● Two main parts ○ Clients ○ SpanReceivers ● Clients create spans ● SpanReceivers handle them
  • 12. HTrace Architecture Java Client C Client HTracedRESTReceiver LocalFileSpanReceiver FlumeSpanReceiver spans and other span receivers...
  • 13. Configuring Span Receivers ● Receivers are decoupled from the client. ● Can configure HDFS to use any HTrace span receiver you want. ● Set hdfs.htrace.spanreceiver.classes to the class name(s). ● For HBase, use hbase.htrace.spanreceiver. classes
  • 14. LocalFileSpanReceiver ● Writes spans to a local file in JSON format ● A very basic span receiver ● Useful for debugging HTrace. ● Not that useful in production.
  • 15. HTracedReceiver ● Sends spans over the network to the htraced daemon ● Batches and defers RPCs to avoid excessive network traffic
  • 16. The htraced daemon htraced ● A central point to gather span data ● Written in Go HTTP
  • 17. htraced ● Receives spans from the HTracedReceivers. ● Gathers span data and make it accessible ● Web UI ● Stores spans in several LevelDB instances ○ A write-optimized datastore ○ Can take advantage of multiple disk drives
  • 18. htrace command ● Can query the htraced daemon. ● More information via --help usage: ./build/htrace [<flags>] <command> [<flags>] [<args> ...] The Apache HTrace command-line tool. This tool retrieves and modifies settings and other data on a running htraced daemon. If we find an htraced-conf.xml configuration file in the list of directories specified in HTRACED_CONF_DIR, we will use that configuration; otherwise, the defaults will be used. Flags: --help Show help. --Dmy.key="my.value" Set configuration key 'my.key' to 'my.value'. Replace 'my.key' with any key you want to set. --addr=ADDR Server address. ...
  • 19. htrace command ● Can get server info ● Can load spans into htraced from a file ● Can dump the contents of htraced into a file ● Can generate a .dot file from a file containing span JSON strings ○ This can then be used to generate a JPG via graphviz
  • 20. Dumping the contents of HTraced cmccabe@keter:~/src/htrace/htrace-core/src/go> ./build/htrace dumpAll {"s":"092d6961d7e7a5a2","b":1424813328586,"e":1424813328595,"d":" ClientNamenodeProtocol#getListing","i":"51fbdaf67e364d18","p":["9840b24cedd01fcc"],"r":" FsShell"} {"s":"3f48698cf024f40b","b":1424813328325,"e":1424813328522,"d":" ClientNamenodeProtocol#getFileInfo","i":"9c2ff557d606c968","p":["d9be93a8cf076e97"],"r":" FsShell","t":[{"t":1424813328485,"m":"IPC client connecting to a2402.halxg.cloudera. com/10.20.212.10:8020"},{"t":1424813328506,"m":"IPC client connected to a2402.halxg. cloudera.com/10.20.212.10:8020"}]} ...
  • 21. Finding a Span in HTraced cmccabe@keter:~/src/htrace/htrace-core/src/go> ./build/htrace findSpan 0x3f48698cf024f40b { "s": "3f48698cf024f40b", "b": 1424813328325, "e": 1424813328522, "d": "ClientNamenodeProtocol#getFileInfo", "i": "9c2ff557d606c968", "p": [ "d9be93a8cf076e97" ], "r": "FsShell", ...
  • 22. htraced web UI ● A graphical web interface for htraced
  • 23. htraced web UI planned features ● “Search” screen to search for spans by description, time, duration, etc. ● “Span Details” screen to view detailed information about a trace span, including a graph of its parents and descendents ● “Histogram” screen to show statistics
  • 24. Community ● Very active community ● Many mailing list messages every day ● Integrated into HDFS, Hadoop, HBase, Accumulo, and others
  • 25. Hadoop with HTrace ● HTrace has been integrated into HDFS ● Hadoop 2.7.0 supports Apache HTrace 3.1.0
  • 26. HBase with HTrace ● HTrace has been integrated into HBase ● HBase 1.0.0 uses the Apache 3.1.0 release