Geode 快速入門
相關資料
下載地址:http://geode.apache.org/releases/
官方文檔:http://geode.apache.org/docs/guide/about_geode.html
Github:https://github.com/apache/geode
環境需求
1.JDK8或最新版本
2.系統時鐘設置爲正確的時間和時間同步服務
3.機器的主機名和主機文件必須配置正確,主機名和主機文件配置會影響gfsh命令和脈衝功能
安裝
1.設置JAVA_HOME
JAVA_HOME=/usr/java/jdk1.8.0_60
export JAVA_HOME
2.源碼安裝
在源碼解壓後的目錄中,以非測試方式編譯
$ ./gradlew build -Dskip.tests=true
3.解壓安裝
下載二進制格式.zip或是.tar文件解壓即可
4.檢查安裝
編譯或解壓後進入bin目錄
$ gfsh version
v1.0.0-incubating
5.配置環境變量
$ vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_60
export GEODE_HOME=/usr/local/geode
export PATH=$JAVA_HOME/bin:$GEODE_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$GEODE_HOME/lib/geode-dependencies.jar
使配置立即生效
$ . /etc/profile
快速入門
http://geode.apache.org/docs/guide/getting_started/15_minute_quickstart_gfsh.html
*所有gfsh命令後面的參數名是有“–“兩個英文中劃線開始的*
ln -s /usr/local/geode/bin/gfsh /usr/bin
1.創建一個工作目錄
$ mkdir ~/geode $ cd ~/geode
2.啓動gfsh
$ gfsh
3.Starting a GemFire Locator
gfsh>start locator --name=locator1
4.打開Pulse,一個Web應用程序,它提供了一個圖形儀表板,用於監控Geode集羣,成員和regions的重要的實時健康和性能。
http://localhost:7070/pulse/clusterDetail.html
5.啓動一個緩存服務器
gfsh>start server --name=server1 --server-port=40411
6.創建一個region
gfsh>create region --name=region1 --type=REPLICATE_PERSISTENT
region是Geode集羣的核心構建塊,並提供了組織數據的方法。在此次練習中創建的region在集羣成員之間複製數據(replicated),並利用持久性將數據保存到磁盤(persistent)。
7.查看集羣上的region列表
gfsh>list regions
8.查看集羣成員列表。啓動的locator,server都在該列表中。
gfsh>list members
9.describe region
gfsh>describe region --name=region1
10.put數據
gfsh>put --region=region1 --key="1" --value="one"
11.query
gfsh>query --query="select * from /region1"
12.啓動第二個server
gfsh>start server --name=server2 --server-port=40412
當gfsh啓動服務器時,它會從羣集配置服務請求配置,集羣配置服務會將共享配置分發到加入羣集的任何新服務器。
當stop server —name=server1後region1所有數據仍可用
13.關閉server(數據會寫入磁盤,再次使用仍將被寫入緩存中)
gfsh>stop server --name=server1
14. 關閉集羣
gfsh>shutdown --include-locators=true
Java Application
1.創建HelloWold.java
import java.util.Map; import org.apache.geode.cache.Region; import org.apache.geode.cache.client.*; public class HelloWorld { public static void main(String[] args) throws Exception { ClientCache cache = new ClientCacheFactory() .addPoolLocator("localhost", 10334) .create(); Region<String, String> region = cache .<String, String>createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY) .create("region1"); region.put("1", "Hello"); region.put("2", "World"); for (Map.Entry<String, String> entry : region.entrySet()) { System.out.format("key = %s, value = %s\n", entry.getKey(), entry.getValue()); } cache.close(); } }
2.編譯運行
javac -cp /some/path/geode/geode-assembly/build/install/apache-geode/lib/geode-dependencies.jar HelloWorld.java
java -cp .:/some/path/geode/geode-assembly/build/install/apache-geode/lib/geode-dependencies.jar HelloWorld
因爲前面配置了CLASSPATH,可以直接用
javac HelloWorld.java
java HelloWorld