Fabric1.4.1 etcdraft模式部署

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. 调用链码
posted @ 2020-07-13 18:56  itwetouch  阅读(902)  评论(0编辑  收藏  举报