• Geode安装管理指南


    Step1 安装Geode

    1. 下载 .zip 或者 .tar 文件从 http://geode.apache.org.

    2. 解压 .zip 或者 .tar 文件, 这个 path_to_product 是绝对路径.

      例如 .zip 格式:

      $ unzip apache-geode-1.14.0.zip -d path_to_product
      
      • 1

      例如 .tar 格式:

      $ tar -xvf apache-geode-1.14.0.tar -C path_to_product
      
      • 1
    3. 设置 JAVA_HOME 环境变量. 在 Linux/Unix 下:

      JAVA_HOME=/usr/java/jdk1.8.0_60
      export JAVA_HOME
      
      • 1
      • 2

      在 Windows 平台:

      set JAVA_HOME=c:\Program Files\Java\jdk1.8.0_60 
      
      • 1
    4. 添加 Geode 脚本 到你的 PATH 环境变量里. 在 Linux/Unix 下:

      PATH=$PATH:$JAVA_HOME/bin:path_to_product/bin
      export PATH
      
      • 1
      • 2

      Windows 下:

      set PATH=%PATH%;%JAVA_HOME%\bin;path_to_product\bin 
      
      • 1
    5. 为了验证安装是否成功, 键入 gfsh version 命令, 查看输出. 例如:

      $ gfsh version
      v1.14.0
      
      • 1
      • 2

      想查看更详细的信息, 比如 构建日期和版本号, JDK 版本等等, 键入:

      $ gfsh version --full
      
      • 1

    Step2 启动Locator

    1. 创建一个工作目录 例如, my_geode) 然后进入它. gfsh 在此目录下保存locatorserver 的工作目录和日志文件.

    2. 键入 gfsh 命令启动它(或者 gfsh.bat 在Windows操作操作系统下).

          _________________________     __
         / _____/ ______/ ______/ /____/ /
        / /  __/ /___  /_____  / _____  /
       / /__/ / ____/  _____/ / /    / /
      /______/_/      /______/_/    /_/    1.5
      
      Monitor and Manage Geode
      gfsh>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
    3. 在进入 gfsh 后, 键入 start locator 命令指定 locator 的名字:

      gfsh>start locator --name=locator1
      Starting a Geode Locator in /home/username/my_geode/locator1...
      .................................
      Locator in /home/username/my_geode/locator1 on ubuntu.local[10334] as locator1 is currently online.
      Process ID: 3529
      Uptime: 18 seconds
      Geode Version: 1.5
      Java Version: 1.8.0_121
      Log File: /home/username/my_geode/locator1/locator1.log
      JVM Arguments: -Dgemfire.enable-cluster-configuration=true -Dgemfire.load-cluster-configuration-from-dir=false
      -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
      -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
      Class-Path: /home/username/Apache_Geode_Linux/lib/geode-core-1.0.0.jar:
      /home/username/Apache_Geode_Linux/lib/geode-dependencies.jar
      
      Successfully connected to: JMX Manager [host=10.118.33.169, port=1099]
      
      Cluster configuration service is up and running.
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18

    如果你运行 start locatorgfsh 没有指定 member 名字, gfsh 会自动生成一个随机的 member 名字. 这对自动化操作非常有用.

    Step3 启动Pulse

    启动基于浏览器的脉冲监测工具. Pulse是一个Web应用程序,它提供了一个图形仪表板,用于监控Geode集群,成员和regions的重要的实时健康和性能.参考Geode Pulse

    gfsh>start pulse
    
    • 1

    此命令启动Pulse并自动连接到在Locator中运行的JMX Manager.在Pulse登录页面上,输入默认用户名admin和密码admin.

    Pulse应用程序显示刚刚启动的定位器(locator1): [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yhuX8ySO-1662299034208)(assets/pulse_locator.png)]

    Step4 启动服务器(server)

    Geode服务器是作为一个长期运行的,可配置成员的集群(也称为分布式系统). Geode服务器主要用于托管长期数据区域(data regions)和运行标准Geode进程,例如客户端/服务器配置中的服务器.参考Running Geode Server Processes.

    启动一个缓存服务器:

    gfsh>start server -name=server1 -server-port=40411
    
    • 1

    此命令在 40411 的指定端口上启动名为"server1"的缓存服务器.

    如果你运行 start server 命令从 gfsh 没有指定 member 名字, gfsh 会自动随机生成一个随机的 member 名字. 这对自动化操作非常有用.

    在Pulse中观察变化(新成员[member]和服务器[server]).尝试扩展分布式系统图标,以图形方式查看定位器和缓存服务器.

    Step5 创建一个复制的(replicated),持久(persistent)的region

    在此步骤中,使用gfsh命令创建一个region.region是Geode集群的核心构建块,并提供了组织数据的方法.在此次练习中创建的region在集群成员之间复制数据(replicated),并利用持久性将数据保存到磁盘(persistent).参考Data Regions

    1. 创建一个被复制的持久的region:
    gfsh>create region --name=regionA --type=REPLICATE_PERSISTENT
    Member  | Status
    ------- | --------------------------------------
    server1 | Region "/regionA" created on "server1"
    
    • 1
    • 2
    • 3
    • 4

    注意该region被server1托管.

    1. 使用gfsh命令查看集群上的region列表
    gfsh>list regions
    List of regions
    ---------------
    regionA
    
    • 1
    • 2
    • 3
    • 4
    1. 查看集群的成员列表.启动的定位器(locator)和缓存服务器(cache server)都在该列表中.
    gfsh>list members
      Name       | Id
    ------------ | ---------------------------------------
    Coordinator: | 192.0.2.0(locator1:3529:locator):59926
    locator1     | 192.0.2.0(locator1:3529:locator):59926
    server1      | 192.0.2.0(server1:3883):65390
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    1. 查看该region的详细信息:
    gfsh>describe region --name=regionA
    ..........................................................
    Name            : regionA
    Data Policy     : persistent replicate
    Hosting Members : server1
    
    Non-Default Attributes Shared By Hosting Members
    
     Type  | Name | Value
    ------ | ---- | -----
    Region | size | 0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    1. 在Pulse中,点击绿色的集群图标,查看刚刚添加的新成员和新regions.

    Note: 保持此gfsh提示打开以供后续步骤使用.

    Step6 操作region中数据,展示持久性

    Apache Geode以键/值对形式对数据进行管理.在大多数应用程序中,Java程序添加,删除和修改存储的数据.同时也可以使用gfsh命令添加和检索数据.参考Data Commands.

    1. 运行put命令向region中添加数据.
    gfsh>put --region=regionA --key="1" --value="one"
    Result      : true
    Key Class   : java.lang.String
    Key         : 1
    Value Class : java.lang.String
    Old Value   : 
    
    gfsh>put --region=regionA --key="2" --value="two"
    Result      : true
    Key Class   : java.lang.String
    Key         : 2
    Value Class : java.lang.String
    Old Value   : 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    1. 查询region中数据.
    gfsh>query --query="select * from /regionA"
    
    Result     : true
    startCount : 0
    endCount   : 20
    Rows       : 2
    
    Result
    ------
    two
    one
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    注意到结果是刚刚使用put命令添加的两条数据条目(entries).
    参考Data Entries.

    1. 关闭缓存服务器:
    gfsh>stop server --name=server1
    Stopping Cache Server running in /home/username/my_geode/server1 on ubuntu.local[40411] as server1...
    Process ID: 3883
    Log File: /home/username/my_geode/server1/server1.log
    ....
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 重新启动缓存服务器:
    gfsh>start server --name=server1 --server-port=40411
    
    • 1
    1. 再次查询region中数据,注意到数据仍然可用:
    gfsh>query --query="select * from /regionA"
    
    Result     : true
    startCount : 0
    endCount   : 20
    Rows       : 2
    
    Result
    ------
    two
    one
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    因为regionA有持久性,它将数据的副本写入磁盘.当托管regionA的服务器启动时,数据将被填充到高速缓存中.请注意,结果显示停止服务器之前使用put命令添加的两个数据条目的值.
    参考Data Entries
    参考Data Regions

    Step7 检测副本(replication)的影响

    在此步骤中,启动第二个缓存服务器.因为regionA是可复制的,所以该数据将在托管该区域的任何服务器上可用.

    1. 启动第二台服务器:
    gfsh>start server --name=server2 --server-port=40412
    
    • 1
    1. 运行describe region 命令,查看regionA的详细信息:
    gfsh>describe region --name=regionA
    ..........................................................
    Name            : regionA
    Data Policy     : persistent replicate
    Hosting Members : server1
                      server2
    
    Non-Default Attributes Shared By Hosting Members
    
     Type  | Name | Value
    ------ | ---- | -----
    Region | size | 2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    请注意,不需要再为server2创建regionA.命令的输出显示regionA托管在server1和server2上.当gfsh启动服务器时,它会从群集配置服务请求配置,集群配置服务会将共享配置分发到加入群集的任何新服务器.

    1. 增加第三个数据条目:
    gfsh>put --region=regionA --key="3" --value="three"
    Result      : true
    Key Class   : java.lang.String
    Key         : 3
    Value Class : java.lang.String
    Old Value   : 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    1. 打开Pulse应用程序(在Web浏览器中)并观察集群拓扑.应该可以看到一个有两个服务器连接的定位器.单击"data"选项卡以查看有关regionA的信息.
    2. 关闭第一个缓存服务器:
    gfsh>stop server --name=server1
    Stopping Cache Server running in /home/username/my_geode/server1 on ubuntu.local[40411] as server1...
    Process ID: 4064
    Log File: /home/username/my_geode/server1/server1.log
    ....
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 在其余的缓存服务器中查询数据:
    gfsh>query --query="select * from /regionA"
    
    Result     : true
    startCount : 0
    endCount   : 20
    Rows       : 3
    
    Result
    ------
    two
    one
    three
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    注意数据包含3个条目, 包括你刚刚添加的那个.

    1. 添加第四个数据条目
    gfsh>put --region=regionA --key="4" --value="four"
    Result      : true
    Key Class   : java.lang.String
    Key         : 3
    Value Class : java.lang.String
    Old Value   : 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    只有server2正在运行.因为数据被复制和持久化,所有数据仍然可用.但是新的数据条目当前仅在server2 上可用.

    gfsh>describe region --name=regionA
    ..........................................................
    Name            : regionA
    Data Policy     : persistent replicate
    Hosting Members : server2
    
    Non-Default Attributes Shared By Hosting Members
    
     Type  | Name | Value
    ------ | ---- | -----
    Region | size | 4
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    1. 关闭Server2
    gfsh>stop server --name=server2
    Stopping Cache Server running in /home/username/my_geode/server2 on ubuntu.local[40412] as server2...
    Process ID: 4185
    Log File: /home/username/my_geode/server2/server2.log
    .....
    
    • 1
    • 2
    • 3
    • 4
    • 5

    Step8 并行重启缓存服务器

    在此步骤中,并行重新启动缓存服务器.由于数据是持久的,因此在服务器重新启动时数据可用.由于数据在多个服务器上存在副本,因此必须并行启动服务器,以便可以在启动之前同步其数据.

    1. 启动server1.因为regionA是复制和持久的,它需要同步其他服务器的数据才能启动,因此需要等待其他服务器启动:
    gfsh>start server --name=server1 --server-port=40411
    Starting a Geode Server in /home/username/my_geode/server1...
    ............................................................................
    ............................................................................
    
    • 1
    • 2
    • 3
    • 4

    此时如果在server1.log日志文件中查找重新启动服务器的相关信息,将看到类似于以下内容的日志消息:

    [info 2015/01/14 09:08:13.610 PST server1 
    tid=0x1] Region /regionA has pot entially stale data. It is waiting for another member to recover the latest data. My persistent id: DiskStore ID: 8e2d99a9-4725-47e6-800d-28a26e1d59b1 Name: server1 Location: /192.0.2.0:/home/username/my_geode/server1/. Members with potentially new data: [ DiskStore ID: 2e91b003-8954-43f9-8ba9-3c5b0cdd4dfa Name: server2 Location: /192.0.2.0:/home/username/my_geode/server2/. ] Use the "gfsh show missing-disk-stores" command to see all disk stores that are being waited on by other members.
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    1. 打开第2个终端窗口,切换到合适的工作目录(例如:my_geode),启动gfsh:
    [username@localhost ~/my_geode]$ gfsh
        _________________________     __
       / _____/ ______/ ______/ /____/ /
      / /  __/ /___  /_____  / _____  /
     / /__/ / ____/  _____/ / /    / /
    /______/_/      /______/_/    /_/    1.5
    
    Monitor and Manage Geode
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    1. 连接集群:
    gfsh>connect --locator=localhost[10334]
    Connecting to Locator at [host=localhost, port=10334] ..
    Connecting to Manager at [host=ubuntu.local, port=1099] ..
    Successfully connected to: [host=ubuntu.local, port=1099]
    
    • 1
    • 2
    • 3
    • 4

    注意,特别是在/etc/hosts里的hostname跟/etc/sysconfig/network里的不一致时必需使用jmx-manager参数,而且格式最好是’IP地址[端口号]’

    例如connect --jmx-manager=${locator_ip_address}

    1. 启动server2:
    gfsh>start server --name=server2 --server-port=40412
    
    • 1

    当server2启动时,注意server1在第一个gfsh窗口中完成启动:

    Server in /home/username/my_geode/server1 on ubuntu.local[40411] as server1 is currently online.
    Process ID: 3402
    Uptime: 1 minute 46 seconds
    Geode Version: 1.5
    Java Version: 1.8.0_121
    Log File: /home/username/my_geode/server1/server1.log
    JVM Arguments: -Dgemfire.default.locators=192.0.2.0[10334] -Dgemfire.use-cluster-configuration=true
    -XX:OnOutOfMemoryError=kill -KILL %p -Dgemfire.launcher.registerSignalHandlers=true
    -Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
    Class-Path: /home/username/Apache_Geode_Linux/lib/geode-core-1.0.0.jar:
    /home/username/Apache_Geode_Linux/lib/geode-dependencies.jar
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    1. 验证定位器和两个服务器在运行:
    gfsh>list members
      Name       | Id
    ------------ | ---------------------------------------
    Coordinator: | ubuntu(locator1:2813:locator):46644
    locator1     | ubuntu(locator1:2813:locator):46644
    server2      | ubuntu(server2:3992):21507
    server1      | ubuntu(server1:3402):36532
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    1. 查询以验证使用put命令添加的所有数据是否可用:
    gfsh>query --query="select * from /regionA"
    
    Result     : true
    startCount : 0
    endCount   : 20
    Rows       : 5
    
    Result
    ------
    one
    two
    four
    Three
    
    NEXT_STEP_NAME : END
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    1. 关闭server2
    gfsh>stop server --dir=server2
    Stopping Cache Server running in /home/username/my_geode/server2 on 192.0.2.0[40412] as server2...
    Process ID: 3992
    Log File: /home/username/my_geode/server2/server2.log
    ....
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 再次查询以验证使用put命令添加的所有数据是否可用:
    gfsh>query --query="select * from /regionA"
    
    Result     : true
    startCount : 0
    endCount   : 20
    Rows       : 5
    
    Result
    ------
    one
    two
    four
    Three
    
    NEXT_STEP_NAME : END
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    Step 9 关闭包括定位器在内的整个系统

    关闭集群有以下步骤:

    1. 在当前gfsh会话中,关闭集群:
    gfsh>shutdown --include-locators=true
    
    • 1

    参见 shutdown.

    1. 出现提示时,键入"Y"以确认集群关闭.
    As a lot of data in memory will be lost, including possibly events in queues,
    do you really want to shutdown the entire distributed system? (Y/n): Y
    Shutdown is triggered
    
    gfsh>
    No longer connected to ubuntu.local[1099].
    gfsh>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    1. 输入 exit 推出gfsh shell.

    Geode服务运维疑难汇总

    • 关于启动定位器,指定JVM参数:
    窗口启动(服务进程随窗口关闭):
    start locator --name=locator203 --locators=172.16.234.202[10334],172.16.234.203[10334] --J=-Xmx8g --J=-Xms8g --J=-Xmn2g
    
    后台启动(服务永久存活):
    gfsh start locator --name=locator203 --locators=172.16.234.202[10334],172.16.234.203[10334] --J=-Xmx8g --J=-Xms8g --J=-Xmn2g 2>&1 &
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 关于启动服务,指定配置文件与JVM参数:
    窗口启动(服务进程随窗口关闭):
    start server--name=server203 --dir=/opt/geode-1.14.0/bin/server203 --properties-file=/opt/geode-1.14.0/config/gemfire.properties --locators=172.16.234.202[10334],172.16.234.203[10334] --J=-Xmx8g --J=-Xms8g--J=-Xmn2g
    
    后台启动(服务永久存活):
    gfsh start server --name=server203 --dir=/opt/geode-1.14.0/bin/server203 --properties-file=/opt/geode-1.14.0/config/gemfire.properties --locators=172.16.234.202[10334],172.16.234.203[10334] --J=-Xmx8g --J=-Xms8g --J=-Xmn2g 2>&1 &
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 关于数据区域的持久化:
    复制区域:
      非持久:REPLICATE
      持久化:REPLICATE_PERSISTENT
    
    分区区域:
      非持久:PARTITION
      持久化:PARTITION_PERSISTENT
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 关于日志配置
    必要属性(gemfire.properties):
    
    #开启度量抓取
    statistic-sampling-enabled=true
    
    #抓取频率,单位为毫秒
    statistic-sample-rate=1000
    
    #文件存储路径
    statistic-archive-file=statics.gfs
    
    #单个文件大小,单位为M
    archive-file-size-limit=100
    
    #全体文件大小,单位为M
    archive-disk-space-limit=1000
    
    启动命令指定:
    --dir=/opt/geode-1.14.0/bin/server203 --properties-file=/opt/geode-1.14.0/config/gemfire.properties
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 快速启动
    编写脚本:startLocator.sh,./startServer.sh
    
    编写过程,指定启动日志:
    gfsh start locator --name=locator202 --locators=172.16.234.202[10334],172.16.234.203[10334] --J=-Xmx8g --J=-Xms8g --J=-Xmn2g >startlocator.log 2>&1 &
    
    gfsh start server --name=server202 --dir=/opt/geode-1.14.0/bin/server202 --properties-file=/opt/geode-1.14.0/config/gemfire.properties --locators=172.16.234.202[10334],172.16.234.203[10334] --J=-Xmx8g --J=-Xms8g --J=-Xmn2g >startServer.log 2>&1 &
    
    赋予权限:
      chmod +x startServer.sh
      chmod +x startLocator.sh
    
    调用执行:
      ./startLocator.sh
      ./startServer.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    附录:

    常见术语

    English含义
    JVMJava虚拟机,Java Virtual Machine
    JDKJava Development Kit
    IMDGIn-Memory Data Grid, 内存数据网格
    GCGarbage Collector/Garbage Collect, JVM中的垃圾回收, 或JVM中的垃圾回收器
    Locator集群中的管理节点, 注册客户端和服务器成员,使双方能够互相发现,同时可以提供一定的负载均衡功能
    server, server cache,cache server集群中的数据节点,GemFire分布式系统的服务器节点
    Node均为GemFire集群的节点, 一般指的是 CacheServer
    Member均为GemFire集群的节点, 指的是 Locator 和 CacheServer
    Client Cache接入到GemFire分布式系统的客户端,负责管理本地缓存的生命周期
    Region, data regionRegion是一个分布式系统之上的抽象概念。一个Region允许你在系统的多个VM中存储数据,不用考虑数据存在那个节点上。Region提供了一个map接口能透明地从合适的VM上获取数据。这个Region类扩展了java.util.Map接口,但是它也支持查询和事务
    Replicated Region一个Replicated Region保存着所有分区的数据拷贝
    Partitioned RegionPartitioned Regions只保存一部分分区的数据拷贝
    GFSH,gfshGemFire SHell,用于管理和监控GemFire的命令控制台
    Redundant副本,在GemFire中,Partitioned Region的副本数量范围为0-3个
    Primary主数据
    Secondary从数据
    Network Partitions网络分区,或网络脑裂,指的是一个网络因为网络硬件问题或者其他原因分裂编程两个小的网络
    Overflow数据溢出, 指的是把内存持久化到磁盘的操作
    Eviction数据逐出,指的是按照LRU算法, 把超出预设数据量,内存堆使用空间之外的数据,持久化到磁盘或者删除的操作
    Expiration数据过期或者Region过期,指的是按照预设的TTL(Time-To-Live)时间或者Idle Timeout时间,进行数据删除或者失效的操作
    Peer-to-Peer对等式, 指的是各个节点在集群内对等, 没有Locator节点
    Client-to-Serve, Client/ServerC/S式,指的是通过客户端连接到服务器端集群中, 一般服务器端集群中部署Locator节点
    Multi-Site (WAN)也叫WAN-Gateway,指的是多个集群隔离部署, 但是互相之间可以异步同步消息及数据变化。一般用于多活数据中心场景。
    Write-Behind指的是通过异步队列的方式,以高速批处理的方式, 在Geode/GemFire和其他数据存储之间进行数据更新信息的同步
    AsyncEventListener异步事件监听器, 用于处理异步事件队列
    Delta Propagation变化传播
    OQL, Object-Query-Language对象查询语言, Geode支持的一种对象关联查询语言, 只支持Select,不支持insert/update/delete
    Continuous Querying, CQ持续查询, 指的是可以注册兴趣(register interests)的方式, 对指定的 region 进行持续的关注, 可以不断获得指定 region 数据变化情况的功能
    Entry, Entries, data entry每一个Key/Value对,简称为Entry
    FunctionGeode中,类似于Map-reduce方式并行运行的计算功能,允许用户自定义
    PDX, PortableDataExchangeGeode自定义的高效,且可变结构的序列化方式
    Geode PulseGeode的监控页面, 基于HTML5, 建议使用Chrome或者FireFox浏览
    cluster configuration service集群配置服务, 运行在 Locator 之上, 用于管理集群中各节点配置情况的服务

    处理丢失的磁盘存储

    1. 显示丢失的磁盘存储

    使用gfshshow missing-disk-stores命令列出了其他成员正在等待的所有带有最新数据的磁盘存储。

    例子:

    
    ### Missing Disk Stores
    
               Disk Store ID             |      Host      | Directory
    ------------------------------------ | -------------- | -------------------------
    9eb7bf36-330b-4c08-995d-a66f745f0fd6 | /192.168.68.21 | /opt/geode_work/server4/.
    4a83ec7f-d80c-460e-a315-01948bd4e396 | /192.168.68.20 | /opt/geode_work/server3/.
    9eb7bf36-330b-4c08-995d-a66f745f0fd6 | /192.168.68.21 | /opt/geode_work/server4/.
    9eb7bf36-330b-4c08-995d-a66f745f0fd6 | /192.168.68.21 | /opt/geode_work/server4/.
    
    
    
    No missing colocated region found
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    💊注意: 您需要连接到 gfsh 中的 Locator 才能运行此命令。

    2. 撤销丢失的磁盘存储

    本节适用于满足以下两个条件的磁盘存储:

    • 具有一个或多个区域或区域存储桶的最新数据副本的磁盘存储。
    • 不可恢复的磁盘存储,例如当您删除它们时,或者它们的文件已损坏或在发生灾难性故障的磁盘上。

    当您无法使最新的持久副本联机时,请使用 revoke 命令告诉其他成员停止等待它。 一旦存储被撤销,系统就会找到剩余的最新数据副本并使用它。

    💊注意: 一旦撤销,磁盘存储就不能重新引入系统。

    在gfsh中使用 show missing-disk-stores 正确识别您需要撤销的磁盘存储。 revoke 命令将磁盘存储 ID 作为输入,如该命令列出的那样。

    例子:

    gfsh>revoke missing-disk-store --id=60399215-532b-406f-b81f-9b5bd8d1b55a
    Missing disk store successfully revoked
    
    • 1
    • 2
  • 相关阅读:
    【附源码】计算机毕业设计JAVA宠物医院管理
    Spring Cloud Gateway整合Nacos实现服务路由及集群负载均衡
    Nginx部署前端项目
    MySQL——连接查询与子查询
    Ubuntu20.04安装NVIDIA CUDA全纪录+解决SSH一段时间自动断开报Destination Host Unreachable
    【SpringBoot】SpringBoot 读取配置文件中的自定义属性的 5 种方法
    JeecgBoot 3.3.0 版本发布,基于代码生成器的企业级低代码平台
    近期局势较多变化 适合黄金代理入场吗?
    怎么将音频合并到一起?安利音频合并的3个方法
    『FPGA通信接口』串行通信接口-IIC(2)EEPROM读写控制器
  • 原文地址:https://blog.csdn.net/wjw465150/article/details/126695161