不懂技术如何参与PlatON隐私计算网络?一文教你如何一站式部署节点

不懂技术如何参与PlatON隐私计算网络?一文教你如何一站式部署节点

感谢提供本教程的PlatON社区开发者@乐浅浅

本文为一站式节点部署教程,为测试用户提供便捷、快速的节点部署参考。

01. 准备一台服务器,不限位置

配置:

Ubuntu18.04、8核16G5M、200GBSSD,然后登录进去,看到一片漆黑的界面,就可以开始了。

02. 按顺序输入以下指令

# 安装git
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git
#下载Metis-Deploy
git clone https://github.com/Metisnetwork/Metis-Deploy.git

# 切文件夹
cd Metis-Deploy

# 切分支
git checkout ansible

# 创建目录
mkdir log

# 装Python3
sudo apt install -y python python-pip python3 python3-pip

# 更新pip和setuptools
pip install --upgrade setuptools && python -m pip install --upgrade pip

# 装ansible和jinja2
pip install -r ./requirements.txt

# 下载安装部署文件
ansible-playbook --ask-sudo-pass local_prepare.yml

03. 修改inventory.ini配置文件

xxx.xxx.xxx.xxx 是服务器内网IP
yyy.yyy.yyy.yyy 是服务器公网IP

# 库存文件,主要用来配置主机列表和主机组

# 网关,一个组织有一个网关服务
[via]
xxx.xxx.xxx.xxx ansible_ssh_user="user" ansible_ssh_pass="Abc@123!" ansible_sudo_pass="Abc@123!"

# 调度,一个组织有一个调度服务
[carrier]
xxx.xxx.xxx.xxx ansible_ssh_user="user" ansible_ssh_pass="Abc@123!" ansible_sudo_pass="Abc@123!"

# 管理台,一个组织有一个管理台服务
[admin]
xxx.xxx.xxx.xxx ansible_ssh_user="user" ansible_ssh_pass="Abc@123!" ansible_sudo_pass="Abc@123!"

# 资源节点,一个组织可以配置多个资源服务
[data]
xxx.xxx.xxx.xxx ansible_ssh_user="user" ansible_ssh_pass="Abc@123!" ansible_sudo_pass="Abc@123!"

# 计算节点,一个组织可以配置多个计算服务
[compute]
xxx.xxx.xxx.xxx ansible_ssh_user="user" ansible_ssh_pass="Abc@123!" ansible_sudo_pass="Abc@123!"

# 注册中心,一个组织要配置奇数个(3,5,等)注册中心,方便 raft 选择leader
[consul]
yyy.yyy.yyy.yyy ansible_ssh_user="user" ansible_ssh_pass="Abc@123!" ansible_sudo_pass="Abc@123!"

## Global variables
[all:vars]
# 集群的名称,自定义即可
cluster_name = demo-xxx

# 部署服务开关
enable_deploy_via = True
enable_deploy_carrier = True
enable_deploy_admin = True
enable_deploy_data = True
enable_deploy_compute = True
enable_deploy_consul = True

# consul 服务的端口,根据自己的部署情况进行设置,数量要和 consul 组里面的 ip 数量一致。
consul_server_port = [8200]
consul_serf_lan_port = [8300]
consul_serf_wan_port = [8400]
consul_http_port = [8500]
consul_dns_port = [8600]

# admin web 服务证书相关配置信息
enable_tls = False # 是否启用 https,启用设置为 True,需要配置证书和相应的域名,证书里面的密码套件等,不启用设置为 False,忽略下面的配置。
admin_server_name = metisadmin.demo.network
admin_ssl_protocols = "TLSv1 TLSv1.1 TLSv1.2"
admin_ssl_ciphers = ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4

# admin web 的 mysql 相关用户名密码
mysql_root_password = metis_root
amin_user = metis_admin
admin_password = admin_123456

# admin web 的 mysql 相关用户名密码
mysql_root_password = metis_root
amin_user = metis_admin
admin_password = admin_123456

# admin web 服务端口号
admin_web_port = 9090

# carrier 外网 ip 地址
carrier_external_ip = yyy.yyy.yyy.yyy

# carrier 服务端口号
carrier_pprof_port = 7701
carrier_rpc_port = 10030
carrier_grpc_gateway_port = 7702
carrier_p2p_udp_port = 10031
carrier_p2p_tcp_port = 10032

# via 外网 ip 地址
via_external_ip = yyy.yyy.yyy.yyy

# via 服务端口号
via_port = 10040

# data 端口号,根据自己的部署情况进行设置,数量要和 data 组里面的 ip 数量一致。
data_port = [30000]

# compute 端口号,根据自己的部署情况进行设置,数量要和 compute 组里面的 ip 数量一致。
compute_port = [40000]

04. 安装MySQL

Ubuntu服务器安装MySQL教程:

https://www.jianshu.com/p/cc01f7773346

注:不要忘记配置metis_admin

# 进入MySQL之后输入
## 授权root用户访问权限,并刷新权限
grant all privileges on *.* to root@"%"identified by"metis_root"with grant option;

## 创建新用户并授权访问权限
grant all privileges on *.* to metis_admin@"%"identified by"admin_123456"with grant option;

flush privileges;

exit;

# 重启MySQL服务
service mysql restart

05. 准备进入PlatON隐私计算网络

# 部署前的工作
ansible-playbook --ask-sudo-pass local_prepare.yml
ansible-playbook -i inventory.ini bootstrap.yml

# 如果bootstrap部署失败,出现提权失败的情况,则参考以下方案进行修正

chmod u+w /etc/sudoers
vi /etc/sudoers

## 在root下面一行添加youruser ALL=(ALL)ALL
## 这里的youruser就是在第三步的时候的xxx,你们xxx填了什么,这里就写什么

# 撤销写权限
chmod u-w /etc/sudoers
# 安装相关服务,依次输入

sudo python3 -m pip install --upgrade --force-reinstall pip
sudo apt install -y mysql-client
sudo apt-get install libmysqlclient-dev
sudo apt install libssl-dev
sudo apt install libcrypto++-dev
sudo apt-get install python-setuptools
pip3 install setuptools
pip3 install mysqlclient

# 如果执行pip3 install mysqlclient出现Linux-gcc报错,则先执行下面三个sudo

sudo apt-get install libffi-dev
sudo apt-get install python3.6-dev
sudo apt-get install build-essential

# 部署和启动Metis隐私节点

ansible-playbook -i inventory.ini deploy.yml
ansible-playbook -i inventory.ini start.yml

节点部署顺利结束。

隐私计算网络管理平台操作请参考文档:

https://forum.latticex.foundation/t/topic/6047

本文转载自https://mp.weixin.qq.com/s/peVLTibq9IRIA1Fxz3CTnA

(0)
上一篇 3月 17, 2022 09:58
下一篇 3月 18, 2022 10:58

相关推荐

发表评论

登录后才能评论