基于FiscoBcos v3.0.1 pro版的host网络模式集群环境搭建

2023-11-06

安装软件

更新

最新版本系统软件

yum update -y

安装docker

yum install -y yum-utils device-mapper-persistent-data lvm2

设置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

可以查看所有仓库中所有docker版本,并选择特定版本安装

yum list docker-ce --showduplicates | sort -r

安装

yum install docker-ce-18.06.3.ce-3.el7 -y

启动

systemctl enable docker && systemctl start docker

配置镜像加速器,通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

mkdir -p /etc/docker

tee /etc/docker/daemon.json <<-'EOF'

{

  "registry-mirrors": ["https://ijdk512y.mirror.aliyuncs.com"]

}

EOF

systemctl daemon-reload && systemctl restart docker

 

安装docker-compose

运行此命令以下载 Docker Compose 的当前稳定版本

curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

二进制文件应用可执行权限

chmod +x /usr/local/bin/docker-compose

创建链接

ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

查看版本

docker-compose -version

安装java

mkdir /usr/local/java && cd /usr/local/java

tar -C /usr/local/java -zxvf jdk-8u321-linux-x64.tar.gz

配置Java环境,编辑/etc/profile文件

vi /etc/profile

export JAVA_HOME=/usr/local/java/jdk1.8.0_321

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

source /etc/profile

安装python3.7

安装依赖包

yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y

mkdir /usr/local/python3

tar -xf Python-3.7.10.tgz && cd Python-3.7.10

编译安装

./configure --prefix=/usr/local/python3

make && make install



建立Python3的软连接

ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3

ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3

安装pykmip等

pip3 install pykmip toml requests requests_toolbelt

升级GCC编译器

yum -y install centos-release-scl

yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils

scl enable devtoolset-8 bash



echo "source /opt/rh/devtoolset-8/enable" >>/etc/profile

升级make版本至4.2

cd /usr/local

tar -xf make-4.2.tar.gz

cd make-4.2

./configure

make

make install

rm -rf /usr/bin/make

cp ./make /usr/bin/

make -v

 

升级GLIBC

升级GLIBCXX

出现这个错误,是因为CentOS7当前版本默认的GCC的版本太老,里面的动态链接库没有GLIBCXX_3.4.21

cd /usr/local/lib64/

# 解压

unzip libstdc.so_.6.0.26.zip

# 将下载的最新版本拷贝到 /usr/lib64

cp libstdc++.so.6.0.26 /usr/lib64

cd /usr/lib64

# 查看 /usr/lib64下libstdc++.so.6链接的版本

ls -l | grep libstdc++

# 删除原先的软连接(不放心可以备份)

rm libstdc++.so.6

# 使用最新的库建立软连接

ln -s libstdc++.so.6.0.26 libstdc++.so.6

# 查看新版本,成功

strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

升级GLIBC

/usr/local/app/tars/tarsnode/bin/tarsnode: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /usr/local/app/tars/tarsnode/bin/tarsnode)

出现这个错误,会使tarsnode节点服务启动失败。

cd /usr/local/

tar -xf glibc-2.31.tar.gz

cd glibc-2.31

mkdir build

cd build
yum install bison -y

../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

make

make install

strings /usr/lib64/libstdc++.so.6 | grep GLIBC_

 

host模式下

192.168.229.189

20200

30300

192.168.229.190

20201

30301

安装tars服务

选择在192.168.229.189服务器上安装tars服务

cd /opt/blockchain/fiscobcosV3

修改配置

1、修改tarsFramework的docker-compose配置,设置密码、ip(物理ip),指定网卡

cd /opt/blockchain/fiscobcosV3/BcosBuilder/docker/host/linux/framework

vi docker-compose.yml

version: "3"

services:

  tars-mysql:

    image: mysql:5.6

    network_mode: "host"

    environment:

      MYSQL_ROOT_PASSWORD: "FISCO"

      MYSQL_TCP_PORT: 3310

    restart: always

    volumes:

      - ~/app/tars/framework-mysql:/var/lib/mysql

      - /etc/localtime:/etc/localtime



  tars-framework:

    image: tarscloud/framework:v3.0.1

    network_mode: "host"

    environment:

      MYSQL_HOST: "192.168.229.189"

      MYSQL_ROOT_PASSWORD: "FISCO"

      MYSQL_PORT: 3310

      REBUILD: "false"

      INET: ens33

      SLAVE: "false"

    restart: always

    volumes:

      - ~/app/tars/framework:/data/tars

      - /etc/localtime:/etc/localtime

    depends_on:

      - tars-mysql

注:使用host模式时,需要在配置文件的INET项指定网卡,可使用ip addr查看网卡。

 

若使用默认网卡会出现以下错误:

2、修改tarsnode的docker-compose配置

cd /opt/blockchain/fiscobcosV3/BcosBuilder/docker/host/linux/node

vi docker-compose.yml

version: "3"

services:

  tars-node:

    image: tarscloud/tars-node:latest

    network_mode: "host"

    environment:

      INET: ens33

      WEB_HOST: "http://192.168.229.189:3000"

    restart: always

    volumes:

      - ~/app/tars:/data/tars

      - /etc/localtime:/etc/localtime

创建tars管理服务

cd /opt/blockchain/fiscobcosV3/BcosBuilder/docker/host/linux/framework

docker-compose up -d

启动tars管理服务

cd /opt/blockchain/fiscobcosV3/BcosBuilder/docker/host/linux/framework

docker-compose start

查看

docker ps -a

访问

http://192.168.229.189:3000/   admin   

安装tarsnode服务(重要)

192.168.229.190服务器安装tarsnode服务

点击【运维管理】 -> 【节点管理】 -> 【自动安装节点】,填写服务器ip、登录用户/密码;

先【测试联通性】,连接成功后,点击【安装】;

在192.168.229.190服务器上查看;

ps -ef | grep tars

至此192.168.229.190服务器上的tarsnode服务安装成功。

申请token

【用户中心】 -> 【Token管理】 -> 【新增Token】

 

部署Pro版本区块链节点

下载二进制

cd /opt/blockchain/fiscobcosV3/BcosBuilder/pro

python3 build_chain.py download_binary

 

修改配置文件

修改配置文件中ip、token可参照官方文档进行修改

cp conf/config-deploy-example.toml config.toml

vi config.toml

[tars]

tars_url = "http://192.168.229.189:3000"

tars_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiJhZG1pbiIsImlhdCI6MTY2ODA1ODI3NCwiZXhwIjoxNzYyODM5MDc0fQ.6wl-tvAJTLZk4YFdw9GQPJHh4aVZxESH8GaEMBdHsk4"

tars_pkg_dir = "binary/"



[chain]

chain_id="chain0"

# the rpc-service enable sm-ssl or not, default disable sm-ssl

rpc_sm_ssl=false

# the gateway-service enable sm-ssl or not, default disable sm-ssm

gateway_sm_ssl=false

# the existed rpc service ca path, will generate new ca if not configured

#rpc_ca_cert_path=""

# the existed gateway service ca path, will generate new ca if not configured

#gateway_ca_cert_path="



[[group]]

group_id="group0"

# the genesis configuration path of the group, will generate new genesis configuration if not configured

# genesis_config_path = ""

# VM type, now only support evm/wasm

vm_type="evm"

# use sm-crypto or not

sm_crypto=false

# enable auth-check or not

auth_check=false

init_auth_address=""



# the genesis config

# the number of blocks generated by each leader

leader_period = 1

# the max number of transactions of a block

block_tx_count_limit = 1000

# consensus algorithm now support PBFT(consensus_type=pbft)

consensus_type = "pbft"

# transaction gas limit

gas_limit = "3000000000"

# compatible version, can be dynamically upgraded through setSystemConfig

# the default is 3.0.0-rc4

compatibility_version="3.0.0"



[[agency]]

name = "agencyA"

# enable data disk encryption for rpc/gateway or not, default is false

enable_storage_security = false

# url of the key center, in format of ip:port, please refer to https://github.com/FISCO-BCOS/key-manager for details

# key_center_url =

# cipher_data_key =



    [agency.rpc]

    deploy_ip=["192.168.229.189"]

    listen_ip="0.0.0.0"

    listen_port=20200

    thread_count=4



    [agency.gateway]

    deploy_ip=["192.168.229.189"]

    listen_ip="0.0.0.0"

    listen_port=30300

    peers=["192.168.229.189:30300", "192.168.229.190:30301"]



    [[agency.group]]

        group_id = "group0"

        [[agency.group.node]]

        node_name = "node0"

        deploy_ip = "192.168.229.189"

        # enable data disk encryption for bcos node or not, default is false

        enable_storage_security = false

        # url of the key center, in format of ip:port, please refer to https://github.com/FISCO-BCOS/key-manager for details

        # key_center_url =

        # cipher_data_key =

        monitor_listen_port = "3902"

        # monitor log path example:"/home/fisco/tars/framework/app_log/"

        monitor_log_path = ""



[[agency]]

name = "agencyB"

# enable data disk encryption for rpc/gateway or not, default is false

enable_storage_security = false

# url of the key center, in format of ip:port, please refer to https://github.com/FISCO-BCOS/key-manager for details

# key_center_url =

# cipher_data_key =



    [agency.rpc]

    deploy_ip=["192.168.229.190"]

    listen_ip="0.0.0.0"

    listen_port=20201

    thread_count=4



    [agency.gateway]

    deploy_ip=["192.168.229.190"]

    listen_ip="0.0.0.0"

    listen_port=30301

    peers=["192.168.229.189:30300", "192.168.229.190:30301"]



    [[agency.group]]

        group_id = "group0"

        

        [[agency.group.node]]

        node_name = "node0"

        deploy_ip = "192.168.229.190"

        # enable data disk encryption for bcos node or not, default is false

        enable_storage_security = false

        # url of the key center, in format of ip:port, please refer to https://github.com/FISCO-BCOS/key-manager for details

        # key_center_url =

        # cipher_data_key =

        monitor_listen_port = "3901"

        # monitor log path example:"/home/fisco/tars/framework/app_log/"

        monitor_log_path = ""

部署RPC服务

cd /opt/blockchain/fiscobcosV3/BcosBuilder/pro

部署并启动RPC服务

python3 build_chain.py chain -o deploy -t rpc

 

部署Gateway服务

cd /opt/blockchain/fiscobcosV3/BcosBuilder/pro

部署并启动Gateway服务

python3 build_chain.py chain -o deploy -t gateway

 

部署区块链节点服务

cd /opt/blockchain/fiscobcosV3/BcosBuilder/pro

部署并启动区块链节点服务

python3 build_chain.py chain -o deploy -t node

 

部署控制台

在192.168.229.190服务器上部署控制台

将192.168.229.189服务器目录下/opt/blockchain/fiscobcosV3/BcosBuilder/pro/generated/rpc/chain0/agencyBBcosRpcService/192.168.229.190/sdk/的证书拷贝到192.168.229.190服务器的/opt/blockchain/fiscobcosV3/console/conf目录下

cp -n config-example.toml config.toml

vi config.toml


[network]

messageTimeout = "10000"

defaultGroup="group0"                            # Console default group to connect

peers=["127.0.0.1:20201"]    # The peer list to connect

启动控制台,部署HelloWorld合约并执行合约。

./start.sh

至此,FiscoBcos v3.0.1 pro版 host网络模式部署成功!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于FiscoBcos v3.0.1 pro版的host网络模式集群环境搭建 的相关文章

随机推荐

  • BeanCreationException: Error creating bean with name ‘org.springframework.web.servlet.mvc.method.ann

    BeanCreationException Error creating bean with name org springframework web servlet mvc method annotation ExceptionHandl
  • 测试中

    root ubu blockchain2 ll total 44 drwx 5 root root 4096 Aug 4 09 48 drwxr xr x 23 root root 4096 Jul 26 11 26 rw r r 1 ro
  • MVC模式实现学生信息管理

    MVC全名是Model View Controller 是模型 model 视图 view 控制器 controller 的缩写 一种软件设计典范 用一种业务逻辑 数据 界面显示分离的方法组织代码 将业务逻辑聚集到一个部件里面 在改进和个性
  • Markdown表格-换行、合并单元格

    文章目录 1表格中对其 换行处理 1 1 一般我们都会这样用表格如下 1 2 当然这里也可以通过设置 左对齐 右对齐 1 3 实现表格内容换行 2 合并表格 2 1 合并表格行 2 2 合并表格列 2 3 综合实例 1表格中对其 换行处理
  • MyCat配置文件

    1 MyCat 配置文件简介 Mycat的架构其实很好理解 Mycat是代理 Mycat后面就是物理数据库 和 Web 服务器的 Nginx 类似 对于使用者来说 访问的都是Mycat 不会接触到后端的数据库 我们现在做一个主从 读写分离
  • 区块链改革杭州闭门会议——分享链改机遇,探讨价值联动!

    2018年8月19日14点 区块链改革 链改 闭门会暨链改超级节点 杭州 会议在杭州钱江新城华润大厦隆重召开 大会围绕 分享链改机遇 探讨价值联动 为主题 展开系列讨论 基于各界对区块链赋能实体经济的广泛共识 和区块链赋能实体经济场景的逐步
  • python计算距今时间

    计算距今时间 计算一个 ISO 8601 格式的时间字符串距离今天的天数 import datetime 定义时间字符串 time str 2023 08 03T09 30 29 359 08 00 解析时间字符串为datetime对象 d
  • 关于openldap/bdb的一些配置和维护的问题

    一 配置部份在基本配置完成之后 可以在slapd conf设置一些提高安全和效率的选项 cachesize 5000 checkpoint 1024 5 cachesize是ldap在内存中缓存的记录条数 这个缓存是openldap自己维护
  • GMTC分享——当插件化遇到 Android P

    转自 https blog csdn net xinzhou201 article details 80881604 GMTC分享 当插件化遇到 Android P 手机京东技术团队 2018 06 30 举报 前言 Android P 来
  • 用Python写爬虫就很low?你赞同嘛?

    之前换了份工作 不再是单纯的Web开发了 要学习的东西真的挺多的 入职的第1天 就让我入手写个爬虫 只是这个爬虫没有采集几个亿数据量的业务场景 之前换了份工作 不再是单纯的Web开发了 要学习的东西真的挺多的 入职的第1天 就让我入手写个爬
  • 总结flutter玩转之-flutter 调用安卓原生view(使用AndroidView)

    总结flutter玩转之 fluuter 调用安卓原生view 使用AndroidView 1 假设你已经熟悉fluuter 开发熟悉dart 语言 android 原生开发技能 1 在安卓原生项目添加代码 1 创建一个原生view 比如说
  • 什么是MIPI接口

    什么是MIPI接口 摘要 随着客户要求手机摄像头像素越来越高同时要求高的传输速度传统的并口传输越来越受到挑战 提高并口传输的输出时钟是一个办法但会导致系统的EMC设计变得越来困难增加传输 手机摄像头MIPI技术介绍 随着客户要求手机摄像头像
  • Postgresql一行变多行unnest与string_to_array,多行变一行string_agg

    Postgresql一行变多行unnest与string to array 多行变一行string agg 1 源码 创建表 create table tb id int value varchar 30 插入数据 insert into
  • vscode c++ string报错ERROR: Unable to start debugging. Unexpected GDB output from command “-exec-run“.

    尝试用vscode配值c 环境 配通之后可以hello world了 但是cout string类型的变量时总是闪退 看了下调试控制台上报错 ERROR Unable to start debugging Unexpected GDB ou
  • BI开发步骤

    BI开发如何快速接入 在数据中台项目中 我们会频繁接触BI工具并需要进行开发接入 BI工具种类繁多 因此如果能快速学习完成开发 则能大大提升效率 1 BI工具通用的开发步骤 数据源接入 数据集配置 分为常规数据集和SQL数据集 仪表盘配置
  • C语言游戏---小猫钓鱼

    A和B两个同学玩简单的纸牌游戏 每人手里有n张牌 两人轮流出牌并依次排列在桌面上 每次出掉手里的第1张牌 出牌后如果发现桌面上有跟刚才打出的牌的数字相同的牌 则把从相同的那张牌开始的全部牌按次序放在自己手里的牌的末尾 当一个人手中的牌先出完
  • 将开源clucene引擎编译成动态库

    本章介绍如何将clucene编译成动态库 开发桌面级的全文检索引擎 1 准备工具 编译平台 windows 10 代码编译工具 vs2010 CMake版本 cmake 3 17 1 win64 x64 源代码版本 clucene core
  • C++ 模板类和友元

    模板类的友元分三类 1 非模板友元 2 约束模板友元 即友元的类型取决于类被实例化时的类型 3 非约束模板友元 即友元的所有具体化都是类的每一个具体化的友元 1 模板类的非模板友元函数 count 函数不是通过对象调用的 它是友元不是成员函
  • QT中css样式

    QLabel 字体左对齐 QLabel qproperty alignment AlignLeft 字体居中 QLabel qproperty alignment AlignCenter 字体右对齐 QLabel qproperty ali
  • 基于FiscoBcos v3.0.1 pro版的host网络模式集群环境搭建

    安装软件 更新 最新版本系统软件 yum update y 安装docker yum install y yum utils device mapper persistent data lvm2 设置yum源 yum config mana