分别在各主机创建Geode工作目录geode_work,并在该目录中进入gfsh命令行.
例如:
cd /opt/geode_work
gfsh
gfsh>start locator --name=locator1 --port=10334 --locators=T1[10334],T2[10334]
gfsh>start locator --name=locator2 --port=10334 --locators=T1[10334],T2[10334]
gfsh>start server --name=server1 --server-port=40404 --locators=T1[10334],T2[10334]
gfsh>start server --name=server2 --server-port=40404 --locators=T1[10334],T2[10334]
主机(T1)
gfsh>list members
Name | Id
-------- | ---------------------------------------------------
locator1 | 192.168.79.143(locator1:39175:locator):1024
locator2 | 192.168.79.145(locator2:33587:locator):1024
server1 | 192.168.79.143(server1:39334):1025
server2 | 192.168.79.145(server2:33715):1025
主机(T2)
gfsh>list members
Name | Id
-------- | ---------------------------------------------------
locator1 | 192.168.79.143(locator1:39175:locator):1024
locator2 | 192.168.79.145(locator2:33587:locator):1024
server1 | 192.168.79.143(server1:39334):1025
server2 | 192.168.79.145(server2:33715):1025
T3
gfsh>start server --name=server3 --server-port=40404 --locators=T1[10334],T2[10334]
T4
gfsh>start server --name=server4 --server-port=40404 --locators=T1[10334],T2[10334]
T1 & T2
gfsh>list members
Name | Id
-------- | ---------------------------------------------------
server3 | 192.168.79.139(server3:5244):1024
server4 | 192.168.79.142(server4:5160):1024
locator1 | 192.168.79.143(locator1:39175:locator):1024
locator2 | 192.168.79.145(locator2:33587:locator):1024
server1 | 192.168.79.143(server1:39334):1025
server2 | 192.168.79.145(server2:33715):1025
T1
gfsh>create region --name=region1 --type=REPLICATE_PERSISTENT
Member | Status
------- | --------------------------------------
server1 | Region "/region1" created on "server1"
server2 | Region "/region1" created on "server2"
server3 | Region "/region1" created on "server3"
server4 | Region "/region1" created on "server4"
gfsh>stop server --name=server4
gfsh>list members
Name | Id
-------- | ---------------------------------------------------
server3 | 192.168.79.139(server3:5244):1024
locator1 | 192.168.79.143(locator1:39175:locator):1024
locator2 | 192.168.79.145(locator2:33587:locator):1024
server1 | 192.168.79.143(server1:39334):1025
server2 | 192.168.79.145(server2:33715):1025
kill T3服务器上的server3进程
gfsh>list members
Name | Id
-------- | ---------------------------------------------------
locator1 | 192.168.79.143(locator1:39175:locator):1024
locator2 | 192.168.79.145(locator2:33587:locator):1024
server1 | 192.168.79.143(server1:39334):1025
server2 | 192.168.79.145(server2:33715):1025
gfsh>describe region --name=region1
..........................................................
Name : region1
Data Policy : persistent replicate
Hosting Members : server2
server1
Non-Default Attributes Shared By Hosting Members
Type | Name | Value
------ | ----------- | --------------------
Region | data-policy | PERSISTENT_REPLICATE
| size | 0
| scope | distributed-ack
gfsh>put --region=region1 --key="1" --value="one"
Result : true
Key Class : java.lang.String
Key : 1
Value Class : java.lang.String
Old Value :
T3
gfsh>start server --name=server3 --server-port=40401 --locators=T1[10334],T2[10334]
T1
gfsh>describe region --name=region1
..........................................................
Name : region1
Data Policy : persistent replicate
Hosting Members : server3
server2
server1
Non-Default Attributes Shared By Hosting Members
Type | Name | Value
------ | ----------- | --------------------
Region | data-policy | PERSISTENT_REPLICATE
| size | 1
| scope | distributed-ack
gfsh>query --query="select * from /region1"
Result : true
startCount : 0
endCount : 20
Rows : 1
Result
------
one
NEXT_STEP_NAME : END
T2
$ reboot
T1
gfsh>list members
Name | Id
-------- | ---------------------------------------------------
server3 | 192.168.79.139(server3:5617):1024
locator1 | 192.168.79.143(locator1:39175:locator):1024
server1 | 192.168.79.143(server1:39334):1025
gfsh>query --query="select * from /region1"
Result : true
startCount : 0
endCount : 20
Rows : 1
Result
------
one
NEXT_STEP_NAME : END
T2
gfsh>start locator --name=locator2 --port=10334 --locators=T1[10334],T2[10334]
gfsh>start server --name=server2 --server-port=40401 --locator=T1[10334],T2[10334]
gfsh>list members
Name | Id
-------- | ---------------------------------------------------
server3 | 192.168.79.139(server3:3950):1024
locator2 | 192.168.79.146(locator2:5447:locator):1024
locator1 | 192.168.79.149(locator1:5200:locator):1024
server2 | 192.168.79.146(server2:5602):1025
server1 | 192.168.79.149(server1:5303):1025
gfsh>describe region --name=region1
..........................................................
Name : region1
Data Policy : persistent replicate
Hosting Members : server3
server2
server1
Non-Default Attributes Shared By Hosting Members
Type | Name | Value
------ | ----------- | --------------------
Region | data-policy | PERSISTENT_REPLICATE
| size | 1
| scope | distributed-ack
gfsh>query --query="select * from /region1"
Result : true
startCount : 0
endCount : 20
Rows : 1
Result
------
one
NEXT_STEP_NAME : END
T1 模拟停机,kill所有geode相关进程 此时T2机上的连接会自动断开(推断启动locator时,会自动连至locators列表中第一台启动的locator),信息如下:
gfsh>
No longer connected to T1[1099].
重新连接到T2,如果没有断开连接就不用了
gfsh>connect --locator=T2[10334]
gfsh>describe region --name=region1
..........................................................
Name : region1
Data Policy : persistent replicate
Hosting Members : server3
server2
Non-Default Attributes Shared By Hosting Members
Type | Name | Value
------ | ----------- | --------------------
Region | data-policy | PERSISTENT_REPLICATE
| size | 1
| scope | distributed-ack
gfsh>query --query="select * from /region1"
Result : true
startCount : 0
endCount : 20
Rows : 1
Result
------
one
NEXT_STEP_NAME : END
END!