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

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

Geode 集群搭建,快速上手使用的更多相关文章

  1. Geode集群搭建

    Geode集群搭建 1.下载安装包 http://mirror.bit.edu.cn/apache/geode/1.2.0/ 2.安装解压后即可直接使用 apache-geode-1.2.0 3.进入 ...

  2. 基于.NetCore的Redis5.0.3(最新版)快速入门、源码解析、集群搭建与SDK使用【原创】

    1.[基础]redis能带给我们什么福利 Redis(Remote Dictionary Server)官网:https://redis.io/ Redis命令:https://redis.io/co ...

  3. kubernetes(K8S)快速安装与配置集群搭建图文教程

    kubernetes(K8S)快速安装与配置集群搭建图文教程 作者: admin 分类: K8S 发布时间: 2018-09-16 12:20 Kubernetes是什么? 首先,它是一个全新的基于容 ...

  4. 【DB宝46】NoSQL数据库之CouchBase简介、集群搭建、XDCR同步及备份恢复

    目录 一. CouchBase概述 1.1.简述 1.2.CouchDB和CouchBase比对 1.2.1.CouchDB和CouchBase的相同之处 1.2.2.CouchDB和CouchBas ...

  5. Centos7下Etcd集群搭建

    一.简介 "A highly-available key value store for shared configuration and service discovery." ...

  6. RabbitMQ3.6.3集群搭建+HAProxy1.6做负载均衡

    目录 [TOC] 1.基本概念 1.1.RabbitMQ集群概述   通过 Erlang 的分布式特性(通过 magic cookie 认证节点)进行 RabbitMQ 集群,各 RabbitMQ 服 ...

  7. Redis复制与可扩展集群搭建

    抄自:http://www.infoq.com/cn/articles/tq-redis-copy-build-scalable-cluster 讨论了Redis的常用数据类型与存储机制,本文会讨论一 ...

  8. Tomcat:基于Apache+Tomcat的集群搭建

    根据Tomcat的官方文档说明可以知道,使用Tomcat配置集群需要与其它Web Server配合使用才可以完成,典型的有Apache和IIS. 这里就使用Apache+Tomcat方式来完成基于To ...

  9. Hadoop集群搭建

    配置IP,修改主机名,关闭防火墙,配置SSH免密码登录

随机推荐

  1. html select change事件触发

    做小组内使用的一个简单工具,其中要实现的一个小功能是当某个下拉菜单的选择值改变时触发另一表单元素的属性变化.自然的想到使用select表单元素的onchange事件. 下拉菜单部分的代码如下: < ...

  2. JSON.stringify 语法讲解

    作用:这个函数的作用主要是为了系列化对象的. 可能有些人对系列化这个词过敏,我的理解很简单.就是说把原来是对象的类型转换成字符串类型(或者更确切的说是json类型的).就这么简单.打个比方说,你有一个 ...

  3. php时间戳存在8小时误差

    当将PHP时间戳转化为正常的时间格式一般的操作方法如下: $mytime=time(); echo $mytime.'<br />'; echo date('Y-m-d H:i:s',$m ...

  4. 微信小程序tabBar显示问题

    在微信小程序的开发中,我遇到疑惑如下: 在app.json中定义了多个pages,一般微信小程序启动的时候,自动加载pages下的第一个页面, "pages": [        ...

  5. 开园了,将以此记录个人web前端之路

    记录.分享与学习 2015年5月中旬开始学习web前端到2015年6月底找到第一份相关工作,在学习与工作过程中通过网络获益良多,在此写下个人学习与工作过程中的总结与思考,记录个人成长,同时也希望能够帮 ...

  6. 整数的lqp拆分

    题目大意 lqp在为出题而烦恼,他完全没有头绪,好烦啊… 他首先想到了整数拆分.整数拆分是个很有趣的问题.给你一个正整数N,对于N的一个整数拆分就是满足任意m>0,a1 ,a2 ,a3…am&g ...

  7. 如何检查linux 下是否安装java(jdk)环境

    大家可通过下面五条命令来查看linux 系统是否安装了java 环境 1.java -version 2.which java 3.rpm -qa |grep java 4.echo $PATH 5. ...

  8. Kendo UI 单页面应用(四) Layout

    Kendo UI 单页面应用(四) Layout Layout 继承自 View,可以用来包含其它的 View 或是 Layout.下面例子使用 Layout 来显示一个 View <div i ...

  9. mysql主从设置windows

    MySQL 主从复制是其最重要的功能之一.主从复制是一台服务器充当主服务器,另一台或多台服务器充当从服务器,主机自动复制到从机.对于多级复制,数据服务器即可充当主机,也可充当从机.MySQL 复制的基 ...

  10. IOS 屏幕尺寸、分辨率、点之间的相互关系

    iOS 设备现有的分辨率如下:iPhone/iPod Touch普通屏                         320像素 x 480像素       iPhone 1.3G.3GS,iPod ...