JanusGraph 配置 第四章 英文翻譯

2021-08-14 08:21:21 字數 4788 閱讀 5967

chapter 4. configuration

janusgraph資料庫集群通常包含乙個或多個janusgraph例項. 執行例項需要提供janusgraph的配置引數. 

janusgraph配置中定義了janusgraph要使用哪些元件, 控制部署各個操作, 提供一系列的動態調整的引數, 來獲得集群的最大效能.

一般情況, janusgraph配置必須提供儲存後台. 

part iii, 「storage backends」 列出了全部支援的儲存後台, 如何配置引數. 如果需要支援圖的高階檢索(例如:全文檢索, 地理位置檢索, 和範圍檢索) 需要配置索引後台. 

part iv, 「index backends」. 如果效能是主要考慮方面, 需要開啟快取功能. 開啟快取和快取的配置的詳細內容在

chapter 11, janusgraph cache.

4.1 配置示例

以下示例展示了如何配置儲存後台, 索引和效能元件. 這部分只是引數配置的一小部分. 完整的配置列表, 請檢視 

chapter 13, configuration reference

4.1.1 cassandra+elasticsearch

使用cassandra儲存後台(本地的), 和elasticsearch索引(遠端的), 配置如下:

storage.backend=cassandra

storage.hostname=localhost

index.search.backend=elasticsearch

index.search.hostname=100.100.101.1, 100.100.101.2

index.search.elasticsearch.client-only=true

4.1.2 hbase+caching

使用hbase儲存後台(遠端), 要獲得更好的效能需要開啟快取

storage.backend=hbase

storage.hostname=100.100.101.1

storage.port=2181

cache.db-cache = true

cache.db-cache-clean-wait = 20

cache.db-cache-time = 180000

cache.db-cache-size = 0.5

4.1.3 berkeleydb

使用內嵌的berkeleydb儲存後台, 內嵌的elasticsearch索引

storage.backend=berkeleyje

storage.directory=/tmp/graph

index.search.backend=elasticsearch

index.search.directory=/tmp/searchindex

index.search.elasticsearch.client-only=false

index.search.elasticsearch.local-mode=true

chapter 13, configuration reference 包含全部的配置資訊. 配置檔案中包含完整的配置示例.

4.1.4 更多配置

conf目錄下有一些配置示例, 可以快速的開始練習. 把配置檔案的路徑傳給janusgraphfactory.open(...)方法

// connect to cassandra on localhost using a default configuration

graph = janusgraphfactory.open("conf/janusgraph-cassandra.properties")

// connect to hbase on localhost using a default configuration

graph = janusgraphfactory.open("conf/janusgraph-hbase.properties")

4.2 使用配置

如何配置janusgraph例項, 依賴於例項的執行模式.

4.2.1 janusgraphfactory

4.2.1.1 gremlin console

janusgraph中的gremlin命令列工具可以方便的啟動janusgraph並和其互動. 執行bin/gremlin.sh(unix/linux系統)或者bin/gremlin.bat(windows系統)來啟動命令列, 隨後用janusgraphfactory工廠類讀取某個配置檔案, 新建graph物件

graph=janusgraphfactory.open(

'path/to/configuration.properties'

)

4.2.1.2 janusgraph embedded

基於jvm應用的內部, 也能用janusgraphfactory建立例項, . 在這種情況下, janusgraph屬於應用的一部分, 應用可以直接呼叫它的介面

4.2.1.3 short codes

如果配置janusgraph集群, 需要定義儲存後台. janusgraphfactory接受乙個分號分割的字串, 分號前是儲存後台型別的名稱, 分號後是主機名稱或者是目錄

graph=janusgraphfactory.open(

'cassandra:localhost'

)

graph=janusgraphfactory.open(

'berkeleyje:/tmp/graph'

)

4.2.2 janusgraph server

janusgraph僅僅是一些jar檔案, 不提供執行執行緒. 連線和使用janusgraph資料庫, 有兩種方法:

1. 客戶端程式提供執行執行緒, 在客戶端程式中呼叫janusgraph

2. janusgraph內建了可以長時間執行的程式, 當啟動該程式, 允許遠端客戶端或者其他程式呼叫janusgraph. 這個長時間執行的程式就是janusgraph server

janusgraph server使用gremlin server(apache tinkerpop stack) 處理客戶端的請求. janusgraph提供開箱即用的配置, 能夠janusgraph server快速啟動, 這些配置可以被修改, 來調整伺服器的效能.

配置janusgraph server需要通過./conf/gremlin-server目錄下的yaml檔案. janusgraph server配置如下:

...

graphs:

plugins:

- janusgraph.imports

...

圖的定義是在配置檔案中提供的, 上邊的例子中, 圖的配置檔案是conf/janusgraph-berkeleyje.properties. 外掛程式啟用了janusgraph gremlin外掛程式, 這個外掛程式能夠自動匯入janusgraph的類, 遠端提交的指令碼可以參考這些類.

chapter 7, janusgraph server

4.2.2.1 server distribution

janusgraph zip檔案中包含伺服器元件, 可以讓gremlin和janusgraph快速啟動. 通過執行bin/janusgraph.sh 可以啟動gremlin server和cassandra和elasticsearch.

note

由於安全原因 elasticsearch andjanusgraph.sh必須使用非root賬戶執行

4.3 全域性配置

janusgraph分為本地和全域性配置. 本地配置適用於單獨的janusgraph例項. 全域性配置適用於集群中的全部例項. janusgraph有以下5個範圍的配置:

當集群中第乙個例項啟動, 全域性配置便被從本地檔案初始化了. 可以通過系統提供的api來修改全域性配置引數. 呼叫例項g.getmanagementsystem()方法,可以訪問管理api.例如, 修改乙個集群預設的快取行為

mgmt=graph.openmanagement(

)mgmt.get(

'cache.db-cache'

)// prints the current config setting

mgmt.set(

'cache.db-cache',true)

// changes option

mgmt.get(

'cache.db-cache'

)// prints 'true'

mgmt.commit(

)// changes take effect

4.3.1 修改離線引數

修改配置引數不會影響執行著的例項, 只會對新啟動的例項有作用. 修改global_offline級別的配置, 需要重啟集群, 讓全部例項生效. 如下步驟:

檢視全部配置引數, 請跳到

chapter 13, configuration reference, 其中包括各個範圍的引數

第四章 繼承

一 為什麼要繼承 在物件導向中我們將具有很多重複內容的類中的內容提取出來,寫成乙個單獨的類 其他類只需要繼承就能取得這些功能,同時可以在自己類中寫入獨特的自定義方法 二 繼承語法 inte ce circle nsobject 繼承是在介面中定義的 冒號後的類名是要整合的類,nsobject 是co...

第四章 物件

三個特性 身份 型別 值 每個物件都有唯一的身份來標識自己,使用內建函式id 得到。例子 usr bin env python coding utf 8 a 32 print a b a print id a id b 結果 d python27 python.exe e workp python ...

第四章 其他

sizeof和strlen 區別sizeof以位元組為單位給出資料的大小,strlen 函式以字元為單位給出字串的長度。使用strlen 函式要加 include標頭檔案。sizeof計算字元時會將標誌字串結束的不可見的空字元計算在內。定義符號常量 方法一 define name value 優點 ...