apache geode docs

Apache Cache Docs

  • [Apache Cache Docs](# Apache Cache Docs)
    • Get start params in meate data:
    • Project Path
    • Start in Local
    • Start on Server
    • Connect by gfsh:
    • Gfsh command

Get start params in meate data:

https://cedt-icg-bitbucket.nam.nsroot.net/bitbucket/projects/OCEAN/repos/oceanmetadb/browse/db/data/int/rio/rio_cache_server.sql

select param.* from meta_comp comp 
join meta_comp_param param on comp.comp_id = param.comp_id
where comp_nm in ('rio_umb_cache_server_1');

select param.* from meta_comp comp 
join meta_comp_param param on comp.comp_id = param.comp_id
where comp_nm in ('rio_umb_cache_server_2');

select param.* from meta_comp comp 
join meta_comp_param param on comp.comp_id = param.comp_id
where comp_nm in ('rio_yume_cache_server_1');

Project Path

project dir:
/global/ocean/data/rio/nextgen/rio_cacheserver/current

log dir:
/global/ocean/data/ocean/log/common/common/rio_cacheserver/

data dir:
/global/ocean/data/ocean/data/common/common/rio_cacheserver/

Start in Local

tasks.gradle:
first: setup env -> run task: jenkinsToUdeploy 

start umbCache -> run task: umbCacheStart
stop umbCache -> run task: umbCacheStop

start yumeCache -> run task: yumeCacheStart
stop yumeCache -> run task: yumeCacheStop

restore region data -> setup the args for region name,  run task: restore
load refdata to region -> run task: loadRefdata
evict region data -> run task: evict

Start on Server

Umb cache server:

${RIO_CACHESERVER_BIN}/cacheServerStart.sh -i inst.rio_umb_cache_server_1
${RIO_CACHESERVER_BIN}/cacheServerStart.sh -i inst.rio_umb_cache_server_2
${RIO_CACHESERVER_BIN}/cacheServerStop.sh -i inst.rio_umb_cache_server_1
${RIO_CACHESERVER_BIN}/cacheServerStop.sh -i inst.rio_umb_cache_server_2 -s Y

Yume cache server:
${RIO_CACHESERVER_BIN}/cacheServerStart.sh -i inst.rio_yume_cache_server_1
${RIO_CACHESERVER_BIN}/cacheServerStop.sh -i inst.rio_yume_cache_server_1

Connect by gfsh:

dev:
sh /global/ocean/data/rio/nextgen/rio_cacheserver/current/bin/gfsh.sh

connect --locator=oceanap01d.nam.nsroot.net[10334] --user=superUser --password=superUser123

connect --locator=oceanap02d.nam.nsroot.net[10344] --user=superUser --password=superUser123

Gfsh command

// list cluster info 
list members
list regions
list indexes

// list details
describe config --member=inst.rio_umb_cache_server_1
describe member --name=inst.rio_umb_cache_server_1
describe region --name=/publisher
describe offline-disk-store --name=ds1 \
--disk-dirs=/global/ocean/data/ocean/data/common/common/rio_cacheserver/inst.rio_umb_cache_server_1/ds1


status locator --name=umb_cache_locator_1
status server --name=inst.rio_umb_cache_server_1


show log --member=inst.rio_umb_cache_server_1
show metrics --member=inst.rio_umb_cache_server_1
show missing-disk-stores


# backup disk store
backup disk-store --dir=/export/fileServerDirectory/gemfireBackupLocation
# increase backup
backup disk-store --dir=/export/fileServerDirectory/gemfireBackupLocation
--baseline-dir=/export/fileServerDirectory/gemfireBackupLocation/2019-10-01-12-30


# deploy jars
deploy --group=umb --jars=../client/build/libs/rio-gemfire-client-1.0-SNAPSHOT.jar
undeploy --jars=rio-gemfire-client-1.0-SNAPSHOT.jar


# region snapshot export & import
export data --parallel --region=/publisher --dir=region1_2019_10_10 --member=umb_server1
import data --region=/publisher --file=FileName.gfd --member=umb_server1

# query & crud
query --query="SELECT * from /publisher where data['dataSources']['UMB_DEV'].containsKey('161090-RIO_UMB_SYNC-001')"

get --key=('id':'133abg124') --region=region1

put --key=('id':'133abg125') --value=('firstname':'James','lastname':'Gosling') \
--region=/region1 --key-class=data.ProfileKey --value-class=data.ProfileDetails

remove --region=/region1 --key=('id': '133abg134')


# echo
echo --string=${SYS_USER}
echo --string=${SYS_CLASSPATH}
echo --string=${APP_FETCH_SIZE}

# debug
debug --state=on


# change
change loglevel --loglevel=DEBUG --members=server1
change loglevel --loglevel=DEBUG --groups=umb


# alter
alter region --name=region1 --region-idle-time-expiration-action=invalidate [-group=all]
alter runtime --lru-action=overflow-to-disk

# export
export config --members=member1
export logs --dir=data/logs --file-size-limit=1k --members=server1
export stack-traces --file=stack.txt
export offline-disk-store --name=DiskStore1 \
--disk-dirs=/home/username/gemfire/mydiskStore1Dir --dir=/home/username/gemfire/export


# cqs 
list durable-cqs --durable-client-id=client1

create async-event-queue --id=myAEQ --listener=myApp.myListener

create index --name=myKeyIndex --expression=region1.Id --region=region1 --type=key

define index --name=myIndex1 --expression=exp1 --region=/exampleRegion
define index --name=myIndex2 --expression="c.exp2" --region="/exampleRegion e, e.collection1 c"
define index --name=myIndex3 --expression=exp3 --region=/exampleRegion --type=hash 
create defined indexes

show missing-disk-stores
revoke missing-disk-store --id=value

rebalance --include-region=/region3 --simulate=true


author: hw83770
date: 2020-01-07

OQL guide

data class:

public class Country implements Declarable {
   String name;
   String capitol;
   Set languages;
   Map province;
   int population;

  public boolean isBigCountry(){
    return population > 100000 && province.size() > 20;
  }
}

region data structure: Region
regionCountry.put(country.getName(), country)

---

OQL:
debug:
 select * from /Country

list keys:
select * from /Country.keys
select * from /Country.keySet
SELECT key, langs FROM /Country.entrySet entry, entry.value.languages langs WHERE langs.size > 3

invoke java method:
select * from /Country c where c.capitol.equalsIgnoreCase('portland')
select * from /Country c where c.isBigCountry

comments:
SELECT *  FROM /exampleRegion /* here is a comment */ WHERE status = 'active'

MIN, MAX, AVG, AVG, count Function: 
SELECT count(e) FROM /Country e WHERE e.population > 10
-- sales should evaluate to java.lang.Number and java.lang.Comparable

the same result:
SELECT DISTINCT * FROM /Country p WHERE p.name = '1'
SELECT DISTINCT * FROM /Country p WHERE p.Name = '1'
SELECT DISTINCT * FROM /Country p WHERE p.getName() = '1'

like: 
SELECT * FROM /Country p WHERE p.name LIKE 'china'

IN and SET: 
SELECT * FROM /Country WHERE languages = set('eng','chinese','jap')
SELECT * FROM /Country WHERE languages.containsAll(set('eng','chinese','jap'))

SELECT name, capitol FROM /Country WHERE name IN (SELECT id FROM /portfolios WHERE status = 'active')

Map: 
SELECT entry.key, entry.value FROM /Country.entries entry WHERE entry['name'] = 'china'
SELECT entry.key, entry.value FROM /Country.entries entry WHERE entry.province['name'] = 'shanghai'

Map and Array:
SELECT * FROM /exampleRegion p WHERE p.collectionHolderMap.get('1').arr[0] = '0'

--- advance query 

AS:`
SELECT DISTINCT key.ID, key.status AS st FROM /exampleRegion.keys key 
WHERE key.status = 'inactive' ORDER BY key.status desc, key.ID LIMIT 1

Join: 
SELECT portfolio1.ID, portfolio2.status FROM /exampleRegion portfolio1, /exampleRegion2 portfolio2 
WHERE portfolio1.status = portfolio2.status

useing TRUE:
SELECT DISTINCT * FROM /Portfolios WHERE TRUE

Using IMPORT and Using TYPE:
IMPORT package.Position;
SELECT DISTINCT * FROM /exampleRegion, positions.values positions TYPE Position WHERE positions.mktValue >= 25.00

Using ELEMENT
ELEMENT(SELECT DISTINCT * FROM /exampleRegion WHERE id = 'XYZ-1').status = 'active'

Using parameters query:
String queryString = "SELECT DISTINCT * FROM /exampleRegion p WHERE p.status = $1";
Query query = queryService.newQuery(queryString);
Object[] params = new Object[1];
params[0] = "active";
SelectResults results = (SelectResults) query.execute(params);

你可能感兴趣的:(apache geode docs)