感谢提供本教程的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