Upload
satoshi-tagomori
View
5.705
Download
0
Tags:
Embed Size (px)
DESCRIPTION
LINE developer meetup in fukuoka 1 #LINE_DM
Citation preview
Log Analysis SystemsAnd its designsIn LINE Corp. 2014 Early
2014/02/20 (Thu)@tagomoris (TAGOMORI Satoshi)LINE Corp.LINE Developer Meetup in Fukuoka #1
14年2月20日木曜日
TAGOMORI Satoshi (@tagomoris)LINE Corp.
Development Support Team
14年2月20日木曜日
14年2月20日木曜日
14年2月20日木曜日
Data Collecting,Aggregation, Analytics,
Visualization
14年2月20日木曜日
See also:
「OSSで支えられるライブドアの巨大ログ集計」 (2012 Summer)http://www.slideshare.net/tagomoris/oss-nhntech
「Log analysis system with Hadoop in livedoor 2013 Winter」(2013 early)http://www.slideshare.net/tagomoris/log-analysis-with-hadoop-in-livedoor-2013
「Batch and Stream processing with SQL」 (2013 Fall)http://www.slideshare.net/tagomoris/batch-and-stream-processing-with-sql
14年2月20日木曜日
disclaimer:
This talk is about“a” log analysis system
in LINE.
14年2月20日木曜日
SQL好きですか?
14年2月20日木曜日
System Overview (2014)
Web ServersFluentdCluster
ArchiveStorage(scribed)
FluentdWatchers Graph
Tools
Notifications(IRC)
Hadoop Cluster(HDFS, MR)
webhdfs
HuahinManager
hiveserver
STREAM
Shib ShibUI
BATCH SCHEDULEDBATCH
Norikra
Presto Cluster
14年2月20日木曜日
System Overview (2014)
Web ServersFluentdCluster
ArchiveStorage(scribed)
FluentdWatchers Graph
Tools
Notifications(IRC)
Hadoop Cluster(HDFS, MR)
webhdfs
HuahinManager
hiveserver
STREAM
Shib ShibUI
BATCH SCHEDULEDBATCH
Norikra
Presto Cluster
JavaNode Perl
Ruby
14年2月20日木曜日
System Overview (2014)
Web ServersFluentdCluster
ArchiveStorage(scribed)
FluentdWatchers Graph
Tools
Notifications(IRC)
Hadoop Cluster(HDFS, MR)
webhdfs
HuahinManager
hiveserver
STREAM
Shib ShibUI
BATCH SCHEDULEDBATCH
Norikra
Presto Cluster
SQL
fluentd.conf
14年2月20日木曜日
Who uses it?Internet Messaging Service
Public Web Service
Game
Private Web Service (for closed person-to-persons)
Internal Web Service (administrator only)
Data Analytics Service
14年2月20日木曜日
Who uses it?Internet Messaging Service
Public Web Service
Game
Private Web Service (for closed person-to-persons)
Internal Web Service (administrator only)
Data Analytics Service
14年2月20日木曜日
Data analytics players
StoragesHadoop Cluster
Visualization Tools
ADMINISTRATOR
Raw Log FormatsApplication Logs
Data SizesData Semantics
PROGRAMMER
SERVICE DIRECTORSALES
Whatever Metrics They Want
BOARD MEMBER
........
14年2月20日木曜日
Data analytics players
StoragesHadoop Cluster
Visualization Tools
ADMINISTRATOR
Raw Log FormatsApplication Logs
Data SizesData Semantics
PROGRAMMER
SERVICE DIRECTORSALES
Whatever Metrics They Want
BOARD MEMBER
........
WE NEED THE QUERY LANGUAGEWHAT THEY ALL CAN
RUN AND UNDERSTAND!!!!!!!!!!
14年2月20日木曜日
Web ServersFluentdCluster
ArchiveStorage(scribed)
FluentdWatchers Graph
Tools
Notifications(IRC)
Hadoop Cluster(HDFS, MR)
webhdfs
HuahinManager
hiveserver
STREAM
Shib ShibUI
BATCH SCHEDULEDBATCH
14年2月20日木曜日
Web ServersFluentdCluster
ArchiveStorage(scribed)
FluentdWatchers Graph
Tools
Notifications(IRC)
Hadoop Cluster(HDFS, MR)
webhdfs
HuahinManager
hiveserver
STREAM
Shib ShibUI
BATCH SCHEDULEDBATCH
Norikra
Presto Cluster
14年2月20日木曜日
14年2月20日木曜日
SQL: Hive
14年2月20日木曜日
SQL: Hive
14年2月20日木曜日
Schema-less Stream Processing with SQL
Norikra
14年2月20日木曜日
14年2月20日木曜日
Software StackHadoop: CDH 4.5.0 w/ JDK6 (WebHDFS, Hive, HiveServer)
Presto: 0.59 w/ JDK7
Shib: v0.3.0 w/ Node.js v0.10
Fluentd: v0.10.39 w/ Ruby 2.0.0
And many plugins
Norikra: v0.1.3 w/ JRuby 1.7.4
14年2月20日木曜日
14年2月20日木曜日
Batches and StreamsHadoop is for batchesHigh performance batch is important
HDFS has good performance
Stream log writing and calcurationsare also VERY VERY IMPORTANT
Hybrid System:Stream processing + Batch
14年2月20日木曜日
Collect and deliveras
STREAM
Calculateas
BATCH
14年2月20日木曜日
BATCH
1st gen: First impl.Web Servers Scribed
ArchiveStorage(scribed)
Hadoop ClusterCDH3b2
(Hadoop Streaming)
hiveserver
STREAM
Shib
(LIBHDFS)
14年2月20日木曜日
Hadoop and Hive
Filesystem (HDFS)
Processing Framework (Hadoop MapReduce)
Query Compiler: SQL -> MR (Hive)
Thrift API Server (HiveServer)
Old style Java (....)
14年2月20日木曜日
Shib
WebUI Client for Hive
Query editor/executer + result viewer
HTTP JSON API Gateway for Hive query execution
Node.js
14年2月20日木曜日
2nd gen: +FluentdWeb Servers Fluentd
Cluster
ArchiveStorage(scribed)
Hadoop ClusterCDH3u2
(Hive)
Cludera Hoop
HuahinManager
hiveserver
STREAM
Shib
BATCH
14年2月20日木曜日
FluentdLog collector
Apache-like configuration
Pluggable Input/Output/Buffer on public plugin repository (rubygems.org)
Ruby 1.9 or later
Collect, and Store
collect: fluent-agent-lite (perl)
store: fluent-plugin-webhdfs
14年2月20日木曜日
Collect and deliveras
STREAM
Calculateas
BATCH
Monitoras
STREAM
14年2月20日木曜日
3rd gen: +MonitoringWeb Servers Fluentd
Cluster
ArchiveStorage(scribed)
FluentdWatchers Graph
Tools
Notifications(IRC)
Hadoop ClusterCDH3u5
(Hive)
webhdfs
HuahinManager
hiveserver
STREAM
Shib ShibUI
BATCH SCHEDULEDBATCH
14年2月20日木曜日
Fluentd plugins
Monitoring in real-time
message num/size counting
min, max, average and percentiles
Visualization and Notification
Graph tools (GrowthForecast / Focuslight)
IRC (or Mail, HipChat, ...)
14年2月20日木曜日
4th gen: +HA (hadoop)
Web Servers FluentdCluster
ArchiveStorage(scribed)
FluentdWatchers Graph
Tools
Notifications(IRC)
Hadoop ClusterCDH4
(HDFS, YARN)
webhdfs
HuahinManager
hiveserver
STREAM
Shib ShibUI
BATCH SCHEDULEDBATCH
14年2月20日木曜日
Collect and deliveras
STREAM
Calculateas
BATCH
Monitoras
STREAM
Calculateas
STREAMon demand
14年2月20日木曜日
Web ServersFluentdCluster
ArchiveStorage(scribed)
FluentdWatchers Graph
Tools
Notifications(IRC)
Hadoop Cluster(HDFS, MR)
webhdfs
HuahinManager
hiveserver
STREAM
Shib ShibUI
BATCH SCHEDULEDBATCH
Norikra
5th gen: +Norikra
14年2月20日木曜日
NorikraSQL Query for Streams
Add/Remove on demand (without restarts)
... and many features
HTTP JSON API
JRuby on JVM with Esper
14年2月20日木曜日
Norikra Queries: (1)
SELECT name, ageFROM events
WHERE current=”Fukuoka”
{“name”:”tagomoris”, “age”:34, “address”:”Tokyo”, “corp”:”LINE”, “current”:”Fukuoka”}
{“name”:”tagomoris”,”age”:34}
14年2月20日木曜日
Norikra Queries: (2)
SELECT age, COUNT(*) as cntFROM events.win:time_batch(5 mins)
WHERE current=”Fukuoka” GROUP BY age
{“name”:”tagomoris”, “age”:34, “address”:”Tokyo”, “corp”:”LINE”, “current”:”Fukuoka”}
{”age”:34,”cnt”:3}, {“age”:33,”cnt”:1}, ...
every 5 mins
14年2月20日木曜日
Collect and deliveras
STREAM
Calculateas
BATCH
Monitoras
STREAM
Calculateas
STREAMon demand
Calculateas
BATCHimmediatelyon demand
14年2月20日木曜日
Web ServersFluentdCluster
ArchiveStorage(scribed)
FluentdWatchers Graph
Tools
Notifications(IRC)
Hadoop Cluster(HDFS, MR)
webhdfs
HuahinManager
hiveserver
STREAM
Shib ShibUI
BATCH SCHEDULEDBATCH
Norikra
Presto Cluster
5th gen: +Presto
14年2月20日木曜日
PrestoOpen sourced by Facebook at 2013/11/07
MPP Engine: Massive Parallel Processing Engine
like Google BigQuery(Dremel), Cloudera Impala
short latency queries (It’s not main usage of Hive)
SQL
HTTP JSON API
Java 7 !
14年2月20日木曜日
Shib v0.3.0: presto support
User(browser)
AnalysisBatches
ServiceAdmin Tools
Shib
HiveServer
Presto
HTTP JSON API HTTP JSON API
THRIFT
HiveServer2THRIFT
14年2月20日木曜日
Non-monolithic architecture
Many subsystems for many purposes
Add/Update/Replace per subsystems
High interoperability by RPC-based connections
Gateway can hide backend implementations
14年2月20日木曜日
WHAT TO DOIS
NOT WHAT WE WANT TOBUT
WHAT WE ARE WANTED TO.
14年2月20日木曜日
THERE ARE MANY OF WHAT TO DO!
THANKS!
14年2月20日木曜日
Software list:
http://fluentd.org/
http://prestodb.io/
http://norikra.github.io/
https://github.com/tagomoris/shib
14年2月20日木曜日