Hyperledger Fabric1.4环境搭建及示例测试
环境采用Centos7 64位操作系统。首先需要安装3个基本环境Docker、Docker-Compose、Go语言环境安装,最后Fabric安装。一.安装Dokcer1.安装前准备检查内核版本,要在3以上# uname -r2.如果以前安装过Docker# yum remove docker \docker-client \docker-client-latest \docker-common
之前搭建过Fabric1.1版本,这次搭建1.4版本同时写了这篇博文,其中有我个人踩坑的解决方案和思考。
安装前说明
Centos7 64位操作系统。
需要安装3个基本环境Docker、Docker-Compose、Go语言环境安装,之后下载Fabric源码,最后测试网络
检查服务器内核版本,要在3以上
uname -r
一.安装Dokcer
1.删除旧Docker
如果以前安装过docker,删除原来的
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
2.安装软件包
//安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
//添加docker yum 源
//方法一:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
//方法二:(直接执行安装docker命令会很慢。配置国内的源——阿里云的源。)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安装docker
我使用的版本是20.10.12
yum install docker-ce-20.10.12 docker-ce-cli-20.10.12 containerd.io
4.运行docker
//设置开机自启
systemctl start docker
docker --version //查看版本
二.安装Docker-Compose
1.下载docker-compose到指定目录
下载到/usr/local/bin/docker-compose目录下。
docker compose 官方推荐的下载方式是这样:
curl -L
“https://github.com/docker/compose/releases/download/1.24.0/docker-compose- ( u n a m e − s ) − (uname -s)- (uname−s)−(uname -m)” -o /usr/local/bin/docker-compose
上面的方法下载太慢了,不推荐
推荐使用国内地址
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
2设置docker-compose目录的权限
chmod +x /usr/local/bin/docker-compose
3.检查是否安装成功
docker-compose --version
三.Go语言安装
1.从国内站点下载安装包,版本在1.11.x以上
wget https://studygolang.com/dl/golang/go1.12.4.linux-amd64.tar.gz
2.解压到/usr/local/go目录下
-C :表示指定解压目录
mkdir /opt/golang
tar -zxvf go1.12.4.linux-amd64.tar.gz -C /opt/golang
在golang/下会自动创建一个go目录,无需自己创建
3.配置环境变量
在/etc/profile文件末尾添加环境变量
mkdir /opt/gopath // 创建go工作目录
vi /etc/profile //在文件末尾添加
export GOPATH=/opt/gopath
export GOROOT=/opt/golang/go
export PATH=$GOROOT/bin:$PATH
使其立即生效
source /etc/profile
4.查看版本
go version
四.Fabric安装
1.创建目录并进入
mkdir -p $GOPATH/src/github.com/hyperledger
cd $GOPATH/src/github.com/hyperledger
还需要借助git工具,因此还要下载git
yum install git
2.下载源码
方法一:(不推荐)直接下载github上的源码
git clone https://github.com/hyperledger/fabric.git
可能下载失败,出现RPC failed错误,原因是git的curl的postBuffer默认值较小。解决方法:修改git传输字节限制,再重新下载
//修改git传输字节限制
git config –global http.postBuffer 524288000
方法二:(推荐)通过码云地址下载
用自己的码云从github账号上导入,具体方法见:https://blog.csdn.net/weixin_44732379/article/details/108639787
这里可以直接用我的地址,下载到完成不过一分钟
git clone https://gitee.com/fireflies-glimmer/fabric.git
3.查看并切换当前分支,我选择的是1.4.0版本
cd ./fabric
git branch -a
git checkout v1.4.0
五.安装Fabric-sample示例
方法一.脚本下载
进入fabric/scripts目录可以看到一个bootstrap.sh脚本
直接执行bootstrap.sh脚本
bash bootstrap.sh
此处执行时间比较久,中间可能会断开,参考过其他一些文章说重新执行,亲测无效,如下图。
其实脚本帮我们干了几件事:
- 从 github.com 克隆 hyperledger/fabric-samples 存储库
- 使用 checkout 签出对应指定的版本标签;
- 将二进制文件(bin)和配置文件(config)安装到 fabric-samples 存储库的根目录中;
- 下载指定版本的 Hyperledger Fabric Docker 镜像文件,将下载的 Docker 镜像文件标记为 “lastest"。
方法二.(推荐) 手动下载
通过对脚本的分析我们可以手动下载,主要完成三个步骤
1.下载fabric-samples
与下载fabric源码同理,这里我使用自己的码云地址
git clone -b v1.4.0 https://gitee.com/fireflies-glimmer/fabric-samples.git
cd fabric-samples
git checkout v1.4.0 //切换版本
注意: fabric-samples目录与fabric目录同级!
2.下载二进制文件
需要下载两个压缩包,选择相应版本下载,我的网盘链接:(永久有效)
链接:https://pan.baidu.com/s/1hGH7-aGkCxX8eN3WnATSiw
提取码:xrve
压缩文件hyperledger-fabric-linux-amd64-1.4.0.tar包含bin和 config 两个文件夹
hyperledger-fabric-ca-linux-amd64-1.4.0.tar包含bin文件夹
将压缩包上传并解压到fabric-sample目录下
tar -zxvf hyperledger-fabric-linux-amd64-1.4.0.tar
tar -zxvf hyperledger-fabric-ca-linux-amd64-1.4.0.tar
3.下载镜像
先配置加速镜,不然下载很慢
# mkdir -p /etc/docker
# tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://8w1wqmsz.mirror.aliyuncs.com"]
}
EOF
# systemctl daemon-reload
# systemctl restart docker
将 fabric/scripts 目录下的 bootstrap.sh 脚本,复制到fabric-sample目录下
删除 bootstrap.sh文件中的samplesInstall 和 binariesInstall 步骤,保留镜像下载的步骤。
执行 bootstrap.sh 脚本:
$ ./bootstrap.sh 1.4.0 1.4.0 0.4.15
下载好了会列出镜像:
测试网络
1.4版本的e2e案例被移除,所以测试网络使用fabric-samples 中的 first-network
启动网络
cd ./fabric-samples/first-network/
./byfn.sh up
出现以上结果表示网络测试成功
docker ps命令可以查看到节点的启动情况
最后别忘了关闭网络
./byfn.sh down
参考文章:
[1]https://www.icode9.com/content-1-180278.html
[2]作者:灵·龙 https://www.cnblogs.com/llongst/p/9482038.html
[3]作者:zongmin https://blog.csdn.net/qq_34680444/article/details/87257141
更多推荐
所有评论(0)