溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Nebula Graph如何安裝部署

發(fā)布時(shí)間:2021-11-11 13:52:42 來源:億速云 閱讀:238 作者:小新 欄目:數(shù)據(jù)庫(kù)

這篇文章主要介紹Nebula Graph如何安裝部署,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

Nebula Graph:一個(gè)開源的分布式圖數(shù)據(jù)庫(kù)。作為唯一能夠存儲(chǔ)萬億個(gè)帶屬性的節(jié)點(diǎn)和邊的在線圖數(shù)據(jù)庫(kù),Nebula Graph 不僅能夠在高并發(fā)場(chǎng)景下滿足毫秒級(jí)的低時(shí)延查詢要求,還能夠?qū)崿F(xiàn)服務(wù)高可用且保障數(shù)據(jù)安全性。

簡(jiǎn)介

Nebula Graph 是開源的第三代分布式圖數(shù)據(jù)庫(kù),不僅能夠存儲(chǔ)萬億個(gè)帶屬性的節(jié)點(diǎn)和邊,而且還能在高并發(fā)場(chǎng)景下滿足毫秒級(jí)的低時(shí)延查詢要求。不同于 Gremlin 和 Cypher,Nebula 提供了一種 SQL-LIKE 的查詢語言 nGQL,通過三種組合方式(管道、分號(hào)變量)完成對(duì)圖的 CRUD 的操作。在存儲(chǔ)層 Nebula Graph 目前支持 RocksDBHBase 兩種方式。

感謝 Nebula Graph 社區(qū) Committer 伊興路供稿本文。

Nebula Graph整體架構(gòu)

Nebula Graph如何安裝部署

Nebula Graph 主要有三個(gè)服務(wù)進(jìn)程:

Meta Service

Meta Service 是整個(gè)集群的元數(shù)據(jù)管理中心,采用 Raft 協(xié)議保證高可用。主要提供兩個(gè)功能:

  1. 管理各種元信息,比如 Schema

  2. 指揮存儲(chǔ)擴(kuò)容和數(shù)據(jù)遷移

Storage Service

Nebula Graph如何安裝部署

Storage Service 負(fù)責(zé) Graph 數(shù)據(jù)存儲(chǔ)。圖數(shù)據(jù)被切分成很多的分片 Partition,相同 ID 的 Partition 組成一個(gè) Raft Group,實(shí)現(xiàn)多副本一致性。Nebula Graph 默認(rèn)的存儲(chǔ)引擎是 RocksDB 的 Key-Value 存儲(chǔ)。

Graph Service

Graph Service 位于架構(gòu)中的計(jì)算層,負(fù)責(zé)同 Console 等 Client 通信,解析 nGQL 的請(qǐng)求并生成執(zhí)行計(jì)劃。執(zhí)行計(jì)劃經(jīng)過優(yōu)化器優(yōu)化之后,交與執(zhí)行引擎執(zhí)行。執(zhí)行引擎會(huì)向 MetaService 請(qǐng)求點(diǎn)邊的 Schema 和向存儲(chǔ)引擎獲取點(diǎn)邊的數(shù)據(jù)。

GraphService 是個(gè)無狀態(tài)的服務(wù),可以無限的水平拓展,并且計(jì)算層的執(zhí)行計(jì)劃最終會(huì)下發(fā)到數(shù)據(jù)節(jié)點(diǎn)執(zhí)行。

安裝部署

Nebula Graph 提供兩種部署方式:單機(jī)集群。單機(jī)部署主要用于測(cè)試和體驗(yàn)使用,生產(chǎn)場(chǎng)景推薦集群方式。

單機(jī)運(yùn)行

在單機(jī)上實(shí)踐或者測(cè)試 Nebula Graph 的最好方式是通過 Docker 容器運(yùn)行,參照 文檔拉取鏡像,并進(jìn)入容器:

    $ docker pull vesoft/nebula-graph:latest
    $ docker run --rm -ti vesoft/nebula-graph:latest bash

進(jìn)入容器之后首先啟動(dòng) Nebula 的所有 Services,再通過 Console 客戶端連接本容器內(nèi)部的 graphd 服務(wù)來執(zhí)行 nGQL 語句

    $ cd /usr/local/nebula
    $ ./scripts/nebula.service start all
    $ ./bin/nebula -u user -p password
    (user@127.0.0.1) [(none)]> SHOW HOSTS;
    ===============================
    | Ip         | Port  | Status |
    ===============================
    | 172.17.0.2 | 44500 | online |
    -------------------------------
    Got 1 rows (Time spent: 15621/16775 us)
集群部署
環(huán)境準(zhǔn)備

Nebula 支持編譯安裝和通過打包好的 Package 安裝。由于 Nebula 依賴較多,簡(jiǎn)便起見推薦使用安裝包安裝

本文準(zhǔn)備了 3 臺(tái)裝有 CentOS 7.5 系統(tǒng)的機(jī)器,IP 如下所示:

    192.168.8.14 # cluster-14
    192.168.8.15 # cluster-15
    192.168.8.16 # cluster-16

在每臺(tái)機(jī)器上下載對(duì)應(yīng)的 安裝包:

    $ wget -O nebula-1.0.0-beta.el7-5.x86_64.rpm https://github.com/vesoft-inc/nebula/releases/download/v1.0.0-beta/nebula-1.0.0-beta.el7-5.x86_64.rpm

此外由于 Nebula 的服務(wù)之間通信需要開放一些端口,所以可以臨時(shí)關(guān)掉所有機(jī)器上的防火墻:  (具體使用端口見 /usr/local/nebula/etc/ 下面的配置文件)

    $ systemctl disable firewalld

本文將按如下的方式部署 Nebula 的集群:

  - cluster-14: metad/storaged/graphd
  - cluster-15: metad/storaged
  - cluster-16: metad/storaged
安裝

使用 rpm 安裝上步準(zhǔn)備好的安裝包

    $ rpm -ivh nebula-*.rpm

Nebula 默認(rèn)的安裝目錄位于 /usr/local/nebula

配置

Nebula 的所有配置文件都位于 /usr/local/nebula/etc 目錄下,并且提供了三份默認(rèn)配置。分別編輯這些配置文件:

第一份配置文件:nebula-metad.conf

metad 通過 raft 協(xié)議保證高可用,需要為每個(gè) metad 的 service 都配置該服務(wù)部署的機(jī)器 ip 和端口。主要涉及 meta_server_addrslocal_ip 兩個(gè)字段,其他使用默認(rèn)配置。 cluster-14 上的兩項(xiàng)配置示例如下所示:

    # Peers
    --meta_server_addrs=192.168.8.14:45500,192.168.8.15:45500,192.168.8.16:45500
    # Local ip
    --local_ip=192.168.8.14
    # Meta daemon listening port
    --port=45500

第二份配置文件:nebula-graphd.conf

graphd 運(yùn)行時(shí)需要從 metad 中獲取 schema 數(shù)據(jù),所以在配置中必須顯示指定集群中 metad 的 ip 地址和端口選項(xiàng) meta_server_addrs ,其他使用默認(rèn)配置。 cluster-14 上的 graphd 配置如下:

    # Meta Server Address
    --meta_server_addrs=192.168.8.14:45500,192.168.8.15:45500,192.168.8.16:45500

第三份配置文件:nebula-storaged.conf

storaged 也是使用的 raft 協(xié)議保證高可用,在數(shù)據(jù)遷移時(shí)會(huì)與 metad 通信,所以需要配置 metad 的地址和端口 meta_server_addrs 和本機(jī)地址 local_ip ,其 peers 可以通過 metad 獲得。 cluster-14 上的部分配置選項(xiàng)如下:

    # Meta server address
    --meta_server_addrs=192.168.8.14:45500,192.168.8.15:45500,192.168.8.16:45500
    # Local ip
    --local_ip=192.168.8.14
    # Storage daemon listening port
    --port=44500
啟動(dòng)集群

cluster-14

    $ /usr/local/nebula/scripts/nebula.service start all
    [INFO] Starting nebula-metad...
    [INFO] Done
    [INFO] Starting nebula-graphd...
    [INFO] Done
    [INFO] Starting nebula-storaged...
    [INFO] Done

cluster-15/cluster-16

    $ /usr/local/nebula/scripts/nebula.service start metad
    [INFO] Starting nebula-metad...
    [INFO] Done
    $ /usr/local/nebula/scripts/nebula.service start storaged
    [INFO] Starting nebula-storaged...
    [INFO] Done

注:部分用戶可能會(huì)遇到

    [WARN] The maximum files allowed to open might be too few: 1024

可以自己修改 /etc/security/limits.conf

測(cè)試集群

登陸集群中的一臺(tái),執(zhí)行如下命令:

    $ /usr/local/nebula/bin/nebula -u user -p password --addr 192.168.8.14 --port 3699
    (user@192.168.8.14) [(none)]> SHOW HOSTS;
    ==================================
    | Ip           | Port  | Status  |
    ==================================
    | 192.168.8.14 | 44500 | offline |
    ----------------------------------
    Got 1 rows (Time spent: 3511/4024 us)

以上是“Nebula Graph如何安裝部署”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI