Geode集羣配置服務
集羣配置服務概述
使用集羣配置服務能能做什麼?
1.保存整個集羣的配置
2.使用先前保存的配置重新啓動成員
3.從開發環境導出配置,並遷移該配置以創建測試或生產系統
4.啓動其它服務器,而不必單獨配置每個服務器
5.指定不同的服務管理不同的Regions
如何開啓集羣配置服務
集羣中的每一個設置了—enable-cluster-configuratino=true的locator會保存一份配置記錄,該記錄是以locator和group級別的配置。當修改集羣配置,locator會分發配置到集羣中所有的locators。當啓動一個新server將會從當前locator引用當前的集羣配置,如果新server有指定分組,則會引用該組的配置。
集羣配置服務工作方式
1.使用命令行創建server,region,disk-stores,index,deploy jar …
2.集羣配置服務保存配置到每一個集羣中的locator。如果定義一個group,將會爲該分組產生一個獨立的配置,該配置僅適用於該分組成員
3.用命令行創建新的server
4.新成員向locator請求集羣配置
5.locator將會分發配置給新加入的server.如果是指定了分組,該server將會收到對應的group集羣配置。所以可以使用group配置覆蓋locator的配置
gfsh命令行創建集羣配置
下列操作命令會寫入到所有的集羣locators中,locator會把配置寫入磁盤。(配置region,index,disk-store,jar….)
configure pdx ####該合令必須在啓動data members之前。不會影響到當前正在運行的members ,在這之後啓動會採用新的PDX 配置 alter runtime create region alter region destroy region create index destroy index create disk-store destroy disk-store create async-event-queue deploy jar undeploy jar
下列網關配置命令使用集羣配置服務,並且配置會被locators保存
create gateway-sender create gateway-receiver
cache.xml或API方式創建集羣配置
下列配置沒法用GFSH,必須用cache.xml或API來配置
1.客戶端的緩存配置 (Client cache configuration) 2.不能爲下列java classes定義參數和值 function custom-load-probe cache-listener cache-loader cache-writer compressor serializer instantiantor pdx-serializer ###configure pdx命令指定org.apache.geode.pdx.ReflectionBaseAutoSerializer class, 不能在GFSH中自定義PDX serializer custom-expiry initializer declarable lru-heap-percentage lru-memory-size partition-resolver partition-listener transaction-listener transaction-writer 3.添加或移除事務監聽器 (Adding or removing a TransactionListener) 4.添加JNDI (Adding JNDI bindings) 5.刪除異步事務隊列 (Deleting an AsyncEventQueue)
下列網關配置命令必須用cache.xml或API來配置
1.Configuring a GatewayConflictResolver 2.不能爲下列java classes定義參數和值 gateway-listener gateway-conflict-resolver gateway-event-filter gateway-transport-filter gateway-event-substitution-filter
*–enable-cluster-configuration=true默爲爲true。在啓動locator的時候可以修改該參數爲false,表示禁用集羣配置服務。
集羣配置文件
在Geode中使用集羣配置服務時,會在cluster_config目當中生成對應的Cluster-lever和Group-level配置文件。(但1.1.1版本好像有Bug,該目錄及相關配置並不存在,應該會在下一個版本中修復該問題吧!)
Cluster-level 配置
locator會在 <locator_name>/clustername/“目錄或在–cluster-config-dir=value 參數指定的目錄下創建一個cluster_config的文件目錄。該配置對所有成面生效,當在命令行啓動servers將會引用該配置。
該目錄包含以下文件:
1.cluster.xml –配置所有成員基本配置的cache.xml文件
2.cluster.properties –配置所有成員基本properties屬性的gemfire.properties文件
3.部署到所有成員的JAR文件
Group-level 配置
當在gfsh命令中指定group,locator將爲每一個group創建一個配置目錄,該目錄與group名相同,當創建一個server並且同時指定一個或多個group。該server會收到cluster-lever的配置和所有分組的配置。
該目錄包含以下文件:
1.<group-name>.xml –配置該分組所有成員基本配置的cache.xml文件
2.<group-name>.properties –配置該分組所有成員基本properties屬性的gemfire.properties文件
3.部署到該分組所有成員的JAR文件
*Geode首先應用集羣範圍的配置文件,然後再應用組級配置文件。如果一個成員有自己的配置文件定義(cache.xml和gemfire.properties文件),最後應用這些配置。