Dgraph 集群安装部署步骤及说明补充文档
1、机器以及节点说明
服务器地址 | 节点分部 |
---|---|
10.170.130.002 | zero(leader)、alpha、ratel |
10.170.130.003 | zero(follower)、alpha |
10.170.130.004 | zero(follower)、alpha |
节点说明:
1、zero:中心节点,负责元数据维护,事务管理,负载均衡等 类似于 NameNode
2、alpha:负责数据存储节点,多副本高可用,类似于DataNode
3、ratel:负责UI可视化操作界面
2、安装部署
2.1 上传解压 Dgraph tar包
tar -zxvf dgraph-linux-20.03.0amd64.tar.gz /root/Dgraph
解压完成之后的样子
2.2 启动zero服务 并添加主节点(leader)和从节点(follower)
2.2.1 找一台机器启动主节点(10.170.130.102)
nohup ./dgraph zero --my=10.170.130.002:5080 --replicas 3 --idx 1 > zero.log 2>&1 &
2.2.2 找两台机器启动从节点zero服务(10.170.130.003,10.170.130.004)
nohup ./dgraph zero -o 1 --my=10.170.130.003:5081 --replicas 3 --peer 10.170.130.002:5080 --idx 2 > zero.log 2>&1 &
nohup ./dgraph zero -o 2 --my=10.170.130.004:5082 --replicas 3 --peer 10.170.130.002:5080 --idx 3 > zero.log 2>&1 &
上述参数说明
1、–my 指定自身zero服务所在ip和port,端口默认是5080,也可自己调整
2、–replicas 副本数,这个参数最好与Alpha的服务数是整数倍关系,因为dgraph会将Alpha的个数按启动顺序以replicas数为一单元组成一个group,如上面命令所示,3个Alpha即为一个group,6个即2个group,一个group共享副本,类比于Elasticsearch的冷热分离。
3、–idx 指定节点id,不指定的话系统会默认分配
4、-o 用于对服务相关的接口进行偏移,主要包括【Grpc=5080, HTTP=6080】,参数后面的数值即偏移数,如-o 1即端口统一加1,为5081和6081,–my的端口最好跟这里对应。在启动多个zero服务时最好偏移按照顺序依次增加 如:-o 1 -o 2 方便管理
5、–peer 用于zero的follower节点 检测连接zero的 leader服务,leader角色不需要这个参数。
2.3 启动所有节点alpha服务并追加白名单
nohup ./dgraph alpha --my=10.170.130.002:7080 --lru_mb=1024 --zero=10.170.130.004:5082 --whitelist 10.170.130.002:10.170.130.004,0.0.0.0/0 > alpha.log 2>&1 &
nohup ./dgraph alpha --my=10.170.130.003:7081 --lru_mb=1024 --zero=10.170.130.002:5080 -o 1 --whitelist 10.170.130.002:10.170.130.004,0.0.0.0/0 > alpha.log 2>&1 &
nohup ./dgraph alpha --my=10.170.130.004:7082 --lru_mb=1024 --zero=10.170.130.003:5081 -o 2 --whitelist 10.170.130.002:10.170.130.004,0.0.0.0/0 > alpha.log 2>&1 &
参数说明
1、–whitelist 添加修改权限白名单,当不添加此参数,在添加或者修改schema的时候会出现 Unauthorized IP address: X.X.X.X 的问题
例: 10.170.130.002:10.170.130.004,0.0.0.0/0 的意思是 服务器10.170.130.002 到服务器10.170.130.104 之间以及所有IP都可访问
2、 其余参数含义同上
3、注意:在端口添加偏移量 -o 的时候每个服务器的 偏移量应依次设置不同为佳
2.4 找一台节点启动dgraph-ratel 服务
nohup ./dgraph-ratel -p 8000 > web.log 2>&1 &
默认端口为8000
2.5 利用配置文件启动服务(非必要操作)
命令启动由于命令配置参数较多,可以将配置放入配置文件中 然后命令启动
vi config.json
添加配置:
{
"my": "10.170.130.002:7080",
"replicas": 3,
"idx": 1
}
然后启动:
./dgraph zero --config onfig.json
3、UI界面及端口号说明
3.1 登录界面
10.170.130.002:8000
3.2 配置URL连接服务
连接说明
相关节点的连接的URL
http://10.170.130.002:8080
http://10.170.130.003:8081
http://10.170.130.004:8082
注意:
一般操作连接主节点 leader的 10.170.130.002:8080 服务器,当主节点进行操作表结构之后,其余从节点follower会跟随自动创建和删除
3.3端口号列表
Server | gRPC-内部 | gRPC-外部 | HTTP |
---|---|---|---|
zero | 5080 | No | 6080 |
alpha | 7080 | 9080 | 8080 |
ratel | No | No | 8000 |
说明: |
gRPC外部端口表示:可以用java等代码进行连接传输数据时使用的 port