热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Fabric1.4.1etcdraft模式部署

Fabricetcdraft模式部署配置要求以下信息仅供参考系统环境(Centos7.5)Docker版本(19.03.12)Docker-compose版本(1.24.0)Fab

Fabric etcdraft模式部署

配置要求

以下信息仅供参考



  1. 系统环境(Centos 7.5)

  2. Docker版本(19.03.12)

  3. Docker-compose版本(1.24.0)

  4. Fabric版本(1.4.1): Source code(zip)

  5. Fabric工具版本: hyperledger-fabric-linux-amd64-1.4.1

  6. 私有域名服务器(如果没有的话则需要在节点启动配置中添加extra_hosts)搭建可参考https://www.cnblogs.com/jockming/p/12970343.html

  7. 私有域名服务器添加解析记录(a记录)的客户端程序: minidns

  8. 需要项目部署文件请进群(537487044)@群主

PS:注意要修改免密脚本中的服务器ip和密码


准备工作(所有主机)

# 进入home目录,没有就自行创建
cd /home
# 1. 各个节点安装zip解压工具
yum install -y unzip zip
# 2. 安装dos2unix格式转换工具(因为windows下的换行符与linux下的换行符不同)
yum install -y dos2unix
# 3. 安装文件上传工具
yum install -y lrzsz
# 4. 添加域名服务器地址(域名私服--目前只解析a记录)
vim /etc/resolv.conf
#云主机里面原本的域名服务器地址不要动,直接换行新增下面的这两条记录
#主DNS服务器
nameserver 192.168.1.110
#备DNS服务器(国内的)
nameserver 114.114.114.114
# 重启网络管理器来刷新配置
systemctl restart NetworkManager
# PS:注意.env文件(环境变量配置)etcdraft模式下必须开启tls

防火墙设置(可选操作,方便手动修改防火墙)

# 单独添加
firewall-cmd --zOne=public --permanent --add-port=22/tcp
# 防火墙设置(根据实际情况修改端口)
firewall-cmd --zOne=public --permanent --add-port=7050/tcp --add-port=7051/tcp --add-port=7053/tcp --add-port=8050/tcp --add-port=9050/tcp
# 重新载入
firewall-cmd --reload
# 查看所有开放的端口
firewall-cmd --zOne=public --list-ports
# 开启开机启动
systemctl enable firewalld
# 防火墙状态
systemctl status firewalld
# 启动防火墙
systemctl start firewalld
# 重启防火墙
systemctl restart firewalld
# 关闭防火墙
systemctl stop firewalld

在fabric1上执行的操作 --- 192.168.1.111

# 1. 使用rz命令上传部署文件或者使用Filezilla客户端上传文件
rz
# 2. 解压脚本并移除zip包
unzip fabric-etcdraft_1.4.1_Release.zip && rm -rf fabric-etcdraft_1.4.1_Release.zip
# 3. 可执行文件赋权和脚本格式转换
chmod +x ./bin/* && chmod +x ./*.sh
dos2unix ./*.sh
# 4. 执行初始化环境的脚本(如果拉取镜像失败请单独执行脚本[./docker_pull_fabric_images.sh])
./init_fabric_environment.sh
# 5. 执行免密登陆脚本(节点配置在脚本中)
./passwordless.sh
# 6. 执行配置生成脚本(成员证书,创世区块,通道配置,锚节点更新文件)
./generate_config.sh
# 7. 返回到home目录
cd /home
# 8. 压缩配置准备分发到其他节点(如果使用tar的话:tar -cvf fabric-etcdraft.tar ./fabric-etcdraft/)
zip -r fabric-etcdraft_1.4.1_Release.zip ./fabric-etcdraft_1.4.1_Release/
# 9. 分发配置(由于前面执行了免密脚本,这里不用输入密码)
scp -r fabric-etcdraft_1.4.1_Release.zip root@192.168.1.112:/home
scp -r fabric-etcdraft_1.4.1_Release.zip root@192.168.1.113:/home
# 10. 启动orderer0
docker-compose -f ./docker-compose-tld-orderer.yaml up -d orderer0.example.com
# 11. 启动ca-org1
docker-compose -f ./docker-compose-tld-ca.yaml up -d ca-org1

在fabric2上执行操作 --- 192.168.1.112

# 1. 进入home
cd /home
# 2. 解压脚本并移除zip包
unzip fabric-etcdraft_1.4.1_Release.zip && rm -rf fabric-etcdraft_1.4.1_Release.zip
# 3. 可执行文件赋权和脚本格式转换
chmod +x ./bin/* && chmod +x ./*.sh
dos2unix ./*.sh
# 4. 执行初始化环境的脚本(如果拉取镜像失败请单独执行脚本[./docker_pull_fabric_images.sh])
./init_fabric_environment.sh
# 5. 启动orderer1
docker-compose -f ./docker-compose-tld-orderer.yaml up -d orderer1.example.com
# 6. 启动peer0org1
docker-compose -f ./docker-compose-tld-peer.yaml up -d peer0.org1.example.com

在fabric3上执行操作 --- 192.168.1.113

# 1. 进入home
cd /home
# 2. 解压脚本并移除zip包
unzip fabric-etcdraft_1.4.1_Release.zip && rm -rf fabric-etcdraft_1.4.1_Release.zip
# 3. 可执行文件赋权和脚本格式转换
chmod +x ./bin/* && chmod +x ./*.sh
dos2unix ./*.sh
# 4. 执行初始化环境的脚本(如果拉取镜像失败请单独执行脚本[./docker_pull_fabric_images.sh])
./init_fabric_environment.sh
# 5. 启动orderer2
docker-compose -f ./docker-compose-tld-orderer.yaml up -d orderer2.example.com
# 6. 启动peer1org1
docker-compose -f ./docker-compose-tld-peer.yaml up -d peer1.org1.example.com

sdk交互

1. 将crypto-config目录和channel-artifacts目录打包下载到sdk的目录中
2. 创建通道(节点加入通道,更新锚节点配置<可选>)
3. 节点安装链码和实例化链码
4. 调用链码


推荐阅读
  • # 运维小白的成长日记第七天OSI七层传输层/应用层精讲!
    运维小白的成长日记第七天-OSI七层传输层应用层精讲!1、IP提供了点到点的连续接,通过IP地址可以找到目标主机。但是目标主机有很多应用,服务器到底使用哪个应用来响应客户端?通过端 ... [详细]
  • 基于name-based基于IP基于port结合一、基于名称(name-based)需要配置hosts,httpd.conf实验环境需求:2个域名:www1.example.com ... [详细]
  • maven 阿里云节点,速度快
    修改maven根目录下的conf文件夹中的setting.xml文件.http:maven.aliyun.comOSChina谷歌Google开源中国- Nexusosc更新频率据 ... [详细]
  • 题目链接:https:vjudge.netcontest103424#problemI转载于:大牛博客题目大意:有n个货物,并且知道了每个货物的重量,每次用载重量分别为c1, ... [详细]
  • https:developers.weixin.qq.comminiprogramdevapinetworksocket.htmlwxconnectsocke ... [详细]
  • 图基本概念及操作
    图基本概念及操作一、思维导图二、重要概念笔记1.图的定义图(Graph)G由顶点集合V(G)和边集合E(G)构成。图可分为有向图和无向图。2.图的存储结构一、邻接矩阵:二、邻接表; ... [详细]
  • 自定义video样式
    和朋友聊天说到了video自定义样式问题,今天抽空简单试验了一下,下面贴上代码。dom结构如下:js代码如下:实现效果如下:如有表述不准确之处,欢迎指正,欢迎补 ... [详细]
  • OSI七层模型03——数据封装
    ![](http:i2.51cto.comimagesblog20180920135ff2bc38a2395f0a8c7cebcc5d5bbb.jpg?x-oss-processi ... [详细]
  • 一、基础技术选型C#.NET3.54.0这两个版本的.NET已经相当方便(Linq,Lambda,Parallel),语法简洁,配合WCF和WF两项技术,可以满足快速开发,维护 ... [详细]
  • ARM LCD屏调试3屏的应用编程
    2011-06-2519:20:47驱动自己写完了,应用函数自己就不写了,找了一点代码参考,移植并修改了一下,配合之前的定义的接口文档,我贴出部分代码。目录:一,开发环境1二 ... [详细]
  • web前端菜鸟如何升级到大神(转载)标签:web前端web前端菜鸟如何升级到大神(转载)标签:web前端随着互联网的发展速度迅猛,web前端工程师越来越火热,想学习Web前端开发吗 ... [详细]
  • --查看当前已有的用户SELECTUsernameFROMdba_users;--创建临时CREATEUSERgzmpcIDENTIFIEDBYPASSWORD;--授权GRANT ... [详细]
  • 1、dt视图结构内容dt+结构名要么dt+结构名+住址kddt_object_headernt!_OBJECT_HEADER+0x000PointerCount:Int4B+0x ... [详细]
  • Javascript的模块化编程Javascript在设计之初并没有提供一种原生的,语言级别的模块化方式来组织代码,比如Java语言通过package和import来管理和使用模块 ... [详细]
  • 来看看倒排索引压缩。压缩是拿CPU换IO的最重要手段之一,不论索引是放在硬盘还是内存中。索引压缩的算法有几十种,跟文本压缩不同,索引压缩算法不仅仅需要考虑压缩率,更要考虑压缩和解压 ... [详细]
author-avatar
直拍之横打
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有