热门标签 | 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. 调用链码


推荐阅读
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • C#设计模式学习笔记:观察者模式解析
    本文将探讨观察者模式的基本概念、应用场景及其在C#中的实现方法。通过借鉴《Head First Design Patterns》和维基百科等资源,详细介绍该模式的工作原理,并提供具体代码示例。 ... [详细]
  • Appium + Java 自动化测试中处理页面空白区域点击问题
    在进行移动应用自动化测试时,有时会遇到某些页面没有返回按钮,只能通过点击空白区域返回的情况。本文将探讨如何在Appium + Java环境中有效解决此类问题,并提供详细的解决方案。 ... [详细]
  • 如何清除Chrome浏览器地址栏的特定历史记录
    在使用Chrome浏览器时,你可能会发现地址栏保存了大量浏览记录。有时你可能希望删除某些特定的历史记录而不影响其他数据。本文将详细介绍如何单独删除地址栏中的特定记录以及批量清除所有历史记录的方法。 ... [详细]
  • 利用Selenium与ChromeDriver实现豆瓣网页全屏截图
    本文介绍了一种使用Selenium和ChromeDriver结合Python代码,轻松实现对豆瓣网站进行完整页面截图的方法。该方法不仅简单易行,而且解决了新版Selenium不再支持PhantomJS的问题。 ... [详细]
  • 解决TensorFlow CPU版本安装中的依赖问题
    本文记录了在安装CPU版本的TensorFlow过程中遇到的依赖问题及解决方案,特别是numpy版本不匹配和动态链接库(DLL)错误。通过详细的步骤说明和专业建议,帮助读者顺利安装并使用TensorFlow。 ... [详细]
  • 探索新一代API文档工具,告别Swagger的繁琐
    对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
  • 本文探讨了在构建应用程序时,如何对不同类型的数据进行结构化设计。主要分为三类:全局配置、用户个人设置和用户关系链。每种类型的数据都有其独特的用途和应用场景,合理规划这些数据结构有助于提升用户体验和系统的可维护性。 ... [详细]
  • Linux中的yum安装软件
    yum俗称大黄狗作用:解决安装软件包的依赖关系当安装依赖关系的软件包时,会将依赖的软件包一起安装。本地yum:需要yum源,光驱挂载。yum源:(刚开始查看yum源中的内容就是上图 ... [详细]
  • 气象对比分析
    本文探讨了不同地区和时间段的天气模式,通过详细的图表和数据分析,揭示了气候变化的趋势及其对环境和社会的影响。 ... [详细]
  • 精致小屏灰色风格苹果CMS v10模板,支持DIY主题管理系统
    探索一款专为影视站设计的苹果CMS v10模板,具备强大的主题管理系统和500多个设置项,无需二次开发即可轻松配置。下载地址:https://www.mytheme.cn/maccms/244.html,演示地址:http://demo.mytheme.cn/index.php?id=244。 ... [详细]
  • 探讨 HDU 1536 题目,即 S-Nim 游戏的博弈策略。通过 SG 函数分析游戏胜负的关键,并介绍如何编程实现解决方案。 ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • 深入理解ExtJS:从入门到精通
    本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ... [详细]
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社区 版权所有