zoukankan      html  css  js  c++  java
  • Geode 集群搭建,快速上手使用

    Geode 介绍:

    Geode是一个提供实时、一致访问大型分布式云平台下数据密集型应用的数据管理平台。

    Geode 通过跨多进程,把内存、CPU、网络资源和可选的本地磁盘汇集起来,来管理应用程序对象及其行为。它使用动态复制和数据分片技术,来实现高可用性,改善性能、可伸缩性和容错。Geode 除了是一个分布式数据容器,它还是一个内存数据管理系统,提供了可靠的异步事件通知和有保证的消息传递。

    Geode 是一个非常成熟、健壮的产品,多个华尔街交易平台首次将 Geode(称为GemFire™)部署在金融部门。如今已有超过 600 家企业用户将 Geode 用于大规模、7*24 业务核心应用程序中。其中一个应用案例--就是中国国家铁路将 Geode 用于整个国家的铁路票务系统,10 个节点集群管理着 2TB 的内存热数据,以及 10 个备份节点作为高可用性和弹性扩展。

    安装环境准备:

    1.jdk1.8及以上版本,并配置环境变量

    2.主机名和主机名和主机文件已针对机器进行了正确配置,主机名和主机文件配置可以影响gfsh和Pulse功能。(本人在未进行正确配置遇到UnknowHostException异常)

    3. 禁用TCP SYN Cookie 具体步骤:

        将etc/sysctl.conf 中 sysnet.ipv4.tcp_syncookies 设为 0 ,  sysctl -p立即生效 

    4.设置服务器时间同步服务,例如网络时间协议(NTP),在多台服务器集群多站点中尤为重要

       

    环境搭建:

     ( 提示:若搭建分布式则至少两台机器,同时保证两台机器使用相同版本)

    1.安装包 从 http://geode.apache.org/releases/ 下载二进制包

    2.解压安装包到 指定的安装路径下,设置geotd环境变量

       例如安装到/usr/local/下:

    $ tar -xvf apache-geode-1.1.0.tar -C /usr/local/

       在 /etc/profile 中PATH 添加

    :/usr/local/bin


    3.验证是否安装成功和查看版本信息 

    $ gfsh version --full

     快速熟悉使用参考 http://geode.apache.org/docs/guide/16/getting_started/15_minute_quickstart_gfsh.html

    基本概念:

    定位器(Locator): 提供发现服务和负载均衡服务。您可通过定位器服务列表来配置客户端,定位器管理维护着一个动态成员服务器(server)列表,和链接不同的server。

    服务器(server) : 主要用于托管长期数据区域和运行标准Geode进程,例如客户端/服务器配置中的服务器。服务器(server),可以部署在同一台机器,也可以部署在不同机器。在不同的机器上启动时,需要先用connect连接已启动的locator

    区域(region) :   类似于关系型数据库的表,并且作为“name/value 对”以分布式方式管理数据。复制区域(replicated region)存储着 {分布式系统中每个缓存成员数据的} 相同副本。分区区域(partitioned region)在缓存成员之间传播数据。系统配置之后,客户端应用 {在不了解底层系统架构的情况下} 也可访问区域中的分布式数据。当数据发生改变的时候,您可以定义监听器来接收通知,并且您也可以定义过期条件,来删除区域中的过期数据。

    常用操作命令:

    1.创建定位器Locator           

      【提示: name 、port、 不指定也会自动创建,  不指定locators则默认为当前连接的locator(连接已启动的ocator命令为:connect --locator=ip[locator的port])  , hostname 代表主机名】:

    gfhs> start locator --name=locator1 --port=10334 --locators=hostname[10334]

    2.创建服务器server

      【提示: server可以部署在不同机器 】:

    gfsh> start server --name=server1 --server-port=40401 --locators=hostname[10334]

    3.创建持久化复制的region  

    gfsh>create region --name=region1 --type=REPLICATE_PERSISTENT

    4.向region中添加、查询数据

    put --region=regionA --key="1" --value="one"
    query --query="select * from /regionA"  

    5.查看有关区域的详细信息

     【提示:regionName为region的名称】

    gfsh>describe region --name=regionName

    6.列出集群成员:

    gfsh>list members

    7.开启监控web界面:

     【提示:默认地址   为http://localhost:7070/pulse/login.html,账号 密码为admin,admin】

    gfsh>start pulse

    8.停止server

    gfsh>stop server --name=server1

    9.停止集群

     【提示–include-locators 参数可以停止localtor,如果没有这个参数,则只停止数据节点,–time-out=60 停止的超时时间,避免长时间等待】

    gfsh>shutdown –include-locators=true

    10.导入集群

    export cluster-configuration --zip-file-name=/home/username/configs/myClusterConfig.zip

    11.导出集群

    import cluster-configuration --zip-file-name=/home/username/configs/myClusterConfig.zip

    扩展:  

     geode 抗压测试shell脚本

    #!/bin/bash
    nowtime=$(date +%Y-%m-%d-%H-%M-%S)
    gfshPath="/usr/local/apache-geode-1.6.0/bin/gfsh"

    for ((j=0 ; j<5000 ; j++));do
    echo -e "$gfshPath -e "connect --locator=192.168.5.75[30001]" c" > datatmp+${j}.sh
    for ((i=0; i<=10000; i++));do
    echo -e " -e "put --region=region1 --key=${j}.${i} --value=${nowtime}+data${i}+-+${j}"c" >> datatmp+${j}.sh
    done
    echo thread:${j}
    nohup sh datatmp+${j}.sh > /dev/null 2>&1 &
    done

    其他操作参考官网文档:http://geode.apache.org/docs/


    作者:skychi
    出处:https://www.cnblogs.com/ytc6/p/9214948.html
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载一(PhoneGap中的API)
    有一种蓝,是神往,是心醉,是心伤
    persits.jpeg 水印组件
    SD卡操作相关的工具SDCardUtils
    apollo 消息分发源代码分析
    tcp ip协议笔记(1)——简单介绍
    百度地图SDK调试SDKInitializer.initialize(getApplicationContext())错误
    一气呵成编完代码的感觉对不正确
    多线程编程1-NSThread
    VIP的转移
  • 原文地址:https://www.cnblogs.com/ytc6/p/9227477.html
Copyright © 2011-2022 走看看