# MasterManager(マスタノード)定義
joblist=MasterConfigurationManagerJob,MasterManagerJob,ServerManagedJob,ConnectionPoolJob,KeyNodeWatchJob
helperlist=MasterManagerHelper,KeyNodeWatchHelper,ConnectionPoolHelper


# MasterConfigurationManagerJobの定義
MasterConfigurationManagerJob.JobClass=org.imdst.job.MasterConfigurationManagerJob
MasterConfigurationManagerJob.Init=
MasterConfigurationManagerJob.Option=
MasterConfigurationManagerJob.Depend=

# MasterManagerJobの定義
MasterManagerJob.JobClass=org.imdst.job.MasterManagerJob
MasterManagerJob.Init=11211
MasterManagerJob.Option=memcache
MasterManagerJob.Depend=


# ServerManagedJobの定義
ServerManagedJob.JobClass=org.imdst.job.ServerManagedJob
ServerManagedJob.Init=
ServerManagedJob.Option=
ServerManagedJob.Depend=

# KeyNodeWatchJobの定義
KeyNodeWatchJob.JobClass=org.imdst.job.KeyNodeWatchJob
KeyNodeWatchJob.Init=
KeyNodeWatchJob.Option=
KeyNodeWatchJob.Depend=

# ConnectionPoolJobの定義
ConnectionPoolJob.JobClass=org.imdst.job.ConnectionPoolJob
ConnectionPoolJob.Init=
ConnectionPoolJob.Option=
ConnectionPoolJob.Depend=


# Helper設定
MasterManagerHelper.HelperClass=org.imdst.helper.MasterManagerHelper
MasterManagerHelper.Init=1
MasterManagerHelper.Option=

KeyNodeWatchHelper.HelperClass=org.imdst.helper.KeyNodeWatchHelper
KeyNodeWatchHelper.Init=
KeyNodeWatchHelper.Option=

ConnectionPoolHelper.HelperClass=org.imdst.helper.ConnectionPoolHelper
ConnectionPoolHelper.Init=
ConnectionPoolHelper.Option=


######################################## MasterNode設定情報 ########################################

### サーバ停止ファイル ###
ServerStopFile=./ServerStop


### 設定情報を取得する場所(file or node) ###
## 設定情報を本ファイルを起動後も参照し続けるか、起動後は本ファイルを一度だけ参照し、
## 以後は、DataNodeに登録されている設定情報を参照するかを決定する
## "file"の場合は本ファイルを参照する
## "node"の場合はDataNodeを参照する
## 設定をしない場合は"node"となる
SystemConfigMode=node

### 自身の情報 ###
## 自身のIPと起動ポート番号を":"区切りで記述
##
## ※使用を推奨
## ※この設定がない場合はメインMasterNodeの自動昇格機能が機能しない
MyNodeInfo=127.0.0.1:11211

### メインマスターノードの情報 ###
## 起動時にメインMasterNodeとして認識するノードのIPとポート番号
## 自身がメインMasterNodeの場合は自身の情報を記述
##
## 使用を推奨
MainMasterNodeInfo=127.0.0.1:8888

### 全てのマスターノードの情報を"IP:PORT番号"フォーマットで","区切りで記述 ###
## 自身の情報はMyNodeInfo設定の内容と同じであること
##
## ここでの記述順でメインMasterNodeとして機能する
##
## ※使用を推奨
## ※この設定がない場合はメインMasterNodeの自動昇格機能が機能しない
AllMasterNodeInfo=127.0.0.1:8888,127.0.0.1:8889,127.0.0.1:11211


### メインMasterNodeの設定 ###
# 自身がメインMasterNodeの場合はtrue、スレーブはfalse
# 全MasterNode中1ノードは必ずtrueにする必要がある
# ※旧設定項目
# ※非推奨
MainMasterNodeMode=

### 本ノードがメインMasterNodeとなる場合はスレーブMasterNodeのIPとPORT番号をカンマ区切りで記述する(例)192.168.1.2:8888,192.168.1.3:8888 ###
# スレーブの場合は記述しない
# ※旧設定項目
# ※非推奨
SlaveMasterNodes=

### Transactionモード及び、TransactionManagerへの接続設定 ###
# TransactionModeで使用するかを設定
TransactionMode=true

# TransactionManagerのIP、PORT設定
TransactionManagerInfo=127.0.0.1:6655

### データノード定義 ###
#使用DataNode数
KeyMapNodesRule=2

#使用メインデータノード情報("マシンIP:ポート場号,マシンIP:ポート場号"の形式で記述)
KeyMapNodesInfo=localhost:5553,localhost:5554

#使用スレーブデータノード情報("マシンIP:ポート場号,マシンIP:ポート場号"の形式で記述)
#KeyMapNodesInfoに記述されているノード数と同じ数のノードが必要である。上記の"localhost:5553"は"localhost:5556"に
#レプリケーションされ"localhost:5554"は"localhost:5557"にレプリケーションされる。
#稼動後の組み合わせは変更出来ないため、マシン入れ替えの場合は既存のノードを停止し、同様のIP、ポート番号で別ノードを
#起動すると、データがメインデータノードからレプリケーションされる。
#メイン、スレーブどちらかのノードが停止した場合のノード切り替えは自動的に行われる。
#※メインデータノードを入れ替える場合はスレーブデータノードを起動したまま、メインデータノードを停止し、
#  別マシンをメインデータノードのIPとポートで起動すればスレーブデータノードからレプリケーションされる。
SubKeyMapNodesInfo=localhost:5556,localhost:5557


# !!!! 以下はデータノードを増設する場合の設定 !!!! 
# 本ファイルを変更保存したと同時にファイルが再読み込みされ設定が自動的に反映される。
#先頭に増設後の台数をカンマ区切りで追記(以下の例は、元々は2台で運用後、4台に増設した場合)
#KeyMapNodesRule=4,2

#現在のノード情報の後方に追記
#(以下の例は、localhost:5553,localhost:5554の2台での運用に対して、localhost:6556,localhost:6557を追加した場合)
#SubKeyMapNodesInfoも同時に追加
#KeyMapNodesInfo=localhost:5553,localhost:5554,localhost:6556,localhost:6557
#SubKeyMapNodesInfo=localhost:5555,localhost:5557,localhost:7556,localhost:7557


### 接続プール設定 ###
# 1データノードに対する接続プールの最大数
OneKeyNodeConnectionPoolMax=5

# データノードに対する接続プール合計の最大数
KeyNodeConnectionPoolMax=20


### ロードバランス設定 ###
# データノードアクセス時に負荷を分散する設定
# 本値はメインデータノードとスレーブデータへの
# アクセスを拡散することで負荷を分散する。
# メインデータノードに対して、スレーブデータノードの
# Specが大幅に劣る場合はfalseの方が良い場合がある
# true=バランスする, false=バランスしない) 
LoadBalanceMode=true

PTest=true