SlideShare a Scribd company logo
1 of 42
1
〜Apache Geode 入門
Multi-site(WAN)構成による
クラスター連携
quitada
2018/2/1
2
Apache Geode? Multi-site
(WAN)構成? 何それ
おいしいの?
Apache Geode と Multi-site(WAN)構成
 Apache Geode(アパッチジオード)とは?
– インメモリデータグリッド製品 Pivotal GemFire のオープンソース版
– スケールアウト可能な分散型 Key-Value NoSQL インメモリデータベースに、
SQL の select 文みたいなクエリーとかデータドリブンなイベント処理とか
並列データ処理とかできるようにしたやつ
– Apache Ignite とか Infinispan とか Hazelcast みたいなやつ
– http://geode.apache.org/
 Multi-site(WAN)構成とは?
– 異なるサイトの Apache Geode クラスター間で、データレプリケーションを行う構成。
Oralce GoldenGate 的な?
– WAN 経由のネットワーク通信遅延を考慮した、非同期でバッチ的なデータ連携。
3
4
Apache Geode のクラスターを
2 台の MacBook 上で個別に構
築して、お互いに Multi-site
(WAN)構成で非同期データ
レプリケーションを体感してみ
ましょう!
動作確認のための簡単なアプリ
も動かしてみます!
まずこんな構成でクラスター構築してみる(1/2)
5
サーバーマシン
Locator 1
Cache Server 1
Locator 2
Cache Server 2
冗長構成
Partitioned Region x2
冗長コピー x1
ローカルディスク ローカルディスク
データ永続化 データ永続化
今回はみなさんの PC
(MacBook)をサーバーマシンと
して、まず、単一ホスト上で最小
冗長構成でのクラスターを構築し
ます。
Locator(ロケーター)は、クラ
スターへの接続ポイントならびに
クラスターのメンバー管理を行う
人です。1 ついれば動きますが、
冗長構成で皆さんの PC 上に 2 つ
用意します。
まずこんな構成でクラスター構築してみる(2/2)
6
サーバーマシン
Locator 1
Cache Server 1
Locator 2
Cache Server 2
冗長構成
Partitioned Region x2
冗長コピー x1
ローカルディスク ローカルディスク
データ永続化 データ永続化
Cache Server(キャッシュサー
バー)は、インメモリのデータス
トアの人です。複数束ねてあたか
も一つのインメモリデータストア
として使用可能です。今回は冗長
構成もかねて 2 つ用意します。
Region(リージョン)は、
RDBMS のテーブルみたいなもの
です。今回は Partitioned Region
(パーティションリージョン)と
いう、Hadoop HDFS みたいな
データの持ち方で、ローカルディ
スクにデータ永続化する設定にし
ます。異なるクラスター間でお互
いにデータ授受するため 2 つ用意
します。
Multi-site(WAN)構成によるデータ連携
7
クラスター1 クラスター2
WAN
S
R
S
R
S
R
S
R
S = Gateway Sender R = Gateway Receiver
冗長化も考慮し、Gateway
Sender と Gateway Receiver を
各キャッシュサーバーに 1 つづつ
付与・実行します。前者は、対向
クラスターへデータ送信、後者は
対向クラスターからのデータ受信
の役割となります。
対向クラスターからのデータ更新
を受信するリージョンと、対向ク
ラスターへデータ更新を送信する
リージョンをそれぞれ設定します。
8
では、まず Apache Geode 単
独クラスターを構築してみよ
う!
事前準備(1/8)
9
サーバーマシン
Locator 1
Cache Server 1
Locator 2
Cache Server 2
冗長構成
Partitioned Region x2
冗長コピー x1
ローカルディスク ローカルディスク
データ永続化 データ永続化
PC 上で、Locator や Cache
Server に必要な設定ファイル、
起動スクリプト、ログ、永続化し
たデータの格納ディレクトリ等準
備します。
事前準備(2/8)
 皆さんの MacBook を無線 LAN ルーター等に接続して、お互
いに TCP/IP 通信できるようにしてください。
 DHCP で割り当てられた IP アドレス確認:192.168.2.x
 自身 PC のホスト名確認:$ hostname
 /etc/hosts に以下のエントリー追加
– [your IP] [your hostname]
– 例)192.168.2.100 akitada-mcbk13
10
複数 NIC 環境だと、Locator
起動時の JMX Manager 接
続でこけることがあるので
念のため。
事前準備(3/8)
 サンプル設定・アプリケーションの配備
– GitHub(https://github.com/quitada41/Geode-Multisite-handson)から必要なファイル一式をダウン
ロードします。ここでは、/Users/[user name]/Geode 配下に配備します。以下配備例です。
▪ /Users/akitada/Geode/GEO130.profile – 環境変数設定プロファイル
▪ /Users/akitada/Geode/cache-wan.xml – Multi-site 構成用キャッシュ設定ファイル
▪ /Users/akitada/Geode/cache.xml - 単独クラスター用キャッシュ設定ファイル
▪ /Users/akitada/Geode/client – Multi-site(WAN)構成用動作確認クライアントアプリケーション一式ディレクトリ
— lib/GeodeCacheListenerClient.jar – クライアントアプリケーションの jar ファイル
— src/io/pivotal/akitada/GeodeCacheListenerClient.java – クライアントアプリケーションのソースコード(参考資料)
— startListener.sh – クライアントアプリケーション起動スクリプト
▪ /Users/akitada-Geode/geode-wan-diff.properties - Multi-site 構成用プロパティーファイル(単独用との差分)
▪ /Users/akitada/Geode/geode.properties – 単独クラスター用プロパティーファイル
▪ /Users/akitada/Geode/locator* – Locator 用ローカルディレクトリ
▪ /Users/akitada/Geode/server* – Cache Server 用ローカルディレクトリ
▪ /Users/akitada/Geode/startLocator*.sh – Locator 起動スクリプト
▪ /Users/akitada/Geode/startServer*.sh – Cache Server 起動スクリプト
▪ /Users/akitada/Geode/stopLocator*.sh – Locator 停止スクリプト
▪ /Users/akitada/Geode/stopServer*.sh – Cache Server 停止スクリプト
11
事前準備(4/8)
 Apache Geode バイナリを各マシンにインストール(zip ファイル解凍)
し、gfsh コマンドを実行できるように各種環境変数を設定します。
– 環境変数 JAVA_HOME 設定
– インストールディレクトリ:例)/opt/Apache/apache-geode-1.3.0
– gfsh* スクリプト実行のため環境変数 PATH に設定
– 環境変数設定サンプル(GEO130.profile)
12
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
#export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home
export GEODE_HOME=/opt/Apache/apache-geode-1.3.0
export PATH=$JAVA_HOME/bin:$GEODE_HOME/bin:$PATH
設定必須環境変数は、PATH の
みです。GEODE_HOME は動
作確認クライアントアプリ実行
時に必要な環境変数です。
*= 「ジーフィッシュ」と読む。Apache Geode の制御・設定用コマンドラインツール
事前準備(5/8)
 環境変数設定
– 以後、各種操作はこのコンソールから行うものとします。
 プロパティーファイルの編集(1/3)
– 各マシンのキャッシュディレクトリ直下(/Users/[OS user name]/Geode)に、
geode.properties というファイル名で次ページのような内容のファイルがあ
るので、各マシンの環境にあわせて編集します。
– プロパティーファイル名はデフォルトが gemfire.properties です。商用版
である GemFire の名残ですが、Locator・Cache Server 起動時に明示的に指
定すれば好きなファイル名でかまいません。
13
$ cd /Users/[your OS user name]/Geode
$ . ./GEO130.profile
事前準備(6/8)
 プロパティーファイルの編集(2/3)
– 主に各マシンの IP アドレスにそって赤字の部分を編集
▪ X = 自分のマシンの IP アドレス末尾
14
log-level=config
locators=192.168.2.x[55221],192.168.2.x[55222]
bind-address=192.168.2.x
server-bind-address=192.168.2.x
jmx-manager-bind-address=192.168.2.x
enable-cluster-configuration=false
事前準備(7/8)
 プロパティーファイルの編集(3/3)
– 各プロパティーの意味
▪ log-level : ログレベルです。config レベルに設定すると、一般的な info レベルに加えてクラスターの設定内容も
出力されるので、正しく設定されているかどうか確認のため便利です。
▪ locators : Locator 一覧(ホスト名[ポート番号])をあらかじめ設定する必要があります。
▪ bind-address : クラスター内通信用のホスト名を指定します。NIC が 1 つだけの時は設定不要ですが、意図した
ネットワークセグメントで通信しているかどうか確認のため明示的に設定することをおすすめします。
▪ server-bind-address : クライアントサーバー通信用のホスト名を指定します。NIC が 1 つだけの時は bind-address
同様設定不要です。Cache Server だけに有効なパラメーターです。
▪ jmx-manager-bind-address : JMX マネージャー通信用のホスト名を指定します。NIC が 1 つだけの時は bind-
address 同様設定不要です。JMX マネージャーサービスが稼働する Locator あるいは Cache Server にのみ有効な
パラメーターです。デフォルトでは、一番最初に起動する Locator のみに適用されるパラメーターとなります。
▪ enable-cluster-configuration : クラスターコンフィグレーションサービス実行の有無です。今回はキャッシュの設
定は xml ファイル経由で行うので、無効とします。gfsh でキャッシュの設定を行う場合は有効にすることで、
設定内容がロケーターのローカルディスクに永続化され、クラスター再起動時にもそれまで設定した内容が反
映されます。
▪ IP を指定したプロパティーに関しては、DNS 等のホスト名解決の仕組みがあればホスト名指定でもかまいませ
ん。
15
事前準備(8/8)
 各マシンで Locator や Cache Server のログや永続化ディスクストアを格
納するディレクトリがあることを確認してください。
16
$ cd /Users/[your OS user name]/Geode
$ ls –l
:
drwxr-xr-x 9 akitada staff 306 1 17 14:04 locator1/
:
drwxr-xr-x 5 akitada staff 170 1 17 14:04 server1/
:
ここでは Locator 1 用ディレクトリが locator1、
Cache Server 1 用ディレクトリが、server1 とします。
Locator 起動(1/3)
17
サーバーマシン
Locator 1
Cache Server 1
Locator 2
Cache Server 2
冗長構成
Partitioned Region
冗長コピー x1
ローカルディスク ローカルディスク
データ永続化 データ永続化 コマンドラインより gfsh を使っ
て Locator x2 を起動します。
Locator 起動(2/3)
 自身のマシンで、Locator を起動します
– 起動スクリプトの編集(startLocator*.sh):赤字の Locator 名を編集(ク
ラスター内でユニークな文字列であれば何でも良いですが、インストラク
ターの指示に適当に従ってください)
– Locator 起動
18
$ cd /Users/[your OS user name]/Geode
$ sh ./startLocator1.sh
$ sh ./startLocator2.sh
#! /bin/sh
gfsh start locator --name=**** --dir=locator --port=55221 --properties-
file=geode.properties
Locator 起動(3/3)
 “gfsh start locator” コマンドのパラメーターの意味
– --name : クラスター中の各プロセス識別のため、各 Locator と Cache Server で一意の
名前を指定します。ここでは、インストラクターの指示に従って命名してください。
– --dir : 事前準備で作成した各 Locator 用ディレクトリのパスを指定します。絶対指
定・相対指定どちらも可能です。ここでは、当該ディレクトリのあるディレクトリ
(ここでは、/Users/[your OS user name]/Geode)で gfsh コマンドを実行することを前
提に相対指定としています。
– --port : 事前準備で作成した geode.properties の Locator 一覧のポート番号にそって指
定します。ここでは、Locator 1 に 55221、Locator 2 に 55222 を適用しています。
– --properties-file : 事前準備で編集した geode.properties のパスを指定します。絶対指
定・相対指定どちらも可能です。
19
Cache Server 起動(1/4)
20
サーバーマシン
Locator 1
Cache Server 1
Locator 2
Cache Server 2
冗長構成
Partitioned Region
冗長コピー x1
ローカルディスク ローカルディスク
データ永続化 データ永続化
コマンドラインより gfsh を使っ
て、Cache Server x2 を起動しま
す。
Cache Server 起動(2/4)
 自身のマシンで、Cache Server を起動します
– 起動スクリプトの編集(startServer*.sh):赤字の Cache Server 名を編集
(クラスター内でユニークな文字列であれば何でも良いですが、インスト
ラクターの指示に適当に従ってください)
– Cache Server 起動
21
$ cd /Users/[your OS user name]/Geode
$ sh ./startServer1.sh
$ sh ./startServer2.sh
#! /bin/sh
gfsh start server --name=**** --dir=server --server-port=0 --properties-
file=geode.properties --cache-xml-file=cache.xml
Cache Server 起動(3/4)
 “gfsh start server” コマンドのパラメーターの意味
– --name : クラスター中の各プロセス識別のため、各 Locator と Cache Server で一意の名前を指定
します。ここでは、テキトーにインストラクターの指示に従って下さい。
– --dir : 事前準備で作成した各 Cache Server 用ディレクトリのパスを指定します。絶対指定・相対
指定どちらも可能です。ここでは、当該ディレクトリのあるディレクトリで gfsh コマンドを実
行することを前提に相対指定しています。
– --server-port : クライアントアプリケーションとの通信用のポートを設定します。ここでは、0 を
指定することで、起動時に空いている任意のポートを割り当てます。割り当てられたポートは、
Locator が記憶するので、クライアントアプリケーションはロケーターに問い合わせることでど
のポート経由でアクセスすべきか知ることができます。もちろん、明示的にポート番号を指定す
ることも可能です。
– --properties-file : 事前準備で編集した geode.properties のパスを指定します。絶対指定・相対指定
どちらも可能です。
– --cache-xml-file : キャッシュ設定ファイルへのパスを指定します。この設定内容に応じて Region
作成等を行います。
22
Cache Server 起動(4/4)
 (参考)キャッシュ設定ファイル(cache.xml)の設定内容について
23
<?xml version="1.0" encoding="UTF-8"?>
<cache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://geode.apache.org/schema/cache"
xsi:schemaLocation="http://geode.apache.org/schema/cache
http://geode.apache.org/schema/cache/cache-1.0.xsd"
version="1.0" lock-lease="120" lock-timeout="60" search-timeout="300"
is-server="true" copy-on-read="false">
<region name="ExRegion1" refid="PARTITION_REDUNDANT_PERSISTENT" />
<region name="ExRegion2" refid="PARTITION_REDUNDANT_PERSISTENT" />
</cache>
ExRegion1、ExRegion2 という二つの Region を作成。
PARTITION_REDUNDANT_PERSISTENT ということで、
Partitioned Region で、冗長コピー x1、ディスクストアに永続化とい
う設定。
24
Apache Geode クラスターがで
きたので、設定内容・挙動を
gfsh で確認してみよう。
gfsh によるクラスター管理(1/2)
 gfsh を引数なしで実行すると、“gfsh>” というコマンドプロンプトが現れ、インタラク
ティブに各種コマンドを実行できるモードで起動します。
 bash とかみたく、適宜 TAB キーで各コマンド一覧表示やら引数の補完、カーソルキーに
よるヒストリー参照とかやってくれます。
25
$ gfsh
_________________________ __
/ _____/ ______/ ______/ /____/ /
/ / __/ /___ /_____ / _____ /
/ /__/ / ____/ _____/ / / / /
/______/_/ /______/_/ /_/ 1.3.0
Monitor and Manage Apache Geode
gfsh>
gfsh によるクラスター管理(2/2)
 大部分のコマンドを実行するには、まず、以下のコマンドでいずれかの Locator に接続す
る必要があります。
– --locator パラメーターに、自身が起動した Locator の IP とポート番号を指定します
 以下の管理コマンドを実行してみます。
26
gfsh>connect --locator=192.168.2.x[55221]
gfsh>help
gfsh>list members
gfsh>show log --member=[your server name] --lines=100
gfsh>change loglevel --loglevel=fine –members=[your server name]
gfsh>show log --member=[your server name] --lines=100
gfsh>change loglevel --loglevel=config --members=[your server name]
gfsh>status server --name=[your server name]
gfsh>describe member --name=[your server name]
27
Apache Geode クラスターの設
定内容を確認したので、gfsh
を使って、実際にキャッシュに
データを入れたり出したり、ク
エリー実行したりしてみよう。
gfsh によるデータの出し入れ・クエリー(1/2)
 まず、キャッシュ設定ファイル経由で作成した ExRegion1 、ExRegion1 の両
Region の有無確認のため、以下のコマンドを実行してみます。
 次に、各 Region の詳細情報を以下のコマンドで確認します。
 さて、両 Region が正常に作成されていることを確認したら、いよいよデータの
出し入れ、クエリーです。
28
gfsh>list region
gfsh>describe region --name=/ExRegion1
gfsh>describe region --name=/ExRegion2
gfsh によるデータの出し入れ・クエリー(2/2)
 データの挿入です。以下の put コマンドを実行します。キー・バリュー・ペアを挿入するイメージで、ここでは--key と
--value には任意の文字列を指定します。キーやバリュー値を変えて複数エントリー挿入してみましょう。
 挿入したデータを取り出しましょう。
 挿入したデータのバリューを一覧をクエリーしてみましょう。
 挿入したデータのキー・バリュー・ペア一覧をクエリーしてみましょう。クエリー対象のエイリアス表記できます。
 Where 句も使えます。
29
gfsh>put --region=/ExRegion1 --key='<any string>' --value='<any string>'
gfsh>get --region=/ExRegion1 --key='<existing key>'
gfsh>query --query="select * from /ExRegion1"
gfsh>query --query="select ex1.key,ex1.value from /ExRegion1.entrySet ex1"
gfsh>query --query="select ex1.key,ex1.value from /ExRegion1.entrySet ex1 where
ex1.key='<existing key>'"
事後処理
 次の演習に向けて、クラスターを停止しておきます。
 参考)Locator・Cache Server 停止 gfsh コマンド
– ログ等のディレクトリを指定する一番楽なやつ
30
$ cd /Users/[your OS user name]/Geode
$ sh ./stopServer1.sh &
$ sh ./stopServer2.sh &
$ sh ./stopLocator1.sh
$ sh ./stopLocator2.sh
gfsh stop server --dir=server1
gfsh stop locator --dir=locator1
31
単体で Apache Geode クラス
ターが動いたので、それらを
Multi-site(WAN)構成にして
データ連携してみよう!
Multi-site(WAN)構成 – クラスター設定(1/2)
32
クラスター1 クラスター2
WAN
S
R
S
R
S
R
S
R
S = Gateway Sender R = Gateway Receiver
クラスター間でデータ連係するた
めに必要な設定を、プロパティー
ファイルに追加します。
Multi-site(WAN)構成 – クラスター設定(2/2)
 Multi-site(WAN)構成に追加で必要なプロパティーを設定します。
– 差分ファイル(geode-wan-diff.properteis):赤字の数値を設定します(イ
ンストラクターの指示に従ってください)。
▪ x = クラスター識別子的なものです。各クラスター内で一意の自然数を指定します。
▪ y = 対向クラスターのロケーター IP 末尾
– 既存プロパティーファイルに追記します
33
$ cd /Users/[your OS user name]/Geode
$ cat geode-wan-diff.properties >> geode.properties
distributed-system-id=x
remote-locators=192.168.2.y[55221],192.168.2.y[55221]
Multi-site(WAN)構成 – キャッシュ設定(1/2)
34
クラスター1 クラスター2
WAN
S
R
S
R
S
R
S
R
S = Gateway Sender R = Gateway Receiver
キャッシュ設定ファイルに、更新
データを対向クラスターに送信す
る Gateway Sender と、対向クラ
スターからデータを受信する
Gateway Receiver の設定を行い
ます。
Multi-site(WAN)構成 – キャッシュ設定(2/2)
 Gateway Sender/Receiver の設定を追加したキャッシュ設定ファイル(cache-
wan.xml)の編集・確認:赤字の部分を編集・確認します。
35
<?xml version="1.0" encoding="UTF-8"?>
<cache xmlns:xsi=…>
<gateway-sender id="GwSender1" enable-persistence="true"
manual-start="true" batch-size="100" batch-time-interval="1000"
remote-distributed-system-id="2" parallel="true" />
<gateway-receiver manual-start="false" start-port="41000" end-port="41999" />
<region name="ExRegion1" refid="PARTITION_REDUNDANT_PERSISTENT">
<region-attributes gateway-sender-ids="GwSender1" />
</region>
<region name="ExRegion2" refid="PARTITION_REDUNDANT_PERSISTENT"/>
</cache>
Gateway Sender 設定。対向クラ
スターへのデータ送信設定。
Gateway
Receiver 設
定。対向ク
ラスターか
ら送信され
たデータの
受信設定。
更新データを対向
クラスターに送信
したリージョンに、
Gateway Sender
を付与。
Cache Server 起動と同時に、Receiver のみ自動的に
起動するようにします(manual-start 属性)。
Multi-site(WAN)構成 – クラスター起動
 サーバー起動スクリプトから Gateway Sender/Receiver の設定を追加したキャッ
シュ設定ファイルを参照
– サーバー起動スクリプト(startServer*.sh)を、以下の赤字のように編集。
 クラスター再起動
36
#! /bin/sh
gfsh start server --name=c1s1 --dir=server --server-port=0 --properties-
file=geode.properties --cache-xml-file=cache-wan.xml
$ cd /Users/[your OS user name]/Geode
$ sh ./startLocator1.sh
$ sh ./startLocator2.sh
$ sh ./startServer1.sh &
$ sh ./startServer2.sh &
37
Apache Geode クラスター x2
が Multi-site(WAN)構成で
データ連携できたので、動作確
認してみよう!
動作確認用アプリケーション起動(1/2)
 動作確認用 Java クライアントアプリケーションを起動
– 起動スクリプト(startListener.sh)内容確認
▪ geode-dependencies.jar は、必要な Apache Geode ライブラリーへのクラスパスが列挙され
たマニフェストファイルのみ含まれている。
– 起動!
38
#!/bin/sh
java -classpath ${GEODE_HOME}/lib/geode-
dependencies.jar:./lib/GeodeCacheListenerClient.jar
io.pivotal.akitada.GeodeCacheListenerClient $1 $2 $3
$ cd /Users/[your OS user name]/Geode/client
$ sh ./startListener.sh
Usage: java io.pivotal.akitada.GeodeCacheListenerClient [region name] [locator host
name] [locator port]
$ sh ./startListener.sh ExRegion1 192.168.2.100 55221 指定する引数の内容はインストラク
ターと討議の上、決定してください。
動作確認用アプリケーション起動(2/2)
 [参考] 動作確認用 Java クライアントアプリケーション
– 詳細は、ソースコードを参照
▪ /Users/[your OS user
name]/Geode/client/src/io/pivotal/akitada/GeodeCacheListenerClient.java
– main() 関数では、指定したリージョンに接続してキャッシュリス
ナーを付与。
– 当該コード自体が CacheListenerAdapter を継承しており、キャッ
シュリスナーの実装を含んでいる。
39
Gateway Sender 起動
 対向クラスターの Gateway Receiver が起動する前に Gateway Sender を起動する
と、ログが再接続のリトライだらけになるので、本ハンズオンでは Gateway
Sender は手動による起動としています。
 gfsh コマンドを引数なしで実行し、自身が構築したクラスターに接続、Gateway
Sender を起動します。
– Gateway Sender 起動前後で 、“list gateways” コマンドで Gateway Sender/Receiver の起動状況を
確認してみましょう。
40
gfsh>connect --locator=192.168.2.100[55221]
gfsh>list gateways
gfsh>start gateway-sender --id=GwSender1
gfsh>list gateways
Multi-site(WAN)構成 – Gateway Sender 起動
 gfsh コマンドを引数なしで実行し、自身が構築したクラスターに接続、Gateway
Sender を付与したリージョンに何かデータを投入してみます。
 対向クラスターに更新内容が送信され、キャッシュリスナーを付与したクライ
アントアプリケーションが反応し、相手先のクライアントアプリ実行コンソー
ル上に以下のようなメッセージがデータ投入の都度出力されれば成功!
41
gfsh>connect --locator=192.168.2.100[55221]
gfsh>put --region=/ExRegion1 --key='Nanika' --value='Atai'
Received afterCreate event for entry: Nanika, Atai, isOriginRemote=true
42
Apache Geode クラスター x2
の Multi-site(WAN)構成構築、
動作確認を実施したよ。

More Related Content

What's hot

PostgreSQL運用管理入門
PostgreSQL運用管理入門PostgreSQL運用管理入門
PostgreSQL運用管理入門Yoshiyuki Asaba
 
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会Shigeru Hanada
 
明日から使えるPostgre sql運用管理テクニック(監視編)
明日から使えるPostgre sql運用管理テクニック(監視編)明日から使えるPostgre sql運用管理テクニック(監視編)
明日から使えるPostgre sql運用管理テクニック(監視編)kasaharatt
 
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介Kodai Terashima
 
PostgreSQLのパラレル化に向けた取り組み@第30回(仮名)PostgreSQL勉強会
PostgreSQLのパラレル化に向けた取り組み@第30回(仮名)PostgreSQL勉強会PostgreSQLのパラレル化に向けた取り組み@第30回(仮名)PostgreSQL勉強会
PostgreSQLのパラレル化に向けた取り組み@第30回(仮名)PostgreSQL勉強会Shigeru Hanada
 
Mod lua
Mod luaMod lua
Mod luado_aki
 
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
MySQLメインの人がPostgreSQLのベンチマークをしてみた話MySQLメインの人がPostgreSQLのベンチマークをしてみた話
MySQLメインの人がPostgreSQLのベンチマークをしてみた話hiroi10
 
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1Makoto Haruyama
 
MySQLとPostgreSQLの基本的なレプリケーション設定比較
MySQLとPostgreSQLの基本的なレプリケーション設定比較MySQLとPostgreSQLの基本的なレプリケーション設定比較
MySQLとPostgreSQLの基本的なレプリケーション設定比較Shinya Sugiyama
 
Itamae-Serverspec入門
Itamae-Serverspec入門Itamae-Serverspec入門
Itamae-Serverspec入門辰徳 斎藤
 
MySQLとPostgreSQLの基本的なバックアップ比較
MySQLとPostgreSQLの基本的なバックアップ比較MySQLとPostgreSQLの基本的なバックアップ比較
MySQLとPostgreSQLの基本的なバックアップ比較Shinya Sugiyama
 
PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合hiboma
 
[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe
[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe
[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota WatabeInsight Technology, Inc.
 
serverspecでサーバ環境のテストを書いてみよう
serverspecでサーバ環境のテストを書いてみようserverspecでサーバ環境のテストを書いてみよう
serverspecでサーバ環境のテストを書いてみようDaisuke Ikeda
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1Ryosuke IWANAGA
 
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- Daisuke Ikeda
 
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Serverspecを使ってサーバ5000台のBaculaクライアントをテストServerspecを使ってサーバ5000台のBaculaクライアントをテスト
Serverspecを使ってサーバ5000台のBaculaクライアントをテストKen Sawada
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界Yoshinori Nakanishi
 
MySQLとPostgreSQLにおける基本的なアカウント管理
MySQLとPostgreSQLにおける基本的なアカウント管理MySQLとPostgreSQLにおける基本的なアカウント管理
MySQLとPostgreSQLにおける基本的なアカウント管理Shinya Sugiyama
 
Serverspecの活用tips紹介
Serverspecの活用tips紹介Serverspecの活用tips紹介
Serverspecの活用tips紹介Daisuke Ikeda
 

What's hot (20)

PostgreSQL運用管理入門
PostgreSQL運用管理入門PostgreSQL運用管理入門
PostgreSQL運用管理入門
 
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
 
明日から使えるPostgre sql運用管理テクニック(監視編)
明日から使えるPostgre sql運用管理テクニック(監視編)明日から使えるPostgre sql運用管理テクニック(監視編)
明日から使えるPostgre sql運用管理テクニック(監視編)
 
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
 
PostgreSQLのパラレル化に向けた取り組み@第30回(仮名)PostgreSQL勉強会
PostgreSQLのパラレル化に向けた取り組み@第30回(仮名)PostgreSQL勉強会PostgreSQLのパラレル化に向けた取り組み@第30回(仮名)PostgreSQL勉強会
PostgreSQLのパラレル化に向けた取り組み@第30回(仮名)PostgreSQL勉強会
 
Mod lua
Mod luaMod lua
Mod lua
 
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
MySQLメインの人がPostgreSQLのベンチマークをしてみた話MySQLメインの人がPostgreSQLのベンチマークをしてみた話
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
 
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
 
MySQLとPostgreSQLの基本的なレプリケーション設定比較
MySQLとPostgreSQLの基本的なレプリケーション設定比較MySQLとPostgreSQLの基本的なレプリケーション設定比較
MySQLとPostgreSQLの基本的なレプリケーション設定比較
 
Itamae-Serverspec入門
Itamae-Serverspec入門Itamae-Serverspec入門
Itamae-Serverspec入門
 
MySQLとPostgreSQLの基本的なバックアップ比較
MySQLとPostgreSQLの基本的なバックアップ比較MySQLとPostgreSQLの基本的なバックアップ比較
MySQLとPostgreSQLの基本的なバックアップ比較
 
PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合PaaSの作り方 Sqaleの場合
PaaSの作り方 Sqaleの場合
 
[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe
[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe
[C31] OSS-DB Exam Silver 技術解説セミナー by Ryota Watabe
 
serverspecでサーバ環境のテストを書いてみよう
serverspecでサーバ環境のテストを書いてみようserverspecでサーバ環境のテストを書いてみよう
serverspecでサーバ環境のテストを書いてみよう
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1
 
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅- Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
Serverspecを自分好みにアレンジ スクリーンショットで証跡保存を撲滅-
 
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
Serverspecを使ってサーバ5000台のBaculaクライアントをテストServerspecを使ってサーバ5000台のBaculaクライアントをテスト
Serverspecを使ってサーバ5000台のBaculaクライアントをテスト
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
 
MySQLとPostgreSQLにおける基本的なアカウント管理
MySQLとPostgreSQLにおける基本的なアカウント管理MySQLとPostgreSQLにおける基本的なアカウント管理
MySQLとPostgreSQLにおける基本的なアカウント管理
 
Serverspecの活用tips紹介
Serverspecの活用tips紹介Serverspecの活用tips紹介
Serverspecの活用tips紹介
 

Similar to 〜Apache Geode 入門 Multi-site(WAN)構成による クラスター連携

〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理Akihiro Kitada
 
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...NTT DATA Technology & Innovation
 
JavaOne2015報告またはこれからのJava
JavaOne2015報告またはこれからのJavaJavaOne2015報告またはこれからのJava
JavaOne2015報告またはこれからのJavaなおき きしだ
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介Etsuji Nakai
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefnpsg
 
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)Akio Katayama
 
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-publicAmazon Web Services Japan
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストールYasuhiro Arai
 
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)NTT DATA Technology & Innovation
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Yasuhiro Arai
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Masahiro Nagano
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825hiro345
 
HAWQをCDHで動かしてみた
HAWQをCDHで動かしてみたHAWQをCDHで動かしてみた
HAWQをCDHで動かしてみたadachij2002
 
SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireSDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireAkio Katayama
 
Grafana を使った Apache Geode クラスター監視
Grafana を使った Apache Geode クラスター監視Grafana を使った Apache Geode クラスター監視
Grafana を使った Apache Geode クラスター監視Akihiro Kitada
 
EWD 3トレーニングコース#2 EWD 3の概要
EWD 3トレーニングコース#2 EWD 3の概要EWD 3トレーニングコース#2 EWD 3の概要
EWD 3トレーニングコース#2 EWD 3の概要Kiyoshi Sawada
 
Apache Calcite の Apache Geode Adapter を弄った
Apache Calcite の Apache Geode Adapter を弄ったApache Calcite の Apache Geode Adapter を弄った
Apache Calcite の Apache Geode Adapter を弄ったAkihiro Kitada
 

Similar to 〜Apache Geode 入門 Multi-site(WAN)構成による クラスター連携 (20)

〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理
 
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
 
JavaOne2015報告またはこれからのJava
JavaOne2015報告またはこれからのJavaJavaOne2015報告またはこれからのJava
JavaOne2015報告またはこれからのJava
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)
 
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public20120416 aws meister-reloaded-aws-elasticbeanstalk-public
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストール
 
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
Apache Bigtop3.2 (仮)(Open Source Conference 2022 Online/Hiroshima 発表資料)
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
 
Nseg20120825
Nseg20120825Nseg20120825
Nseg20120825
 
HAWQをCDHで動かしてみた
HAWQをCDHで動かしてみたHAWQをCDHで動かしてみた
HAWQをCDHで動かしてみた
 
Openstack+Ceph設定ガイド
Openstack+Ceph設定ガイドOpenstack+Ceph設定ガイド
Openstack+Ceph設定ガイド
 
SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireSDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 Whire
 
Grafana を使った Apache Geode クラスター監視
Grafana を使った Apache Geode クラスター監視Grafana を使った Apache Geode クラスター監視
Grafana を使った Apache Geode クラスター監視
 
EWD 3トレーニングコース#2 EWD 3の概要
EWD 3トレーニングコース#2 EWD 3の概要EWD 3トレーニングコース#2 EWD 3の概要
EWD 3トレーニングコース#2 EWD 3の概要
 
Nginx
NginxNginx
Nginx
 
Apache Calcite の Apache Geode Adapter を弄った
Apache Calcite の Apache Geode Adapter を弄ったApache Calcite の Apache Geode Adapter を弄った
Apache Calcite の Apache Geode Adapter を弄った
 
Apache Module
Apache ModuleApache Module
Apache Module
 

More from Akihiro Kitada

How to configure the cluster based on Multi-site (WAN) configuration
How to configure the clusterbased on Multi-site (WAN) configurationHow to configure the clusterbased on Multi-site (WAN) configuration
How to configure the cluster based on Multi-site (WAN) configurationAkihiro Kitada
 
Reactive Streams に基づく非同期処理プログラミング 〜 Reactor を使ってみた
Reactive Streams に基づく非同期処理プログラミング 〜 Reactor を使ってみたReactive Streams に基づく非同期処理プログラミング 〜 Reactor を使ってみた
Reactive Streams に基づく非同期処理プログラミング 〜 Reactor を使ってみたAkihiro Kitada
 
〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!Akihiro Kitada
 
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!Akihiro Kitada
 
Apache Geode の Apache Lucene Integration を試してみた
Apache Geode の Apache Lucene Integration を試してみたApache Geode の Apache Lucene Integration を試してみた
Apache Geode の Apache Lucene Integration を試してみたAkihiro Kitada
 
My first reactive programming - To deliver a deathblow “Shoryuken” with using...
My first reactive programming - To deliver a deathblow “Shoryuken” with using...My first reactive programming - To deliver a deathblow “Shoryuken” with using...
My first reactive programming - To deliver a deathblow “Shoryuken” with using...Akihiro Kitada
 
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!Akihiro Kitada
 
はじめての Cloud Foundry: .NET アプリケーションのはじめ方
はじめての Cloud Foundry: .NET アプリケーションのはじめ方はじめての Cloud Foundry: .NET アプリケーションのはじめ方
はじめての Cloud Foundry: .NET アプリケーションのはじめ方Akihiro Kitada
 
Apache Geode で始める Spring Data Gemfire
Apache Geode で始めるSpring Data GemfireApache Geode で始めるSpring Data Gemfire
Apache Geode で始める Spring Data GemfireAkihiro Kitada
 
Reactor によるデータインジェスチョン
Reactor によるデータインジェスチョンReactor によるデータインジェスチョン
Reactor によるデータインジェスチョンAkihiro Kitada
 

More from Akihiro Kitada (10)

How to configure the cluster based on Multi-site (WAN) configuration
How to configure the clusterbased on Multi-site (WAN) configurationHow to configure the clusterbased on Multi-site (WAN) configuration
How to configure the cluster based on Multi-site (WAN) configuration
 
Reactive Streams に基づく非同期処理プログラミング 〜 Reactor を使ってみた
Reactive Streams に基づく非同期処理プログラミング 〜 Reactor を使ってみたReactive Streams に基づく非同期処理プログラミング 〜 Reactor を使ってみた
Reactive Streams に基づく非同期処理プログラミング 〜 Reactor を使ってみた
 
〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
 
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
 
Apache Geode の Apache Lucene Integration を試してみた
Apache Geode の Apache Lucene Integration を試してみたApache Geode の Apache Lucene Integration を試してみた
Apache Geode の Apache Lucene Integration を試してみた
 
My first reactive programming - To deliver a deathblow “Shoryuken” with using...
My first reactive programming - To deliver a deathblow “Shoryuken” with using...My first reactive programming - To deliver a deathblow “Shoryuken” with using...
My first reactive programming - To deliver a deathblow “Shoryuken” with using...
 
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
【古いスライド】〜僕の初めてのリアクティブプログラミング Reactor を使ってリアクティブに昇龍拳を繰り出してみた!
 
はじめての Cloud Foundry: .NET アプリケーションのはじめ方
はじめての Cloud Foundry: .NET アプリケーションのはじめ方はじめての Cloud Foundry: .NET アプリケーションのはじめ方
はじめての Cloud Foundry: .NET アプリケーションのはじめ方
 
Apache Geode で始める Spring Data Gemfire
Apache Geode で始めるSpring Data GemfireApache Geode で始めるSpring Data Gemfire
Apache Geode で始める Spring Data Gemfire
 
Reactor によるデータインジェスチョン
Reactor によるデータインジェスチョンReactor によるデータインジェスチョン
Reactor によるデータインジェスチョン
 

Recently uploaded

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成Hiroshi Tomioka
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Recently uploaded (9)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

〜Apache Geode 入門 Multi-site(WAN)構成による クラスター連携

  • 2. 2 Apache Geode? Multi-site (WAN)構成? 何それ おいしいの?
  • 3. Apache Geode と Multi-site(WAN)構成  Apache Geode(アパッチジオード)とは? – インメモリデータグリッド製品 Pivotal GemFire のオープンソース版 – スケールアウト可能な分散型 Key-Value NoSQL インメモリデータベースに、 SQL の select 文みたいなクエリーとかデータドリブンなイベント処理とか 並列データ処理とかできるようにしたやつ – Apache Ignite とか Infinispan とか Hazelcast みたいなやつ – http://geode.apache.org/  Multi-site(WAN)構成とは? – 異なるサイトの Apache Geode クラスター間で、データレプリケーションを行う構成。 Oralce GoldenGate 的な? – WAN 経由のネットワーク通信遅延を考慮した、非同期でバッチ的なデータ連携。 3
  • 4. 4 Apache Geode のクラスターを 2 台の MacBook 上で個別に構 築して、お互いに Multi-site (WAN)構成で非同期データ レプリケーションを体感してみ ましょう! 動作確認のための簡単なアプリ も動かしてみます!
  • 5. まずこんな構成でクラスター構築してみる(1/2) 5 サーバーマシン Locator 1 Cache Server 1 Locator 2 Cache Server 2 冗長構成 Partitioned Region x2 冗長コピー x1 ローカルディスク ローカルディスク データ永続化 データ永続化 今回はみなさんの PC (MacBook)をサーバーマシンと して、まず、単一ホスト上で最小 冗長構成でのクラスターを構築し ます。 Locator(ロケーター)は、クラ スターへの接続ポイントならびに クラスターのメンバー管理を行う 人です。1 ついれば動きますが、 冗長構成で皆さんの PC 上に 2 つ 用意します。
  • 6. まずこんな構成でクラスター構築してみる(2/2) 6 サーバーマシン Locator 1 Cache Server 1 Locator 2 Cache Server 2 冗長構成 Partitioned Region x2 冗長コピー x1 ローカルディスク ローカルディスク データ永続化 データ永続化 Cache Server(キャッシュサー バー)は、インメモリのデータス トアの人です。複数束ねてあたか も一つのインメモリデータストア として使用可能です。今回は冗長 構成もかねて 2 つ用意します。 Region(リージョン)は、 RDBMS のテーブルみたいなもの です。今回は Partitioned Region (パーティションリージョン)と いう、Hadoop HDFS みたいな データの持ち方で、ローカルディ スクにデータ永続化する設定にし ます。異なるクラスター間でお互 いにデータ授受するため 2 つ用意 します。
  • 7. Multi-site(WAN)構成によるデータ連携 7 クラスター1 クラスター2 WAN S R S R S R S R S = Gateway Sender R = Gateway Receiver 冗長化も考慮し、Gateway Sender と Gateway Receiver を 各キャッシュサーバーに 1 つづつ 付与・実行します。前者は、対向 クラスターへデータ送信、後者は 対向クラスターからのデータ受信 の役割となります。 対向クラスターからのデータ更新 を受信するリージョンと、対向ク ラスターへデータ更新を送信する リージョンをそれぞれ設定します。
  • 8. 8 では、まず Apache Geode 単 独クラスターを構築してみよ う!
  • 9. 事前準備(1/8) 9 サーバーマシン Locator 1 Cache Server 1 Locator 2 Cache Server 2 冗長構成 Partitioned Region x2 冗長コピー x1 ローカルディスク ローカルディスク データ永続化 データ永続化 PC 上で、Locator や Cache Server に必要な設定ファイル、 起動スクリプト、ログ、永続化し たデータの格納ディレクトリ等準 備します。
  • 10. 事前準備(2/8)  皆さんの MacBook を無線 LAN ルーター等に接続して、お互 いに TCP/IP 通信できるようにしてください。  DHCP で割り当てられた IP アドレス確認:192.168.2.x  自身 PC のホスト名確認:$ hostname  /etc/hosts に以下のエントリー追加 – [your IP] [your hostname] – 例)192.168.2.100 akitada-mcbk13 10 複数 NIC 環境だと、Locator 起動時の JMX Manager 接 続でこけることがあるので 念のため。
  • 11. 事前準備(3/8)  サンプル設定・アプリケーションの配備 – GitHub(https://github.com/quitada41/Geode-Multisite-handson)から必要なファイル一式をダウン ロードします。ここでは、/Users/[user name]/Geode 配下に配備します。以下配備例です。 ▪ /Users/akitada/Geode/GEO130.profile – 環境変数設定プロファイル ▪ /Users/akitada/Geode/cache-wan.xml – Multi-site 構成用キャッシュ設定ファイル ▪ /Users/akitada/Geode/cache.xml - 単独クラスター用キャッシュ設定ファイル ▪ /Users/akitada/Geode/client – Multi-site(WAN)構成用動作確認クライアントアプリケーション一式ディレクトリ — lib/GeodeCacheListenerClient.jar – クライアントアプリケーションの jar ファイル — src/io/pivotal/akitada/GeodeCacheListenerClient.java – クライアントアプリケーションのソースコード(参考資料) — startListener.sh – クライアントアプリケーション起動スクリプト ▪ /Users/akitada-Geode/geode-wan-diff.properties - Multi-site 構成用プロパティーファイル(単独用との差分) ▪ /Users/akitada/Geode/geode.properties – 単独クラスター用プロパティーファイル ▪ /Users/akitada/Geode/locator* – Locator 用ローカルディレクトリ ▪ /Users/akitada/Geode/server* – Cache Server 用ローカルディレクトリ ▪ /Users/akitada/Geode/startLocator*.sh – Locator 起動スクリプト ▪ /Users/akitada/Geode/startServer*.sh – Cache Server 起動スクリプト ▪ /Users/akitada/Geode/stopLocator*.sh – Locator 停止スクリプト ▪ /Users/akitada/Geode/stopServer*.sh – Cache Server 停止スクリプト 11
  • 12. 事前準備(4/8)  Apache Geode バイナリを各マシンにインストール(zip ファイル解凍) し、gfsh コマンドを実行できるように各種環境変数を設定します。 – 環境変数 JAVA_HOME 設定 – インストールディレクトリ:例)/opt/Apache/apache-geode-1.3.0 – gfsh* スクリプト実行のため環境変数 PATH に設定 – 環境変数設定サンプル(GEO130.profile) 12 export JAVA_HOME=`/usr/libexec/java_home -v 1.8` #export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home export GEODE_HOME=/opt/Apache/apache-geode-1.3.0 export PATH=$JAVA_HOME/bin:$GEODE_HOME/bin:$PATH 設定必須環境変数は、PATH の みです。GEODE_HOME は動 作確認クライアントアプリ実行 時に必要な環境変数です。 *= 「ジーフィッシュ」と読む。Apache Geode の制御・設定用コマンドラインツール
  • 13. 事前準備(5/8)  環境変数設定 – 以後、各種操作はこのコンソールから行うものとします。  プロパティーファイルの編集(1/3) – 各マシンのキャッシュディレクトリ直下(/Users/[OS user name]/Geode)に、 geode.properties というファイル名で次ページのような内容のファイルがあ るので、各マシンの環境にあわせて編集します。 – プロパティーファイル名はデフォルトが gemfire.properties です。商用版 である GemFire の名残ですが、Locator・Cache Server 起動時に明示的に指 定すれば好きなファイル名でかまいません。 13 $ cd /Users/[your OS user name]/Geode $ . ./GEO130.profile
  • 14. 事前準備(6/8)  プロパティーファイルの編集(2/3) – 主に各マシンの IP アドレスにそって赤字の部分を編集 ▪ X = 自分のマシンの IP アドレス末尾 14 log-level=config locators=192.168.2.x[55221],192.168.2.x[55222] bind-address=192.168.2.x server-bind-address=192.168.2.x jmx-manager-bind-address=192.168.2.x enable-cluster-configuration=false
  • 15. 事前準備(7/8)  プロパティーファイルの編集(3/3) – 各プロパティーの意味 ▪ log-level : ログレベルです。config レベルに設定すると、一般的な info レベルに加えてクラスターの設定内容も 出力されるので、正しく設定されているかどうか確認のため便利です。 ▪ locators : Locator 一覧(ホスト名[ポート番号])をあらかじめ設定する必要があります。 ▪ bind-address : クラスター内通信用のホスト名を指定します。NIC が 1 つだけの時は設定不要ですが、意図した ネットワークセグメントで通信しているかどうか確認のため明示的に設定することをおすすめします。 ▪ server-bind-address : クライアントサーバー通信用のホスト名を指定します。NIC が 1 つだけの時は bind-address 同様設定不要です。Cache Server だけに有効なパラメーターです。 ▪ jmx-manager-bind-address : JMX マネージャー通信用のホスト名を指定します。NIC が 1 つだけの時は bind- address 同様設定不要です。JMX マネージャーサービスが稼働する Locator あるいは Cache Server にのみ有効な パラメーターです。デフォルトでは、一番最初に起動する Locator のみに適用されるパラメーターとなります。 ▪ enable-cluster-configuration : クラスターコンフィグレーションサービス実行の有無です。今回はキャッシュの設 定は xml ファイル経由で行うので、無効とします。gfsh でキャッシュの設定を行う場合は有効にすることで、 設定内容がロケーターのローカルディスクに永続化され、クラスター再起動時にもそれまで設定した内容が反 映されます。 ▪ IP を指定したプロパティーに関しては、DNS 等のホスト名解決の仕組みがあればホスト名指定でもかまいませ ん。 15
  • 16. 事前準備(8/8)  各マシンで Locator や Cache Server のログや永続化ディスクストアを格 納するディレクトリがあることを確認してください。 16 $ cd /Users/[your OS user name]/Geode $ ls –l : drwxr-xr-x 9 akitada staff 306 1 17 14:04 locator1/ : drwxr-xr-x 5 akitada staff 170 1 17 14:04 server1/ : ここでは Locator 1 用ディレクトリが locator1、 Cache Server 1 用ディレクトリが、server1 とします。
  • 17. Locator 起動(1/3) 17 サーバーマシン Locator 1 Cache Server 1 Locator 2 Cache Server 2 冗長構成 Partitioned Region 冗長コピー x1 ローカルディスク ローカルディスク データ永続化 データ永続化 コマンドラインより gfsh を使っ て Locator x2 を起動します。
  • 18. Locator 起動(2/3)  自身のマシンで、Locator を起動します – 起動スクリプトの編集(startLocator*.sh):赤字の Locator 名を編集(ク ラスター内でユニークな文字列であれば何でも良いですが、インストラク ターの指示に適当に従ってください) – Locator 起動 18 $ cd /Users/[your OS user name]/Geode $ sh ./startLocator1.sh $ sh ./startLocator2.sh #! /bin/sh gfsh start locator --name=**** --dir=locator --port=55221 --properties- file=geode.properties
  • 19. Locator 起動(3/3)  “gfsh start locator” コマンドのパラメーターの意味 – --name : クラスター中の各プロセス識別のため、各 Locator と Cache Server で一意の 名前を指定します。ここでは、インストラクターの指示に従って命名してください。 – --dir : 事前準備で作成した各 Locator 用ディレクトリのパスを指定します。絶対指 定・相対指定どちらも可能です。ここでは、当該ディレクトリのあるディレクトリ (ここでは、/Users/[your OS user name]/Geode)で gfsh コマンドを実行することを前 提に相対指定としています。 – --port : 事前準備で作成した geode.properties の Locator 一覧のポート番号にそって指 定します。ここでは、Locator 1 に 55221、Locator 2 に 55222 を適用しています。 – --properties-file : 事前準備で編集した geode.properties のパスを指定します。絶対指 定・相対指定どちらも可能です。 19
  • 20. Cache Server 起動(1/4) 20 サーバーマシン Locator 1 Cache Server 1 Locator 2 Cache Server 2 冗長構成 Partitioned Region 冗長コピー x1 ローカルディスク ローカルディスク データ永続化 データ永続化 コマンドラインより gfsh を使っ て、Cache Server x2 を起動しま す。
  • 21. Cache Server 起動(2/4)  自身のマシンで、Cache Server を起動します – 起動スクリプトの編集(startServer*.sh):赤字の Cache Server 名を編集 (クラスター内でユニークな文字列であれば何でも良いですが、インスト ラクターの指示に適当に従ってください) – Cache Server 起動 21 $ cd /Users/[your OS user name]/Geode $ sh ./startServer1.sh $ sh ./startServer2.sh #! /bin/sh gfsh start server --name=**** --dir=server --server-port=0 --properties- file=geode.properties --cache-xml-file=cache.xml
  • 22. Cache Server 起動(3/4)  “gfsh start server” コマンドのパラメーターの意味 – --name : クラスター中の各プロセス識別のため、各 Locator と Cache Server で一意の名前を指定 します。ここでは、テキトーにインストラクターの指示に従って下さい。 – --dir : 事前準備で作成した各 Cache Server 用ディレクトリのパスを指定します。絶対指定・相対 指定どちらも可能です。ここでは、当該ディレクトリのあるディレクトリで gfsh コマンドを実 行することを前提に相対指定しています。 – --server-port : クライアントアプリケーションとの通信用のポートを設定します。ここでは、0 を 指定することで、起動時に空いている任意のポートを割り当てます。割り当てられたポートは、 Locator が記憶するので、クライアントアプリケーションはロケーターに問い合わせることでど のポート経由でアクセスすべきか知ることができます。もちろん、明示的にポート番号を指定す ることも可能です。 – --properties-file : 事前準備で編集した geode.properties のパスを指定します。絶対指定・相対指定 どちらも可能です。 – --cache-xml-file : キャッシュ設定ファイルへのパスを指定します。この設定内容に応じて Region 作成等を行います。 22
  • 23. Cache Server 起動(4/4)  (参考)キャッシュ設定ファイル(cache.xml)の設定内容について 23 <?xml version="1.0" encoding="UTF-8"?> <cache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://geode.apache.org/schema/cache" xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd" version="1.0" lock-lease="120" lock-timeout="60" search-timeout="300" is-server="true" copy-on-read="false"> <region name="ExRegion1" refid="PARTITION_REDUNDANT_PERSISTENT" /> <region name="ExRegion2" refid="PARTITION_REDUNDANT_PERSISTENT" /> </cache> ExRegion1、ExRegion2 という二つの Region を作成。 PARTITION_REDUNDANT_PERSISTENT ということで、 Partitioned Region で、冗長コピー x1、ディスクストアに永続化とい う設定。
  • 25. gfsh によるクラスター管理(1/2)  gfsh を引数なしで実行すると、“gfsh>” というコマンドプロンプトが現れ、インタラク ティブに各種コマンドを実行できるモードで起動します。  bash とかみたく、適宜 TAB キーで各コマンド一覧表示やら引数の補完、カーソルキーに よるヒストリー参照とかやってくれます。 25 $ gfsh _________________________ __ / _____/ ______/ ______/ /____/ / / / __/ /___ /_____ / _____ / / /__/ / ____/ _____/ / / / / /______/_/ /______/_/ /_/ 1.3.0 Monitor and Manage Apache Geode gfsh>
  • 26. gfsh によるクラスター管理(2/2)  大部分のコマンドを実行するには、まず、以下のコマンドでいずれかの Locator に接続す る必要があります。 – --locator パラメーターに、自身が起動した Locator の IP とポート番号を指定します  以下の管理コマンドを実行してみます。 26 gfsh>connect --locator=192.168.2.x[55221] gfsh>help gfsh>list members gfsh>show log --member=[your server name] --lines=100 gfsh>change loglevel --loglevel=fine –members=[your server name] gfsh>show log --member=[your server name] --lines=100 gfsh>change loglevel --loglevel=config --members=[your server name] gfsh>status server --name=[your server name] gfsh>describe member --name=[your server name]
  • 28. gfsh によるデータの出し入れ・クエリー(1/2)  まず、キャッシュ設定ファイル経由で作成した ExRegion1 、ExRegion1 の両 Region の有無確認のため、以下のコマンドを実行してみます。  次に、各 Region の詳細情報を以下のコマンドで確認します。  さて、両 Region が正常に作成されていることを確認したら、いよいよデータの 出し入れ、クエリーです。 28 gfsh>list region gfsh>describe region --name=/ExRegion1 gfsh>describe region --name=/ExRegion2
  • 29. gfsh によるデータの出し入れ・クエリー(2/2)  データの挿入です。以下の put コマンドを実行します。キー・バリュー・ペアを挿入するイメージで、ここでは--key と --value には任意の文字列を指定します。キーやバリュー値を変えて複数エントリー挿入してみましょう。  挿入したデータを取り出しましょう。  挿入したデータのバリューを一覧をクエリーしてみましょう。  挿入したデータのキー・バリュー・ペア一覧をクエリーしてみましょう。クエリー対象のエイリアス表記できます。  Where 句も使えます。 29 gfsh>put --region=/ExRegion1 --key='<any string>' --value='<any string>' gfsh>get --region=/ExRegion1 --key='<existing key>' gfsh>query --query="select * from /ExRegion1" gfsh>query --query="select ex1.key,ex1.value from /ExRegion1.entrySet ex1" gfsh>query --query="select ex1.key,ex1.value from /ExRegion1.entrySet ex1 where ex1.key='<existing key>'"
  • 30. 事後処理  次の演習に向けて、クラスターを停止しておきます。  参考)Locator・Cache Server 停止 gfsh コマンド – ログ等のディレクトリを指定する一番楽なやつ 30 $ cd /Users/[your OS user name]/Geode $ sh ./stopServer1.sh & $ sh ./stopServer2.sh & $ sh ./stopLocator1.sh $ sh ./stopLocator2.sh gfsh stop server --dir=server1 gfsh stop locator --dir=locator1
  • 31. 31 単体で Apache Geode クラス ターが動いたので、それらを Multi-site(WAN)構成にして データ連携してみよう!
  • 32. Multi-site(WAN)構成 – クラスター設定(1/2) 32 クラスター1 クラスター2 WAN S R S R S R S R S = Gateway Sender R = Gateway Receiver クラスター間でデータ連係するた めに必要な設定を、プロパティー ファイルに追加します。
  • 33. Multi-site(WAN)構成 – クラスター設定(2/2)  Multi-site(WAN)構成に追加で必要なプロパティーを設定します。 – 差分ファイル(geode-wan-diff.properteis):赤字の数値を設定します(イ ンストラクターの指示に従ってください)。 ▪ x = クラスター識別子的なものです。各クラスター内で一意の自然数を指定します。 ▪ y = 対向クラスターのロケーター IP 末尾 – 既存プロパティーファイルに追記します 33 $ cd /Users/[your OS user name]/Geode $ cat geode-wan-diff.properties >> geode.properties distributed-system-id=x remote-locators=192.168.2.y[55221],192.168.2.y[55221]
  • 34. Multi-site(WAN)構成 – キャッシュ設定(1/2) 34 クラスター1 クラスター2 WAN S R S R S R S R S = Gateway Sender R = Gateway Receiver キャッシュ設定ファイルに、更新 データを対向クラスターに送信す る Gateway Sender と、対向クラ スターからデータを受信する Gateway Receiver の設定を行い ます。
  • 35. Multi-site(WAN)構成 – キャッシュ設定(2/2)  Gateway Sender/Receiver の設定を追加したキャッシュ設定ファイル(cache- wan.xml)の編集・確認:赤字の部分を編集・確認します。 35 <?xml version="1.0" encoding="UTF-8"?> <cache xmlns:xsi=…> <gateway-sender id="GwSender1" enable-persistence="true" manual-start="true" batch-size="100" batch-time-interval="1000" remote-distributed-system-id="2" parallel="true" /> <gateway-receiver manual-start="false" start-port="41000" end-port="41999" /> <region name="ExRegion1" refid="PARTITION_REDUNDANT_PERSISTENT"> <region-attributes gateway-sender-ids="GwSender1" /> </region> <region name="ExRegion2" refid="PARTITION_REDUNDANT_PERSISTENT"/> </cache> Gateway Sender 設定。対向クラ スターへのデータ送信設定。 Gateway Receiver 設 定。対向ク ラスターか ら送信され たデータの 受信設定。 更新データを対向 クラスターに送信 したリージョンに、 Gateway Sender を付与。 Cache Server 起動と同時に、Receiver のみ自動的に 起動するようにします(manual-start 属性)。
  • 36. Multi-site(WAN)構成 – クラスター起動  サーバー起動スクリプトから Gateway Sender/Receiver の設定を追加したキャッ シュ設定ファイルを参照 – サーバー起動スクリプト(startServer*.sh)を、以下の赤字のように編集。  クラスター再起動 36 #! /bin/sh gfsh start server --name=c1s1 --dir=server --server-port=0 --properties- file=geode.properties --cache-xml-file=cache-wan.xml $ cd /Users/[your OS user name]/Geode $ sh ./startLocator1.sh $ sh ./startLocator2.sh $ sh ./startServer1.sh & $ sh ./startServer2.sh &
  • 37. 37 Apache Geode クラスター x2 が Multi-site(WAN)構成で データ連携できたので、動作確 認してみよう!
  • 38. 動作確認用アプリケーション起動(1/2)  動作確認用 Java クライアントアプリケーションを起動 – 起動スクリプト(startListener.sh)内容確認 ▪ geode-dependencies.jar は、必要な Apache Geode ライブラリーへのクラスパスが列挙され たマニフェストファイルのみ含まれている。 – 起動! 38 #!/bin/sh java -classpath ${GEODE_HOME}/lib/geode- dependencies.jar:./lib/GeodeCacheListenerClient.jar io.pivotal.akitada.GeodeCacheListenerClient $1 $2 $3 $ cd /Users/[your OS user name]/Geode/client $ sh ./startListener.sh Usage: java io.pivotal.akitada.GeodeCacheListenerClient [region name] [locator host name] [locator port] $ sh ./startListener.sh ExRegion1 192.168.2.100 55221 指定する引数の内容はインストラク ターと討議の上、決定してください。
  • 39. 動作確認用アプリケーション起動(2/2)  [参考] 動作確認用 Java クライアントアプリケーション – 詳細は、ソースコードを参照 ▪ /Users/[your OS user name]/Geode/client/src/io/pivotal/akitada/GeodeCacheListenerClient.java – main() 関数では、指定したリージョンに接続してキャッシュリス ナーを付与。 – 当該コード自体が CacheListenerAdapter を継承しており、キャッ シュリスナーの実装を含んでいる。 39
  • 40. Gateway Sender 起動  対向クラスターの Gateway Receiver が起動する前に Gateway Sender を起動する と、ログが再接続のリトライだらけになるので、本ハンズオンでは Gateway Sender は手動による起動としています。  gfsh コマンドを引数なしで実行し、自身が構築したクラスターに接続、Gateway Sender を起動します。 – Gateway Sender 起動前後で 、“list gateways” コマンドで Gateway Sender/Receiver の起動状況を 確認してみましょう。 40 gfsh>connect --locator=192.168.2.100[55221] gfsh>list gateways gfsh>start gateway-sender --id=GwSender1 gfsh>list gateways
  • 41. Multi-site(WAN)構成 – Gateway Sender 起動  gfsh コマンドを引数なしで実行し、自身が構築したクラスターに接続、Gateway Sender を付与したリージョンに何かデータを投入してみます。  対向クラスターに更新内容が送信され、キャッシュリスナーを付与したクライ アントアプリケーションが反応し、相手先のクライアントアプリ実行コンソー ル上に以下のようなメッセージがデータ投入の都度出力されれば成功! 41 gfsh>connect --locator=192.168.2.100[55221] gfsh>put --region=/ExRegion1 --key='Nanika' --value='Atai' Received afterCreate event for entry: Nanika, Atai, isOriginRemote=true
  • 42. 42 Apache Geode クラスター x2 の Multi-site(WAN)構成構築、 動作確認を実施したよ。