Skip to content

MassGrid docker管理节点配置教程v1.4.1.1

mgdzhxx edited this page Dec 20, 2019 · 7 revisions

MassGrid docker管理节点配置教程 v1.4.1.1

基本要求

  1. 准备 1台配置好的主节点服务器

    节点配置教程请参考: 配置主节点教程

  2. 额外开放服务器端口

    TCP 2377 集群管理通信

    UDP 8999 N2N 默认消息转发端口

    节点开放端口,可以在对应的云服务器后天管理面板中操作

前言

管理节点主要分四部分

  1. docker swarm 管理节点
  2. 带有主节点功能的massgrid 程序
  3. prizes 后端程序(主要用来操作docker api)
  4. mongdb 存储数据库

1. 安装docker

1)使用ubuntu masternode一键脚本安装docker
# 下载一键安装脚本
wget https://raw.githubusercontent.com/wanyvic/DockerImageBase/master/masternode_docker_install.sh
# 添加权限
chmod +x masternode_docker_install.sh
# 执行安装
sudo ./masternode_docker_install.sh

##执行成功则可以看到具体的docker信息
Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        e68fc7a
 Built:             Tue Aug 21 17:24:56 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       e68fc7a
  Built:            Tue Aug 21 17:23:21 2018
  OS/Arch:          linux/amd64
  Experimental:     false
2) 开放docker api

打开 docker.service 文件

sudo vim /lib/systemd/system/docker.service

注释其中 ExecStart=/usr/bin/dockerd 开头的行

然后 添加一行新的,如下

ExecStart=/usr/bin/dockerd -H unix://var/run/docker.sock -H tcp://127.0.0.1:2375

重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker.service
3)初始化 docker swarm 集群

以主节点 49.234.37.251为例

sudo docker swarm init --advertise-addr 49.234.37.251:2377

2. 安装 mongodb

# 下载并添加 秘钥
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
# 更新
sudo apt-get update
# 安装
sudo apt-get install -y mongodb-org
# 启动 mongodb
sudo service mongod start

3. 安装并启动 prizes

安装

# 下载相关文件
wget https://github.com/wanyvic/prizes/releases/download/v1.2/prizes.tar.gz
# 解压
tar zxvf prizes.tar.gz

启动

# 使用 nohup 将当前程序挂载后台
nohup sudo ./prizesd --db-server mongodb://localhost:27017/docker --rpc-server localhost:9442 --rpc-username name --rpc-password pwd --time-Scale-Statement 30 -D -l debug >debug.log &

参数说明

  • --rpc-username 设置为massgrid.conf rpcuser的值
  • --rpc-password 设置为massgrid.conf rpcpassword的值
  • --time-Scale-Statement 30 设置结算时长 30分钟(管理节点每隔30分钟结算一次)

4. 配置 dockerprice.conf

​ 附 本地矿机 daemon.json 配置文件 部分参考

"CPUTYPE=Intel_CPU", 
"MEMORYCOUNT=3", 
"MEMORYTYPE=ddr", 
"GPUCOUNT=3", 
"GPUTYPE=NVIDIA_P102_100_5G",  # 表示gpu 类型为 NVIDIA_P102_100_5G

dockerprice.conf 文件 在 MGD 钱包数据目录下

cpu Intel_CPU 10
mem ddr 1.5
gpu NVIDIA_P102_100_5G 10.1

参数说明:

​ 总共三列,中间空格隔开

​ 第一列表示 类型 (如 cpu,mem,gpu)

​ 第二列表示 型号 (如 intel_i3, NVIDIA_P102_100_5G)

​ 第三列表示 值

注意: 服务端 dockerprice.conf 填写的配置价格表,型号 要和本地矿机中 daemon.json 文件中填写的 类型名称一致,价格才能生效

5. 启动服务端钱包

以 sudo 方式启动钱包

# 启动钱包并添加参数 -dockernode
sudo ./massgirdd -dockernode

6. 在线更改配置

1) 更改定价

调用 massgrid-cli 进行在线更改价格

# 查看价格单
./massgrid-cli docker listprice
# 修改价格
./massgrid-cli docker setprice cpu Intel_CPU 9.8
./massgrid-cli docker setprice gpu NVIDIA_P104_100_4G 40
2) 更改主节点租用手续费率
./massgrid-cli docker setdockerfee 0.01 #1%

7. 更多管理

使用 ./massgrid-cli docker命令

具体可参见rpc docker命令文档

help docker