【2020初春】【区块链】Hyperledger Fabric 超详细版环境搭建 CentOS

之前在单机虚拟机的Ubuntu系统上搭建了fabric,本次准备在三台远程虚拟机上搭建多机fabric网络,系统为centOS,需要先在三个机器上分别运行通fabric网络,再进行配置文件的修改

【2020初春】【区块链】Hyperledger Fabric 环境搭建及报错 Ubuntu

centOS的安装命令与Ubuntu不同(报错很少,怀疑是我本机的虚拟机太烂了)
安装1.0.0版本

安装go

位置:usr/local/
下载go包,解压

tar -xvzf go1.14.6.linux-amd64.tar.gz

设置环境变量

vim /etc/profile

export PATH=$PATH:/usr/local/go/bin 
export GOROOT=/usr/local/go 
export GOPATH=$HOME/go 
export PATH=$PATH:$HOME/go/bin

应用

source /etc/profile

回到根目录 ,创建go文件夹(注意路径,要和自己的环境变量匹配)

cd ~ 
mkdir go 

安装docker-ce

一条条语句依次执行

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
sudo yum -y install docker-ce
sudo systemctl start docker
sudo systemctl enable docker

安装docker-compose
docker-ce 和docker-compose都是在看了很多个之后选择靠谱的使用,没出什么问题

sudo curl -L https://github.com/docker/compose/releases/download/1.20.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

创建目录
个人手打,有点繁琐

cd ~/go/src
mkdir github.com
cd github.com
mkdir hyperledger
cd hyperledger

获取fabric源码

yum install git
git clone https://github.com/hyperledger/fabric.git
cd ~/go/src/github.com/hyperledger/fabric
git checkout v1.0.0

拉取镜像

cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0

补充缺少的三个镜像,baseimage;baseos ;membersrvc;

docker pull hyperledger/fabric-baseimage:x86_64-0.4.7
docker pull hyperledger/fabric-baseos:x86_64-0.4.7
docker pull hyperledger/fabric-membersrvc:latest

测试

先在fabric文件夹下生成所需要文件,方便查找错误

make cryptogen
./network_setup.sh up
./network_setup.sh down

在centOS的配置过程中出现的问题及解决

1.centOS要使用yum,不能用apt,所以Ubuntu的语句不能拿来直接用,需要找到合适的语句
2.运行cryptogen时缺少GCC 和 ltdl,下载语句

sudo yum install -y gcc gcc-c++ kernel-devel
sudo yum install -y python-devel libxslt-devel libffi-devel openssl-devel
yum install libtool-ltdl-devel

3.之前Ubuntu启动遇到的两个问题centOS里并没有遇到,不要想当然的就先修改
其中一个节点遇到了
CRIT 004 Error on outputBlock:Error writing genesis block:open ./channel-artifacts/get:is a directory
还是因为重复运行出错的事,删除重新生成即可

三台机器完全按照这个语句顺序,顺利启动网络

你可能感兴趣的:(2020初春,区块链)