Dgraph 安装

图数据库安装

Dgraph 安装

使用docker 编排安装

Docker Compose 文件

以下是用于配置 Dgraph 的 Docker Compose 文件:

version: "3.2"
services:
  zero:
    image: dgraph/dgraph:latest
    volumes:
      - /opt/dgraph:/dgraph
    ports:
      - 5080:5080
      - 6080:6080
    restart: on-failure
    command: dgraph zero --my=zero:5080
  alpha:
    image: dgraph/dgraph:latest
    volumes:
      - /opt/dgraph:/dgraph
    ports:
      - 8080:8080
      - 9080:9080
    restart: on-failure
    command: dgraph alpha --my=alpha:7080 --zero=zero:5080 --security whitelist=0.0.0.0/0  
    # 此处作IP地址限制,比如替换为: 172.0.0.0/8
  ratel:
    image: dgraph/ratel:latest
    ports:
      - 8000:8000



增加ACL安全控制的 Docker Compose 文件:


version: "3.5"
services:
  zero:
    image: dgraph/dgraph:latest
    volumes:
      - /opt/dgraph:/dgraph
    ports:
      - 5080:5080
      - 6080:6080
    restart: on-failure
    command: dgraph zero --my=zero:5080
  alpha:
    image: dgraph/dgraph:latest
    environment:
      DGRAPH_ALPHA_ACL: secret-file=/dgraph/hmac_secret_file
      DGRAPH_ALPHA_SECURITY: whitelist=0.0.0.0/0
    volumes:
      - /opt/dgraph:/dgraph
    ports:
      - 8080:8080
      - 9080:9080
    restart: on-failure
    command: dgraph alpha --my=alpha:7080 --zero=zero:5080 

  ratel:
    image: dgraph/ratel:latest
    ports:
      - 8000:8000
      
      
      
生成随机key命令:
tr -dc 'a-zA-Z0-9' < /dev/urandom | dd bs=1 count=32 of=enc_key_file
或者:
openssl rand -base64 32 > hmac_secret_file

组件说明如下:

Zero:Dgraph 的管理节点,负责集群的元数据管理和协调。Zero 处理节点的加入和离开,负责分配分片(shards)和管理集群的状态。
Alpha:Dgraph 的数据节点,实际存储和处理图数据。Alpha 节点负责执行查询、更新数据和管理存储。一个 Dgraph 集群通常会有多个 Alpha 节点以实现负载均衡和高可用性。
Ratel:Dgraph 的用户界面(UI),用于与 Dgraph 交互。Ratel 提供了一个友好的图形界面,用户可以通过它执行查询、管理数据和监控集群状态。
这三个组件共同工作,使 Dgraph 能够高效地处理大规模的图数据。

Dgraph 的端口说明如下:

1. Zero
5080:用于 Zero 节点之间的通信(RPC)。
2. Alpha
7080:用于 Alpha 的实时查询(Live Query)和订阅功能。
8080:GraphQL API 服务端口,用于 GraphQL 客户端与 Alpha 节点的通信( GraphQL API )。
9080:使用 HTTP 和 JSON 格式进行数据交互的接口,用于 HTTP 客户端与 Alpha 节点的通信( HTTP API)。
9180:用于 Alpha 节点之间的通信(gRPC)。
3. Ratel
8000:Ratel 的默认端口,用户通过浏览器访问图形用户界面。
其他
9081:用于 Alpha 的 GraphQL API(可选)。

--my=alpha:7080 --zero=zero:5080 :

Dgraph 启动时的配置选项,用于指定 Alpha 节点和 Zero 节点的连接信息

参考资料:

Learning Environment - Deploy

浙 ICP 备 20008785 号

© 三时七渡. 保留所有权利.