VMware + Centos 7下安装Hyperledger Fabric

本文介绍了在VMware 14 PRO + Centos 7环境下搭建Fabric所需工具的详细步骤,包括Docker-ce、docker-compose、go语言、node.js、npm的安装,还说明了下载fabric源码及开启客户端的过程,并针对搭建中可能遇到的问题给出了解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 工具: VMware 14 PRO + Centos 7

1、Fabric所需的工具:

   Docker-ce;

   Docker-compose;

   nodejs(gcc编辑器)

2、Docker-ce安装:

(1)安装所需要的依赖包

[root@bogon ~]# yum install -y yum-utils device-mapper-persistent-data

(2)配置稳定的仓库

[root@bogon ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

(3)安装指定版本的docker-ce

[root@bogon ~]# yum list docker-ce --showduplicates | sort -r

[root@bogon ~]# yum install docker-ce-17.12.1.ce-1.el7.centos.x86_64

(4)启动docker以及开机自启动

[root@bogon ~]# systemctl start docker

[root@bogon ~]# systemctl enable docker

(5)查看docker版本

[root@bogon ~]# docker version

3、docker-compose安装

(1)首先检查是否安装python-pip

[root@bogon ~]# pip -v

(2)执行

[root@bogon ~]# yum -y install epel-release

(3)[root@bogon ~]# yum -y install python-pip

(4)对安装的pip进行升级

[root@bogon ~]#  pip install --upgrade pip

(5)检查pip安装

[root@bogon ~]# pip -V

(6)安装docker-compose

[root@bogon ~]# pip install docker-compose

(7)遇到的问题:

    1、安装jinja2

     下载jinja2

     wget https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz

    解压

   [root@bogon ~]# tar xvf Jinja2-2.7.3.tar.gz

    安装

    [root@bogon Jinja2-2.7.3]# python setup.py install

   2 安装pyudev

     安装git    [root@bogon ~]# sudo yum install git

    下载pyudev   [root@bogon ~]# git clone https://github.com/lunaryorn/pyudev.git

    进入 pyudev文件夹  [root@bogon ~]# cd pyudev

    安装  [root@bogon pyudev]# python setup.py install

   3 安装dnspython 

   下载dnspython [root@bogon~]# wget http://www.dnspython.org/kits/1.15.0/dnspython-1.15.0.tar.gz  

   解压  [root@bogon ~]# tar -zxvf dnspython-1.15.0.tar.gz 

   进入  [root@bogon ~]# cd dnspython-1.15.0

   安装 [root@bogon dnspython-1.9.4]# python setup.py install 

   4 运行 [root@bogon dnspython-1.15.0]#  pip install --ignore-installed requests

             [root@bogon ~]# pip install docker-compose

   5 查看docker-compose版本  [root@bogon ~]# docker-compose version

4、安装go语言

(1)使用yum工具安装  [root@bogon ~]# yum install golang -y

(2)打开  etc/profile   [root@bogon ~]# vim /etc/profile

添加:export GOROOT=/usr/lib/golangexport GOPATH=/home

4)保存配置 [root@bogon ~]# source /etc/profile

(5)查看go环境 [root@bogon ~]# go env

5、安装node.js

(1)下载nodejs [root@bogon ~]# wget https://npm.taobao.org/mirrors/node/v9.9.0/node-v9.9.0.tar.gz

(2)解压 [root@bogon ~]#  tar -C /usr/local -xzf node-v9.9.0.tar.gz

(3)安装编译软件 [root@bogon ~]# yum install gcc gcc-c++

(4)查看编译软件版本 [root@bogon ~]# gcc -v

(5)4.8.5版本过低,若已为最新版请跳过至步骤,升级gcc,前往http://ftp.gnu.org/gnu/gcc/下载你想要的版本

(6)下载新版本[root@bogon ~]# wget http://ftp.gnu.org/gnu/gcc/gcc-8.1.0/gcc-8.1.0.tar.gz

(7)解压 [root@bogon ~]#  tar -C /usr/local -xzf gcc-8.1.0.tar.gz

(8)[root@bogon ~]# cd /usr/local/gcc-8.1.0

(9)[root@bogon gcc-8.1.0]#  ./contrib/download_prerequisites 

(10) [root@localhost gcc-8.1.0]# mkdir build && [root@localhost gcc-8.1.0]# cd build

(11)[root@localhost build]#  ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib  

(12)[root@localhost build]#  yum groupinstall "Development Tools"

(13)[root@localhost build]# make

(14)[root@localhost build]# make install

(15)重启系统

(16)查看gcc的版本 [root@localhost /]# gcc -v

(17)[root@localhost /]# cd /usr/local/node-v9.9.0/ 进入node安装的目录

(18)[root@bogon node-v9.9.0]# ./configure

(19)[root@bogon node-v9.9.0]# make

这是可能会遇到一个问题:

/usr/local/node-v9.9.0/out/Release/mksnapshot: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/local/node-v9.9.0/out/Release/mksnapshot)

/usr/local/node-v9.9.0/out/Release/mksnapshot: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/local/node-v9.9.0/out/Release/mksnapshot)

(20)运行下面的命令,查找最新安装的gcc动态库:

[root@bogon node-v9.9.0]# find / -name "libstdc++.so*"

(21)[root@bogon node-v9.9.0]# cp /usr/local/gcc-8.1.0/build/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.25 /usr/lib64

(22)[root@bogon node-v9.9.0]# cd /usr/lib64

(23)[root@bogon lib64]# rm -rf libstdc++.so.6

(24)[root@bogon lib64]# ln -s libstdc++.so.6.0.25 libstdc++.so.6

(25)[root@bogon lib64]# strings /usr/lib64/libstdc++.so.6 | grep GLIBC

(26)[root@localhost /]# cd /usr/local/node-v9.9.0/

(27)[root@bogon node-v9.9.0]# make

(28)[root@bogon node-v9.9.0]# make install

(29)[root@bogon node-v9.9.0]# node -v

6、安装npm

(1)[root@bogon node-v9.9.0]#  npm install npm -g

(2)[root@bogon /]# npm -v

7、下载fabric源码

(1)[root@bogon /]# mkdir -p $GOPATH/src/github.com/hyperledger

(2)[root@bogon /]# cd $GOPATH/src/github.com/hyperledger

(3)[root@bogon hyperledger]# git clone https://github.com/hyperledger/fabric.git

如果连接不到网站运行

[root@bogon hyperledger]# systemctl stop firewalld

(4)[root@bogon hyperledger]# cd fabric

(5)[root@bogon fabric]# git checkout v1.0.0

(6)[root@bogon fabric]# cd examples

(7)[root@bogon examples]# cd e2e_cli

(8)[root@bogon e2e_cli]#  source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0

(9)[root@bogon e2e_cli]# docker images

(10)开启fabric客户端

[root@bogon e2e_cli]# ./network_setup.sh up

如果出现以下问题

Creating network "e2e_cli_default" with the default driver

ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule:  (iptables failed: iptables --wait -t nat -I DOCKER -i br-fd4ac061fe5d -j RETURN: iptables: No chain/target/match by that name.

需要重开docker服务

[root@bogon e2e_cli]# ./network_setup.sh down

[root@bogon e2e_cli]#systemctl restart docker

[root@bogon e2e_cli]# ./network_setup.sh up

如果之后遇到

Error: Error endorsing chaincode: rpc error: code = Unknown desc = Error starting container: API error (404): {"message":"network e2ecli_default not found"}
[root@bogon e2e_cli]# cd base

[root@bogon base]# vim peer-base.yaml

修改:- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2e_cli_default

[root@bogon e2e_cli]# ./network_setup.sh down

[root@bogon e2e_cli]# ./network_setup.sh up

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值