SlideShare a Scribd company logo
1 of 29
Download to read offline
Apache ZooKeeper
分散システムのツアー #1
Chris
2014/7/1
#m3dev
https://github.com/m3dev/distrib-systems-tour
Apache ZooKeeper
http://zookeeper.apache.org/
元Hadoop子プロジェクト
(Yahoo!発)
2008年(?)からApacheトップレベル
ZooKeeperとは
“ZooKeeper is a centralized service for
maintaining configuration information, naming,
providing distributed synchronization, and
providing group services.”
と言うと…?
ZooKeeper とは
ZKの用途・使い道を考える前、
まず基本機能を知っておくと良い
基本機能1:ツリー構造
ZKはファイルシステムっぽいツリー構造を提供す
る。
ただし「フォルダ」と「ファイル」を区別しない。どちら
も「ZNode」と呼ぶ。
ZNodeはデータも入れ子も持てる。
基本機能1:ツリー構造
/
/hoge
- data: “hello world”
/hoge/foo
- data: “I am a foo”
/hoge/bar
- data 無し
ZNodeデータについて
● 少量の想定(最大1MB)
○ 大量のデータを持たせると性能が著しく落ちる
● バイナリデータ(byte[])
○ ZKは中身を気にしない
○ 文字列とかJSONが一般的
ZNodeデータ:バージョン管理
ZNodeのデータを変更すると、
バージョン番号がインクリメントされる。
バージョンを指定し条件付き操作ができる。
(Compare-and-swapやETagのイメージ)
“まだバージョン123であれば、
データをこれに更新してください”
基本機能2:ZNode監視
● ZNode作成・削除
● ZNodeデータ変更
● ZNodeの子ノードの作成・削除
のウォッチを登録できる
注意:一度通知を発行したらウォッチは消え、再登
録が必要。
その際、イベントを見落とすかもしれない。
基本機能3:Ephemeral(短命)node
ZNodeを作成したクライアントのセッション終了時
に自動化に消える、特殊なZNode
ZNode監視と組み合わせると便利:
1. クライアントAが短命Node /hoge を作成
2. クライアントBがウォッチを登録
3. クライアントAの突然の死!
4. Nodeが消えて、Bさんに通知が飛ぶ
基本機能4:シーケンシャルZNode
一意のZnode名を保証する仕組み
“create sequential node /hoge/foo-”
→ /hoge/foo-0000000000
“create sequential node /hoge/foo-”
→ /hoge/foo-0000000001
短命+シーケンシャルなZNodeも作れる。
基本機能4:可用性
ZKを複数台のクラスタで運用できる。
(1台構成もアプリ組み込みでも可能)
書き込みはクォーラム(Ex:3台)にレプリケートし
てからACKする。
(Split-brain問題を防ぐため
クォーラムをN/2以上にしなさい)
基本機能4:可用性
ZK1 ZK2 ZK4 ZK5ZK3
クライアント
WRITE ACK
ZooKeeperの使い道
以上の基本機能を使って何ができるか?
● 設定情報の一元管理
● サービス登録・ディスカバリ
● リーダー選挙
● 分散ロック
● バリアー
● FIFOキュー
使い道:設定情報の一元管理
多数のマシンの設定管理は面倒。
ZKに入れれば一元管理できて便利。
アプリ アプリ アプリ アプリ アプリ アプリ
ZK
設定
使い道:サービス登録・ディスカバリ
Hoge
サービス
Hoge
サービス
アプリ
ZK
Hoge
サービス
登録
”Hogeサービスをください”
使い道:サービス登録・ディスカバリ
サービス登録:
● 短命ノード /hogeServices/{id} を作成
○ 短命だからインスタンスが落ちたら消える
● データ=サービスのIPアドレス、など
ディスカバリ:
● /hogeServices/ の子供一覧を取得
● 利用するインスタンスを選ぶ
○ ラウンドロビン、など
使い道:リーダー選挙
Hoge
サービス
Hoge
サービス
ZK
Hoge
サービス
リーダー
リソース
書き込み 読み込み only
使い道:リーダー選挙
リーダー立候補:
● 短命+シーケンシャルZNodeを作成
○ /election/myId_000000N
● Nより小さいノードが
○ 無い → やったー!自分がリーダー
○ ある → 誰かが既にリーダー
■ そのZNodeをウォッチする
■ 消えたら自分がリーダーになる
使い道:分散ロック
基本的にリーダー選挙と同じ仕組み
使い道:バリアー
バリアーをセット:
● ZNode /barrier を作成
バリアーをチェック:
● /barrier の有無をチェック
○ 無い → 進んでOK
○ ある → ウォッチを設定
■ ZNodeが削除されたら進んでOK
使い道:FIFOキュー
Consumer
Producer ZK
Producer
コンシューマが1個しかない想定
使い道:FIFOキュー
要素の追加:
● シーケンシャルZNodeを作成
○ /queue/0000000N
○ データ=要素自体
要素の取得・処理:
● /queue/ の子供一覧を取得
● 名前昇順で処理する
○ 処理したらZNodeを削除
ZooKeeper インタフェース
● TCP(defaultポート=2181)
● API
○ Java
○ Ruby (zk gem)
○ ...
● CLI ツール
○ ZooKeeperのtarballに入っている
Apache Curator
http://curator.apache.org/
ZKの標準APIは正直、面倒くさい
Curatorは使い勝手の良いAPIでラップする
+よく使うレシピが実装してある
+いくつかの便利ユーティリティ
その他のおもしろプロジェクト
Ordasity
● https://github.com/boundary/ordasity
● クラスタでの自動ワーク分担
強い依存は要注意
http://engineering.pinterest.
com/post/77933733851/zookeeper-
resilience-at-pinterest
ZKをSPoFにするな!
Quick start (OS X)
$ brew install zookeeper
$ zkServer start
$ zkCli
Connecting to localhost:2181
Welcome to ZooKeeper!
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 1] create /hoge "hello"
Created /hoge
[zk: localhost:2181(CONNECTED) 2] get /hoge
"hello"
cZxid = 0x8
ctime = Sun Jun 29 12:54:03 JST 2014
...
ハンズオン!
https://github.com/m3dev/distrib-systems-tour
ひな形プロジェクト
● Skinny, Play1
アイデア
● 遅延タスク(メール配信とか)の管理
● サービスディスカバリを使ってみる
● バリアー+WebSocketsで何かを作る

More Related Content

What's hot

LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境Shinsuke Sugaya
 
【メモ】一般的に設計書に定義される項目例
【メモ】一般的に設計書に定義される項目例【メモ】一般的に設計書に定義される項目例
【メモ】一般的に設計書に定義される項目例Hirokazu Yatsunami
 
20091030cakephphandson 02
20091030cakephphandson 0220091030cakephphandson 02
20091030cakephphandson 02Yusuke Ando
 
2019-10-18 JXUG Xamarin.Essentials - #3 File System Helpers
2019-10-18 JXUG Xamarin.Essentials - #3 File System Helpers2019-10-18 JXUG Xamarin.Essentials - #3 File System Helpers
2019-10-18 JXUG Xamarin.Essentials - #3 File System HelpersTakeshi Fujimoto
 
R以外の研究ツール
R以外の研究ツールR以外の研究ツール
R以外の研究ツール弘毅 露崎
 
Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207Jun Ohtani
 
Alfrescoのカスタムテーブルの使い方
Alfrescoのカスタムテーブルの使い方Alfrescoのカスタムテーブルの使い方
Alfrescoのカスタムテーブルの使い方Jun Terashita
 
[Alfresco]ドキュメントライブラリのUIカスタマイズ
[Alfresco]ドキュメントライブラリのUIカスタマイズ[Alfresco]ドキュメントライブラリのUIカスタマイズ
[Alfresco]ドキュメントライブラリのUIカスタマイズJun Terashita
 
コード読経会報告書
コード読経会報告書コード読経会報告書
コード読経会報告書Masahiko Toyoshi
 
2019-09-20 JXUG Introduction to Xamarin.Essentials #2 Preferences
2019-09-20 JXUG Introduction to Xamarin.Essentials #2 Preferences2019-09-20 JXUG Introduction to Xamarin.Essentials #2 Preferences
2019-09-20 JXUG Introduction to Xamarin.Essentials #2 PreferencesTakeshi Fujimoto
 
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみました
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみましたEucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみました
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみましたEtsuji Nakai
 
VPとSPIDERを使ったMySQL運用
VPとSPIDERを使ったMySQL運用VPとSPIDERを使ったMySQL運用
VPとSPIDERを使ったMySQL運用Ryuta Kamizono
 
しょしんしゃのためのhello world
しょしんしゃのためのhello worldしょしんしゃのためのhello world
しょしんしゃのためのhello worldwata2ki
 

What's hot (20)

Yahoo!ボックスAPI Hackathon向け資料
Yahoo!ボックスAPI Hackathon向け資料Yahoo!ボックスAPI Hackathon向け資料
Yahoo!ボックスAPI Hackathon向け資料
 
Yahoo!ボックスAPI Hackday資料
Yahoo!ボックスAPI Hackday資料Yahoo!ボックスAPI Hackday資料
Yahoo!ボックスAPI Hackday資料
 
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
 
【メモ】一般的に設計書に定義される項目例
【メモ】一般的に設計書に定義される項目例【メモ】一般的に設計書に定義される項目例
【メモ】一般的に設計書に定義される項目例
 
20091030cakephphandson 02
20091030cakephphandson 0220091030cakephphandson 02
20091030cakephphandson 02
 
2019-10-18 JXUG Xamarin.Essentials - #3 File System Helpers
2019-10-18 JXUG Xamarin.Essentials - #3 File System Helpers2019-10-18 JXUG Xamarin.Essentials - #3 File System Helpers
2019-10-18 JXUG Xamarin.Essentials - #3 File System Helpers
 
R以外の研究ツール
R以外の研究ツールR以外の研究ツール
R以外の研究ツール
 
Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207Elasticsearch入門 pyfes 201207
Elasticsearch入門 pyfes 201207
 
Nio2
Nio2Nio2
Nio2
 
Alfrescoのカスタムテーブルの使い方
Alfrescoのカスタムテーブルの使い方Alfrescoのカスタムテーブルの使い方
Alfrescoのカスタムテーブルの使い方
 
[Alfresco]ドキュメントライブラリのUIカスタマイズ
[Alfresco]ドキュメントライブラリのUIカスタマイズ[Alfresco]ドキュメントライブラリのUIカスタマイズ
[Alfresco]ドキュメントライブラリのUIカスタマイズ
 
コード読経会報告書
コード読経会報告書コード読経会報告書
コード読経会報告書
 
2019-09-20 JXUG Introduction to Xamarin.Essentials #2 Preferences
2019-09-20 JXUG Introduction to Xamarin.Essentials #2 Preferences2019-09-20 JXUG Introduction to Xamarin.Essentials #2 Preferences
2019-09-20 JXUG Introduction to Xamarin.Essentials #2 Preferences
 
Fig
FigFig
Fig
 
DeclarativeSql
DeclarativeSqlDeclarativeSql
DeclarativeSql
 
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみました
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみましたEucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみました
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみました
 
Teclab3
Teclab3Teclab3
Teclab3
 
VPとSPIDERを使ったMySQL運用
VPとSPIDERを使ったMySQL運用VPとSPIDERを使ったMySQL運用
VPとSPIDERを使ったMySQL運用
 
Sc2009autumn s2robot
Sc2009autumn s2robotSc2009autumn s2robot
Sc2009autumn s2robot
 
しょしんしゃのためのhello world
しょしんしゃのためのhello worldしょしんしゃのためのhello world
しょしんしゃのためのhello world
 

Viewers also liked

Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)NTT DATA OSS Professional Services
 
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)NTT DATA OSS Professional Services
 
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)NTT DATA OSS Professional Services
 
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)NTT DATA OSS Professional Services
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~NTT DATA OSS Professional Services
 
Hadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイントHadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイントCloudera Japan
 
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Ken SASAKI
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)hamaken
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) hamaken
 

Viewers also liked (16)

Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
 
HTrace: Tracing in HBase and HDFS (HBase Meetup)
HTrace: Tracing in HBase and HDFS (HBase Meetup)HTrace: Tracing in HBase and HDFS (HBase Meetup)
HTrace: Tracing in HBase and HDFS (HBase Meetup)
 
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
 
Hadoop2.6の最新機能+
Hadoop2.6の最新機能+Hadoop2.6の最新機能+
Hadoop2.6の最新機能+
 
Hadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tkHadoop ecosystem NTTDATA osc15tk
Hadoop ecosystem NTTDATA osc15tk
 
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)
 
Apache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATAApache Spark 1000 nodes NTT DATA
Apache Spark 1000 nodes NTT DATA
 
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
Sparkをノートブックにまとめちゃおう。Zeppelinでね!(Hadoopソースコードリーディング 第19回 発表資料)
 
Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)Apache Hadoop 2.8.0 の新機能 (抜粋)
Apache Hadoop 2.8.0 の新機能 (抜粋)
 
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
データ活用をもっともっと円滑に! ~データ処理・分析基盤編を少しだけ~
 
Hadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイントHadoopのシステム設計・運用のポイント
Hadoopのシステム設計・運用のポイント
 
日々進化するHadoopの 「いま」
日々進化するHadoopの 「いま」日々進化するHadoopの 「いま」
日々進化するHadoopの 「いま」
 
Spark MLlibではじめるスケーラブルな機械学習
Spark MLlibではじめるスケーラブルな機械学習Spark MLlibではじめるスケーラブルな機械学習
Spark MLlibではじめるスケーラブルな機械学習
 
Hadoopの概念と基本的知識
Hadoopの概念と基本的知識Hadoopの概念と基本的知識
Hadoopの概念と基本的知識
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
 
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料) 40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
 

Similar to Tour of distributed systems 1 - ZooKeeper

Getting Started Japanese Search and Calculate Similarity with Apache Lucene
Getting Started Japanese Search and Calculate Similarity with Apache LuceneGetting Started Japanese Search and Calculate Similarity with Apache Lucene
Getting Started Japanese Search and Calculate Similarity with Apache LuceneEiji Shinohara
 
Hive undocumented feature
Hive undocumented featureHive undocumented feature
Hive undocumented featuretamtam180
 
Xcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhiosXcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhiosTomohiro Kumagai
 
20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)Takahiro Iwase
 
Hadoopの紹介
Hadoopの紹介Hadoopの紹介
Hadoopの紹介bigt23
 
Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編ThinkIT_impress
 
20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)
20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)
20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)kulibrarians
 
Hadoop on eucalyptus_20110221
Hadoop on eucalyptus_20110221Hadoop on eucalyptus_20110221
Hadoop on eucalyptus_20110221Etsuji Nakai
 
Hiveハンズオン
HiveハンズオンHiveハンズオン
HiveハンズオンSatoshi Noto
 
できる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャできる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャazuma satoshi
 
Apache Auroraの始めかた
Apache Auroraの始めかたApache Auroraの始めかた
Apache Auroraの始めかたMasahito Zembutsu
 
Apache Geode の Apache Lucene Integration を試してみた
Apache Geode の Apache Lucene Integration を試してみたApache Geode の Apache Lucene Integration を試してみた
Apache Geode の Apache Lucene Integration を試してみたAkihiro Kitada
 
Laravelで 自家製ライブラリを 作ってみよう!
Laravelで自家製ライブラリを作ってみよう!Laravelで自家製ライブラリを作ってみよう!
Laravelで 自家製ライブラリを 作ってみよう!Shota Inoue
 
鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解Masahito Zembutsu
 
実はとても面白い...Documentation library
実はとても面白い...Documentation library実はとても面白い...Documentation library
実はとても面白い...Documentation libraryKouta Shiobara
 
Hadoopとその周辺の紹介
Hadoopとその周辺の紹介Hadoopとその周辺の紹介
Hadoopとその周辺の紹介Shinya Okano
 
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)オラクルエンジニア通信
 
Clojure+Leiningenで3分Hadoop
Clojure+Leiningenで3分HadoopClojure+Leiningenで3分Hadoop
Clojure+Leiningenで3分HadoopToshiaki Maki
 

Similar to Tour of distributed systems 1 - ZooKeeper (20)

Getting Started Japanese Search and Calculate Similarity with Apache Lucene
Getting Started Japanese Search and Calculate Similarity with Apache LuceneGetting Started Japanese Search and Calculate Similarity with Apache Lucene
Getting Started Japanese Search and Calculate Similarity with Apache Lucene
 
Hive undocumented feature
Hive undocumented featureHive undocumented feature
Hive undocumented feature
 
Xcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhiosXcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhios
 
20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)20120913 nosql@hikarie(okuyama fuse)
20120913 nosql@hikarie(okuyama fuse)
 
Hadoopの紹介
Hadoopの紹介Hadoopの紹介
Hadoopの紹介
 
はやわかりHadoop
はやわかりHadoopはやわかりHadoop
はやわかりHadoop
 
Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編Tuning maniax 2014 Hadoop編
Tuning maniax 2014 Hadoop編
 
20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)
20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)
20021127 ku-librarians勉強会 #38 : Where can I go? : OpenURLによる状況判断型リンク(SFXを中心として)
 
Hadoop on eucalyptus_20110221
Hadoop on eucalyptus_20110221Hadoop on eucalyptus_20110221
Hadoop on eucalyptus_20110221
 
AI・HPC・ビッグデータで利用される分散ファイルシステムを知る
AI・HPC・ビッグデータで利用される分散ファイルシステムを知るAI・HPC・ビッグデータで利用される分散ファイルシステムを知る
AI・HPC・ビッグデータで利用される分散ファイルシステムを知る
 
Hiveハンズオン
HiveハンズオンHiveハンズオン
Hiveハンズオン
 
できる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャできる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャ
 
Apache Auroraの始めかた
Apache Auroraの始めかたApache Auroraの始めかた
Apache Auroraの始めかた
 
Apache Geode の Apache Lucene Integration を試してみた
Apache Geode の Apache Lucene Integration を試してみたApache Geode の Apache Lucene Integration を試してみた
Apache Geode の Apache Lucene Integration を試してみた
 
Laravelで 自家製ライブラリを 作ってみよう!
Laravelで自家製ライブラリを作ってみよう!Laravelで自家製ライブラリを作ってみよう!
Laravelで 自家製ライブラリを 作ってみよう!
 
鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解
 
実はとても面白い...Documentation library
実はとても面白い...Documentation library実はとても面白い...Documentation library
実はとても面白い...Documentation library
 
Hadoopとその周辺の紹介
Hadoopとその周辺の紹介Hadoopとその周辺の紹介
Hadoopとその周辺の紹介
 
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
Oracle Cloudで始める、DBエンジニアのためのHadoop超入門(db tech showcase 2016 Oracle セッション資料)
 
Clojure+Leiningenで3分Hadoop
Clojure+Leiningenで3分HadoopClojure+Leiningenで3分Hadoop
Clojure+Leiningenで3分Hadoop
 

More from Chris Birchall

Scala.js & friends: SCALA ALL THE THINGS
Scala.js & friends: SCALA ALL THE THINGSScala.js & friends: SCALA ALL THE THINGS
Scala.js & friends: SCALA ALL THE THINGSChris Birchall
 
Tour of Distributed Systems 3 - Apache Kafka
Tour of Distributed Systems 3 - Apache KafkaTour of Distributed Systems 3 - Apache Kafka
Tour of Distributed Systems 3 - Apache KafkaChris Birchall
 
Tour of distributed systems 2 - Cassandra
Tour of distributed systems 2 - CassandraTour of distributed systems 2 - Cassandra
Tour of distributed systems 2 - CassandraChris Birchall
 
Guess the Country - Playing with Twitter Streaming API
Guess the Country - Playing with Twitter Streaming APIGuess the Country - Playing with Twitter Streaming API
Guess the Country - Playing with Twitter Streaming APIChris Birchall
 
ScalaCache: simple caching in Scala
ScalaCache: simple caching in ScalaScalaCache: simple caching in Scala
ScalaCache: simple caching in ScalaChris Birchall
 
Load testing with gatling
Load testing with gatlingLoad testing with gatling
Load testing with gatlingChris Birchall
 
Debugging and Testing ES Systems
Debugging and Testing ES SystemsDebugging and Testing ES Systems
Debugging and Testing ES SystemsChris Birchall
 
Phone Home: A client-side error collection system
Phone Home: A client-side error collection systemPhone Home: A client-side error collection system
Phone Home: A client-side error collection systemChris Birchall
 
Branching Strategies: Feature Branches vs Branch by Abstraction
Branching Strategies: Feature Branches vs Branch by AbstractionBranching Strategies: Feature Branches vs Branch by Abstraction
Branching Strategies: Feature Branches vs Branch by AbstractionChris Birchall
 

More from Chris Birchall (11)

Scala.js & friends: SCALA ALL THE THINGS
Scala.js & friends: SCALA ALL THE THINGSScala.js & friends: SCALA ALL THE THINGS
Scala.js & friends: SCALA ALL THE THINGS
 
Rust 超入門
Rust 超入門Rust 超入門
Rust 超入門
 
Tour of Distributed Systems 3 - Apache Kafka
Tour of Distributed Systems 3 - Apache KafkaTour of Distributed Systems 3 - Apache Kafka
Tour of Distributed Systems 3 - Apache Kafka
 
Tour of distributed systems 2 - Cassandra
Tour of distributed systems 2 - CassandraTour of distributed systems 2 - Cassandra
Tour of distributed systems 2 - Cassandra
 
Guess the Country - Playing with Twitter Streaming API
Guess the Country - Playing with Twitter Streaming APIGuess the Country - Playing with Twitter Streaming API
Guess the Country - Playing with Twitter Streaming API
 
ScalaCache: simple caching in Scala
ScalaCache: simple caching in ScalaScalaCache: simple caching in Scala
ScalaCache: simple caching in Scala
 
Hydra
HydraHydra
Hydra
 
Load testing with gatling
Load testing with gatlingLoad testing with gatling
Load testing with gatling
 
Debugging and Testing ES Systems
Debugging and Testing ES SystemsDebugging and Testing ES Systems
Debugging and Testing ES Systems
 
Phone Home: A client-side error collection system
Phone Home: A client-side error collection systemPhone Home: A client-side error collection system
Phone Home: A client-side error collection system
 
Branching Strategies: Feature Branches vs Branch by Abstraction
Branching Strategies: Feature Branches vs Branch by AbstractionBranching Strategies: Feature Branches vs Branch by Abstraction
Branching Strategies: Feature Branches vs Branch by Abstraction
 

Tour of distributed systems 1 - ZooKeeper