我们先使用商业版本作为学习的入口,在初始学习阶段,迅速了解一个产品的最好方法就是亲手安装它。
一、安装介质的下载
大家从网络获取GemFire安装包的途径有两个,开源项目自然通过
http://geode.incubator.apache.org/来下载,商业版本需要从Pivotal的官网下载:http://network.pivotal.io 。像Oracle一样,软件随便你下,但下载之前需要你先注册。这里有一点需要注意的,就是你可能需要使用一个公司后缀的邮箱(至少看起来像公司邮箱)来注册,否则会注册失败,163/139/126等等通通不行。
GemFire的下载文件主要有三个:
Pivotal GemFire 8.2.0
Pivotal GemFire Native Client 8.2.0
Pivotal GemFire Legal Files
这里我们只需下载GemFire 服务器组件,即Pivotal GemFire 8.2.0,按照不同的操作系统选择相应的安装包。本文将以CentOS和Mac OS X 为例,介绍GemFire的安装过程。
二、安装准备:
GemFire主要支持X86平台上的Redhat/CentOS/Ubuntu/SUSE,以及Solaris(SPARC),也支持Windows和OS X(主要是开发测试用途)。GemFire具体支持的操作系统如下:
如果你要安装GemFire的Linux版本并不在列表中,也不用过于担心,GemFire可以能够运行在纯JAVA环境下,列表上没有只是代表Pivotal的研发部门没有在这些操作系统上做过完整的测试,并不代表无法运行。不过,如果您要用于生产环境,还是建议您使用列表中的操作系统,万一厂家的售后支持部门以此为借口不提供技术支持......
本文使用的环境如下:CentOS 7,JDK 1.7.0_76. 注意要使用Oracle JDK,不能使用OpenJDK.
三、CentOS 安装配置
GemFire的安装有两种方式,直接安装RPM包或者解压gz. RPM包的安装最为简单,但是我还是喜欢解压的安装方式。
1.为GemFire创建新用户,GemFire安装必须使用root用户,但安装完成后,你可以使用其他用户启动GemFire.使用RPM包安装时,系统会自动创建gemfire用户和pivotal用户组。在这里我们用解压方式部署GemFire,所以需要手工创建gemfire用户和pivotal用户组。
当然你也可以直接使用root用户来管理GemFire,
groupadd pivotal
useradd -g pivotal gemfire
2.解压GemFire
RPM安装时,GemFire的默认安装路径是 /opt/pivotal/Pivotal_GemFire_XXX
我们将Pivotal_GemFire_820_b17919_Linux.tar.gz 也解压到此目录:
tar -zxvf Pivotal_GemFire_820_b17919_Linux.tar.gz
gemfire解压后的目录是:
/opt/pivotal/Pivotal_GemFire_820_b17919_Linux
3.给gemfire用户配置环境变量
a.将/opt/pivotal这个目录属主改为gemfire/pivotal
[root@centos pivotal]# chown -R gemfire:pivotal pivotal/
b.修改gemfire用户的 .bash_profile
添加如下内容:
export JAVA_HOME=/usr/java/jdk1.7.0_76
export GEMFIRE=/opt/pivotal/Pivotal_GemFire_820_b17919_Linux
export PATH=$JAVA_HOME/bin:$GEMFIRE/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export GF_JAVA=$JAVA_HOME/bin/java
使用gemfire用户执行:source .bash_profile,使上面的配置生效。
[gemfire@centos ~]$ source .bash_profile
[gemfire@centos ~]$ java -version
java version "1.7.0_76"
Java(TM) SE Runtime Environment (build 1.7.0_76-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.76-b04, mixed mode)
c.验证gemfire安装:
[gemfire@centos ~]$ gfsh
_________________________ __
/ _____/ ______/ ______/ /____/ /
/ / __/ /___ /_____ / _____ /
/ /__/ / ____/ _____/ / / / /
/______/_/ /______/_/ /_/ v8.2.0
Monitor and Manage GemFire
gfsh>version --full
Java version: 8.2.0 build 17919 08/19/2015 14:58:51 PDT javac 1.7.0_79
Native version: native code unavailable
Source revision: a58a25d2be7eab751794e9cc78ff04a03bb09a65
Source repository: gemfire82_dev
Running on: centos/192.168.90.128, 4 cpu(s), amd64 Linux 3.10.0-327.el7.x86_64
gfsh命令可以帮助我们启动GemFire命令行,GemFire几乎所有的管理配置工作都是通过命令行来完成的,通常老外管它叫:g-fish.
启动gemfire 命令行界面后,使用version —full命令可以查看当前的GemFIre的具体版本号,以及当前运行环境。
退出命令行请输入:quit
另外,你也可以直接敲 gfsh version —full,试试看。
四、在Mac OS X的安装配置(让我们把Macbook变为生产力工具)
在安装之前,请先安装配置Oracle JDK. 确保你在OS X的终端输入:java -version 能看到正确的输出。
GemFire在Mac OS X上是通过Homebrew来安装的,Homebrew类似于Redhat上的Yum,所以你安装的时候要保证联网。
安装步骤如下:
1.打开Mac OS X终端
2.如果Mac上还没有安装Homebrew,先通过下面的命令安装Homebrew.
安装的时候需要你输入当前账号的密码,系统会自动安装其他有依赖关系的Package.
3.使用下面的命令,通过Homebrew安装GemFire:
$ brew tap pivotal/tap && brew install gemfire
MBP:~ Paul$ brew tap pivotal/tap && brew install gemfire
==> Tapping pivotal/tap
Cloning into '/usr/local/Library/Taps/pivotal/homebrew-tap'...
remote: Counting objects: 16, done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 16 (delta 2), reused 5 (delta 0), pack-reused 0
Unpacking objects: 100% (16/16), done.
Checking connectivity... done.
Tapped 10 formulae (50 files, 41.4K)
==> Installing gemfire from pivotal/tap
==> Downloading http://download.pivotal.com.s3.amazonaws.com/gemfire/8.2.0/Pivot
######################################################################## 100.0%
==> Caveats
By installing, you agree to comply with the license at http://www.pivotal.io/products/software-license-agreement. If you disagree with these terms, please uninstall by typing "brew uninstall gemfire" in your terminal window.
Usage:
gfsh
cacheserver
gemfire
agent
Documentation:
http://gemfire.docs.pivotal.io/index.html
==> Summary
- GemFire 入门篇1:GemFire 是什么?
一.GemFire是什么? 如果你了解Redis或memCached,那么恭喜,你很快就能理解GemFire是什么,没错,你可以把它理解为一个增强版的Redis,具体在哪些方面增强,我们日后慢慢聊 ...
- Scalding初探之番外篇:Mac OS下的安装
把你从写繁琐的Map-reduce Job中解放出来,写分布式跟写本地程序没两样,Scalding真真代表着先进生产力的方向啊 心动不如行动,赶紧装一个吧 1 安装JDK 2 安装Homebrew r ...
- 每天记录一点:NetCore获得配置文件 appsettings.json vue-router页面传值及接收值 详解webpack + vue + node 打造单页面(入门篇) 30分钟手把手教你学webpack实战 vue.js+webpack模块管理及组件开发
每天记录一点:NetCore获得配置文件 appsettings.json 用NetCore做项目如果用EF ORM在网上有很多的配置连接字符串,读取以及使用方法 由于很多朋友用的其他ORM如S ...
- Membership三步曲之入门篇 - Membership基础示例
Membership 三步曲之入门篇 - Membership基础示例 Membership三步曲之入门篇 - Membership基础示例 Membership三步曲之进阶篇 - 深入剖析Pro ...
- spring boot(一):入门篇
构建微服务:Spring boot 入门篇 什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框 ...
- 1. web前端开发分享-css,js入门篇
关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人与人的教育背景与成长环境心理活动都有差别,但就别人的心得再结合自己的特点,然后探索适合自己的学 ...
- 一个App完成入门篇(七)- 完成发现页面
第七章是入门篇的倒数第二篇文章了,明天整个APP将进入收官. 本节教程主要要教会大家使用二维码扫描和用do_WebView组件加在html页面. 导入项目 do_WebView组件 扫描功能 自定义事 ...
- [原创]Linq to xml增删改查Linq 入门篇:分分钟带你遨游Linq to xml的世界
本文原始作者博客 http://www.cnblogs.com/toutou Linq 入门篇(一):分分钟带你遨游linq to xml的世界 本文原创来自博客园 请叫我头头哥的博客, 请尊重版权, ...
- 转:OSGi 入门篇:模块层
OSGi 入门篇:模块层 1 什么是模块化 模块层是OSGi框架中最基础的一部分,其中Java的模块化特性在这一层得到了很好的实现.但是这种实现与Java本身现有的一些模块化特性又有明显的不同. 本文 ...
随机推荐
- 017_mac格式化硬盘,mac如何格式化硬盘
想做一个mac和windows都能识别的系统,推荐设置成什么格式 一.在mac下格式化 在Mac 下,打开右下角应用程序-实用工具-磁盘工具,里面选取你的移动硬盘,然后进行格式化,设置成EXFat格式 ...
- 利用mycat实现基于mysql5.5主从复制的读写分离
整体步骤: 1.准备好两台服务器,一台作为主数据库服务器,一台作为从服务器,并安装好mysql数据库,此处略 2.配置好主从同步 3.下载JDK配置mycat依赖的JAVA环境,mycat采用java ...
- HTML常用特殊字符
网页特殊符号HTML代码大全 HTML特殊字符编码大全:往网页中输入特殊字符,需在html代码中加入以&开头的字母组合或以&#开头的数字.下面就是以字母或数字表示的特殊符号大全. ...
- 队列queue 代码
import queue q=queue.Queue(3) #队列:先进先出 q.put(1) q.put(2) q.put(3) q.put(4) print(q.get()) print(q.ge ...
- LINUX-CUDA版本所对应的NVIDIA驱动版本号,cuda版本报错的朋友参考一下
CUDA 10.0: 410.48 CUDA .xx CUDA .xx (update) CUDA .xx CUDA .xx (GA2) CUDA .4x CUDA .xx CUDA .xx CUDA ...
- 分享我对JS插件开发的一些感想和心得
本文阅读目录: •起因•如何开发一个轻量级的适用性强的插件•总结 起因 如果大家平时做过一些前端开发方面的工作,一定会有这样的体会:页面需要某种效果或者插件的时候,我们一般会有两种选择: 1.上网查找 ...
- Python 定值类
1.__str__和__repr__ 如果要把一个类的实例变成 str,就需要实现特殊方法__str__(): class Person(object): def __init__(self, nam ...
- .NetCore源码阅读笔记系列之HttpAbstractions(五) Authentication
说道认证&授权其实这块才是核心,这款跟前面Security这块有者紧密的联系,当然 HttpAbstractions 不光是认证.授权.还包含其他Http服务和中间价 接下来先就认证这块结合前 ...
- private static final long serialVersionUID = 1L这句话到底什么意思?
变量serialVersionUID称为序列化版本号,这个变量多用于实现了Serializable的类中,试用场景是类的序列化.当我们没有定义这个变量的时候,虚拟机会根据类的属性算出一个独一无二的该变 ...
- Codeforces Round #319 (Div. 2) E - Points on Plane
题目大意:在一个平面里有n个点,点坐标的值在1-1e6之间,让你给出一个遍历所有点的顺序,要求每个点走一次,且 曼哈顿距离之和小于25*1e8. 思路:想了一会就有了思路,我们可以把1e6的x,y坐标 ...