区块链网络管理平台WeBASE双节点可视化部署

这篇具有很好参考价值的文章主要介绍了区块链网络管理平台WeBASE双节点可视化部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


之前有写过一篇Linux下一键部署区块链网络WeBASE(FISCO BCOS),是单节点,正常还是会考虑多部署几个节点的,这里进行一个管理节点,2个底层节点的部署操作,采用官网的可视化部署方式。

官网参考:https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Install/visual_deploy.html

可视化部署是通过WeBASE 管理平台(WeBASE-Web + WeBASE-Node-Manager),在多台主机上快速部署FISCO-BCOS底层节点和WeBASE-Front前置以及对底层节点的扩容操作

这里演示一台管理节点(192.168.56.101),两台FISCO-BCOS底层节点(192.168.56.102-103)的区块链部署

一、管理节点配置Ansible(192.168.56.101)

1.安装Ansible

yum install epel-release -y
yum install ansible –y

ansible --version

2.配置Ansible host_key_checking

vi /etc/ansible/ansible.cfg

# 找到host_key_checking选项
host_key_checking = False

3.免密登录配置

#执行命令ssh-keygen -t rsa -m PEM,然后直接两次回车即可生成(提示输入密码时,直接回车)
ssh-keygen -t rsa -m PEM

#将公钥文件上传到需要免密登录的主机(替换 [IP] 为节点主机的 IP 地址),然后输入远程主机的登录密码
ssh-copy-id -o StrictHostKeyChecking=no -i ~/.ssh/id_rsa.pub root@192.168.56.102
ssh-copy-id -o StrictHostKeyChecking=no -i ~/.ssh/id_rsa.pub root@192.168.56.103

#输出结果出现 Number of key(s) added: 1 结果,表示免密登录配置成功

#检查从部署 WeBASE-Node-Manager 服务的主机是否能成功免密登录部署节点的主机(替换 [IP] 为主机的 IP 地址)
ssh -o StrictHostKeyChecking=no root@192.168.56.102
ssh -o StrictHostKeyChecking=no root@192.168.56.103

4.配置Ansible Hosts与免密登录

vi /etc/ansible/hosts

[webase]
192.168.56.102 ansible_ssh_private_key_file=/root/.ssh/id_rsa  ansible_ssh_user=root  ansible_ssh_port=22
192.168.56.103 ansible_ssh_private_key_file=/root/.ssh/id_rsa  ansible_ssh_user=root  ansible_ssh_port=22

####注:{your_host_ip} ansible_ssh_private_key_file={ssh_private_key}  ansible_ssh_user={ssh_user}  ansible_ssh_port={ssh_port}

5.测试Ansible

ansible webase --list-hosts
ansible webase -m ping

二、管理节点部署依赖服务(192.168.56.101)

可视化部署需要依赖 WeBASE 的中间件服务,包括管理平台(WeBASE-Web)、节点管理子系统(WeBASE-Node-Manager)、签名服务(WeBASE-Sign)
因此先在管理节点部署好这些

这里采用手动部署的方式

0.Jdk安装

1.签名服务(WeBASE-Sign)

(1). 部署包下载

wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.1/webase-sign.zip
unzip webase-sign.zip 

(2). 数据库初始化

#新建数据库:
CREATE DATABASE IF NOT EXISTS webasesign DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

(4). 修改配置

cd webase-sign/

以下配置主要修改数据库IP、账号和密码:

vi conf/application.yml

server: 
  # 本工程服务端口,端口被占用则修改
  port: 5004
  context-path: /WeBASE-Sign

spring: 
  datasource: 
    # 数据库连接信息
    url: jdbc:mysql://127.0.0.1:3306/webasesign?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8
    # 数据库用户名
    username: "dbUsername"
    # 数据库密码
    password: "dbPassword"
    driver-class-name: com.mysql.cj.jdbc.Driver
    
constant: 
  # aes加密key(16),如启用,各互联的子系统的加密key需保持一致
  aesKey: EfdsW23D23d3df43

(4). 服务启停

启动:sh start.sh
停止:sh stop.sh
检查:sh status.sh

(5). 查看日志

全量日志:tail -f log/WeBASE-Sign.log
错误日志:tail -f log/WeBASE-Sign-error.log

2.节点管理子系统(WeBASE-Node-Manager)

(1). 部署包下载

wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.1/webase-node-mgr.zip 
unzip webase-node-mgr.zip

(2). 数据库初始化

1.#新建数据库:
CREATE DATABASE IF NOT EXISTS webasenodemanager DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
2.#修改脚本配置
cd  script
##修改数据库用户名:
sed -i "s/defaultAccount/root/g" webase.sh
##修改数据库密码:
sed -i "s/defaultPassword/123456/g" webase.sh
3.#执行命令:bash webase.sh ${dbIP} ${dbPort} 改成正确的数据库IP和端口:
sh webase.sh 127.0.0.1 3306

(4). 服务配置及启停

2.#修改服务配置
修改服务端口:sed -i "s/5001/${your_server_port}/g" conf/application.yml
修改数据库IP:sed -i "s/127.0.0.1/${your_db_ip}/g" conf/application.yml
修改数据库端口:sed -i "s/3306/${your_db_port}/g" conf/application.yml
修改数据库名称:sed -i "s/webasenodemanager/${your_db_name}/g" conf/application.yml
修改数据库用户:sed -i "s/defaultAccount/${your_db_account}/g" conf/application.yml
修改数据库密码:sed -i "s/defaultPassword/${your_db_password}/g" conf/application.yml

#########修改application.yml:
 constant:
  # 1.4.0 visual deploy
  # 部署方式修改为 1,启用可视化部署
  deployType: 1
  
  # WeBASE-Sign 服务的访问地址,前面部署的签名服务的访问地址
  # 注意 IP 地址,WeBASE-Front 会使用此 IP 地址访问签名服务
  # 因此,在可视化部署中,此处不能使用 127.0.0.1或localhost
  webaseSignAddress: "xxx.xx.xx.xxx:5004"

注意 WeBASE-Node-Manager 服务的 webaseSignAddress 配置。WeBASE-Front 节点会使用此地址访问 WeBASE-Sign。所以不能使用 127.0.0.1,需要填写对外服务的 IP 地址。这里使用webaseSignAddress: "192.168.56.101:5004"

3.#服务启停
启动:sh start.sh
停止:sh stop.sh
检查:sh status.sh
4.#查看日志
全量日志:tail -f log/WeBASE-Node-Manager.log
错误日志:tail -f log/WeBASE-Node-Manager-error.log

3.管理平台(WeBASE-Web)

(1). 部署包下载

wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.1/webase-web.zip
wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.1/webase-web-mobile.zip

unzip webase-web.zip
unzip webase-web-mobile.zip

(2). nginx安装

(3). 修改nginx配置

cd nginx
vi conf/nginx.conf 在server段中加入以下配置
    server {
        listen       5000; # 前端端口(端口需要开通策略且不能被占用)
        server_name  localhost;           # 服务器ip,也可配置为域名
        location / {
            root   /opt/webase-web;   # 前端文件路径(文件需要有权限访问)
            # 下面是移动端nginx配置
             if ( $http_user_agent ~ "(MIDP)|(WAP)|(UP.Browser)|(Smartphone)|(Obigo)|(Mobile)|(AU.Browser)|(wxd.Mms)|(WxdB.Browser)|(CLDC)|(UP.Link)|(KM.Browser)|(UCWEB)|(SEMC-Browser)|(Mini)|(Symbian)|(Palm)|(Nokia)|(Panasonic)|(MOT-)|(SonyEricsson)|(NEC-)|(Alcatel)|(Ericsson)|(BENQ)|(BenQ)|(Amoisonic)|(Amoi-)|(Capitel)|(PHILIPS)|(SAMSUNG)|(Lenovo)|(Mitsu)|(Motorola)|(SHARP)|(WAPPER)|(LG-)|(LG/)|(EG900)|(CECT)|(Compal)|(kejian)|(Bird)|(BIRD)|(G900/V1.0)|(Arima)|(CTL)|(TDG)|(Daxian)|(DAXIAN)|(DBTEL)|(Eastcom)|(EASTCOM)|(PANTECH)|(Dopod)|(Haier)|(HAIER)|(KONKA)|(KEJIAN)|(LENOVO)|(Soutec)|(SOUTEC)|(SAGEM)|(SEC-)|(SED-)|(EMOL-)|(INNO55)|(ZTE)|(iPhone)|(Android)|(Windows CE)|(Wget)|(Java)|(curl)|(Opera)" )
           {
            root   /opt/webase-web-mobile;
           }
            index  index.html index.htm;
            try_files $uri $uri/ /index.html =404;
        }
        
        location /mgr {
            proxy_pass    http://127.0.0.1:5001/;    		
            proxy_set_header		Host			 $host;
            proxy_set_header		X-Real-IP		 $remote_addr;
            proxy_set_header		X-Forwarded-For	 $proxy_add_x_forwarded_for;
        }
    }

(5). 启动nginx

启动:/opt/nginx/sbin/nginx -p /opt/nginx -c /opt/nginx/conf/nginx.conf
重载:/opt/nginx/sbin/nginx -p /opt/nginx -s reload

(6). 访问页面

http://{deployIP}:{webPort}
示例:http://127.0.0.1:5000
http://192.168.56.101:5000

默认账号密码:admin/Abcd1234

三、可视化部署节点

1.部署节点(192.168.56.102)

(1). Docker安装

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
yum install -y docker-ce-3:20.10.7-3.el7.x86_64

systemctl start docker 
systemctl enable docker

(2). Docker镜像下载

wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.1/docker-fisco-webase.tar

#加载好
docker load -i docker-fisco-webase.tar
docker load -i hello-world.tar

(3). 添加主机
填入要部署的IP与部署节点的目录
区块链网络管理平台WeBASE双节点可视化部署
(4). 新增节点(检测)
新增节点时会自动检测依赖,按提示解决后重新点检测按钮进行检测
区块链网络管理平台WeBASE双节点可视化部署
一些要解决的依赖问题记录如下:
bc: command not found"

yum install -y bc

ERROR: free memory is too low! Least required 2.0Gb for 2 nodes

增大主机的机器内存,或释放更多的可用内存(Free memory)。

1.增加内存

2.如果你的内存够,可能是available里面够,但free里面低于提示的值则执行以下,在root用户下执行以下操作可以释放available内存转为free内存
sync; echo 1 > /proc/sys/vm/drop_caches
sync; echo 2 > /proc/sys/vm/drop_caches
sync; echo 3 > /proc/sys/vm/drop_caches

ERROR: cannot find netstat cmd!

yum install -y net-tools

(4). 新增节点(初始化)
检测成功后,需要可视化操作初始化按钮进行初始化。
区块链网络管理平台WeBASE双节点可视化部署
(5). 新增节点(部署)
初始化成功后,需要可视化操作部署按钮继续。
区块链网络管理平台WeBASE双节点可视化部署
如果没有安装rsync,部署也会报错,在管理结点和新增的节点都执行rsync安装

yum install -y rsync

(6). 修正处理
如果顺利,就直接能部署成功,如果不行,就删除群组数据和链数据,然后再重新来一遍即可
区块链网络管理平台WeBASE双节点可视化部署
区块链网络管理平台WeBASE双节点可视化部署

重新加节点,检测,初始化,部署,如果看到链启动,基本上是成功了,等几分钟就好
区块链网络管理平台WeBASE双节点可视化部署
几分钟后节点加入正常:
区块链网络管理平台WeBASE双节点可视化部署

2.新增节点(192.168.56.103)

节点新增,也称作节点扩容,指在已有的区块链服务中,在新的主机上,添加一个新的节点。
(1). Docker安装和镜像导入
同部署节点的步骤一样,略。

(2). 添加主机
区块链网络管理平台WeBASE双节点可视化部署
(3). 添加新节点
同部署节点,也会自动检测、初始化、部署,方法同部署节点的步骤
区块链网络管理平台WeBASE双节点可视化部署
(4). 将新节点设为共识节点或观察节点
重启完成后,新加的节点是游离状态,需要创建私钥或使用已有私钥,将新节点设为共识节点或观察节点
区块链网络管理平台WeBASE双节点可视化部署
私钥管理-->新加用户进行私钥的创建
区块链网络管理平台WeBASE双节点可视化部署

小知识:根据对计算的参与程度和数据的存量,节点可分为共识节点和观察节点。共识节点会参与到整个共识过程,做为记账者打包区块、做为验证者验证区块以完成共识过程。观察节点不参与共识,同步数据,进行验证并保存,可以做为数据服务者提供服务

将将新节点设为共识节点或观察节点
区块链网络管理平台WeBASE双节点可视化部署
最终加入后的效果如下:
区块链网络管理平台WeBASE双节点可视化部署
区块链网络管理平台WeBASE双节点可视化部署
至少完成了整个环境的搭建

四、节点的维护

1.节点的启动,停止

节点的启动,停止
若节点的docker容器被意外删除,通过页面点击“启动”即可完成节点重启
停止或重启操作时,请确保满足链的共识容错要求。设为观察节点可避免影响共识状态
每次启停操作大约需要30秒

2.节点的删除

删除节点
将节点设置为游离节点后,即可安全删除节点,删除后,链将会移除被删节点的P2P配置,并重启链
删除节点时,节点必须处于停止状态文章来源地址https://www.toymoban.com/news/detail-400630.html

到了这里,关于区块链网络管理平台WeBASE双节点可视化部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于区块链的多层卫星互联网络安全管理技术

    摘要 : 卫星互联网具有覆盖范围广、通信时延低、传输容量大、地域影响小等优势,能为全球用户提供无处不在的互联网接入服务。但是卫星网络与地面网络的异构性,卫星网络的信道开放、节点暴露等特点会对网络接入和资源管理造成安全威胁。针对卫星互联网的安全问

    2024年02月05日
    浏览(45)
  • 零信任身份管理平台,构建下一代网络安全体系

    随着数字化时代的到来,网络安全已成为企业和组织面临的一项重要挑战。传统的网络安全方法已经无法满足不断演变的威胁和技术环境。近期,中国信息通信研究院(简称“中国信通院”)发布了《零信任发展研究报告( 2023 年)》。在报告指出,云计算、大数据等新一代

    2024年02月07日
    浏览(43)
  • 1+X 网络安全运营平台与管理 sql注入实验报告

    目录 项目化考核 1+X 证书(网络安全运营平台管理) 实验目的: 实验设备 (环境)  实验要求: 实验原理: 实验步骤: 实验总结:  加油各位( •̀ ω •́ )y 期待与君再相逢 掌握 SQLmap 的使用   SQL注入漏洞利用 1、了解数据库的查询规则 2、熟悉SQL查询语句 3、了解SQL注入的

    2024年02月12日
    浏览(36)
  • 视频汇聚/视频云存储/视频监控管理平台EasyCVR提升网络稳定小tips来啦!

    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,也具备接入

    2024年02月12日
    浏览(58)
  • 【开发】tips:视频汇聚/视频云存储/视频监控管理平台EasyCVR如何提升网络稳定

    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力,也具备接入

    2024年02月11日
    浏览(97)
  • 搭建第一个区块链网络与一键部署WeBASE步骤

    搭建第一个区块链网络 — FISCO BCOS v2 v2.9.0 文档 (fisco-bcos-documentation.readthedocs.io) 一键部署 — WeBASE v1.5.5 文档 (webasedoc.readthedocs.io) 默认如MySQL、Python、java等依赖已经引入 创建操作目录 cd ~ mkdir -p fisco cd fisco 下载国内脚本 curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BC

    2024年02月04日
    浏览(42)
  • 云计算是指利用互联网所提供的基础设施、网络服务和平台,实现数据中心的虚拟化、动态管理、自动化运维功能

    作者:禅与计算机程序设计艺术 云计算是指利用互联网所提供的基础设施、网络服务和平台,实现数据中心的虚拟化、动态管理、自动化运维功能。传统的数据中心的资源由专业IT人员手动管理,而云计算则让硬件资源可按需弹性扩展、弹性迁移、自动化伸缩、降低成本。

    2024年02月08日
    浏览(52)
  • 车载网络 - Autosar网络管理 - 网络管理报文

            NM报文的ID一般定义为:基础ID+源地址,每个节点应分配一个唯一的标识符(ECU地址)Node_ID,网络管理报文一般会统一一个基地址,这个是根据主机厂不同而不同,有些是用0x400 - 0x4FF或者0x500 - 0x5FF,也有0x600 - 0x6FF,这个根据实际情况来确认。不过Node_ID的取值范围

    2023年04月14日
    浏览(48)
  • 计算机网络管理-SNMP网络管理中遇到的问题及解决

    在实验中我发现,进入SNMPc 工具后,因为先前我是开启了网络发现的功能的,因此程序会自动生成拓补图,自动生成的网络规划是错误的,如下图所示: 我的设备:cdypc没有自动匹配到192.168.31.0的网段中,查看设备在SNMPc中的设备信息,我发现,cdypc的IP确实不在192.168.31.0的网

    2024年02月09日
    浏览(51)
  • 计算机网络管理-网络管理软件SNMPc软件的下载,安装和使用教程说明

    ⬜⬜⬜ 🐰🟧🟨🟩🟦🟪(*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜  ✏️write in front✏️ 📝个人主页:陈丹宇jmu 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​ 🙉联系作者🙈by QQ:813942269🐧 🌈致亲爱的读者:很高兴你能看到我的文章,希望我的文章可以帮助到你,祝万事

    2024年02月10日
    浏览(84)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包