区块链架构-fabric单机测试版安装运行(centos7版本)

一、环境搭建

1.1内核升级

[root@localhost ~]# cat /etc/centos-release
CentOS release 6.4 (Final)

1.1.2查看内核

[root@localhost ~]# uname -r2.6.32-358.el6.x86_64

1.1.3首先你要做的就是导入public key

[root@localhost ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
为什么要先导入它? 答:elrepo是CentOS十分有用的稳定的软件源,与其他软件源不一样的是,这个第三方源主要是提供硬件驱动、内核更新方面的支持,
如显卡、无线网卡、内核等等,现在已经支持centos7.x+,更新较快

1.1.4然后安装ELRepo到CentOS-7.x中

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

1.1.5查找仓库中可用系统内核

yum --disablerepo=“*” --enablerepo=“elrepo-kernel” list available

1.1.6安装最新主线稳定内核

yum --enablerepo=elrepo-kernel install kernel-ml

1.1.7查看可使用的内核

cat /boot/grub2/grub.cfg |grep menuentry

1.1.8替换要使用的内核

grub2-set-default ‘CentOS Linux (4.17.12-1.el7.elrepo.x86_64) 7 (Core)’

1.1.9查看内核启动项是否设置成功

grub2-editenv list

1.1.10查询系统中所有的内核

rpm -qa | grep kernel

1.1.11删除以前的内核

yum remove kernel-tools-3.10.0-693.el7.x86_64 kernel-tools-libs-3.10.0-693.el7.x86_64 kernel-3.10.0-693.el7.x86_64

1.1.12重启

reboot

1.2安装go

1.2.1下载go,解压缩

$cd /opt
$wget https://studygolang.com/dl/golang/go1.10.3.linux-amd64.tar.gz
$tar -xvf go1.10.3.linux-amd64.tar.gz

1.2.2配置环境变量

$ mkdir -p /opt/go
$ mkdir -p /opt/gopath
$ vi /etc/profile
$ export GOROOT=/opt/go
$ export GOPATH=/opt/gopath
$ export PATH= P A T H : PATH: PATH:GOROOT/bin:$GOPATH/bin
$ source /etc/profile

1.3安装python-pip组件,

常用工具,为安装docker,docer-compose做准备
$ yum install -y epel-release
$ yum install -y yum-utils device-mapper-persistent-data lvm2 python-pip wget curl git gcc-c++ readline-devel zlib-devel gcc tree
$ pip install --upgrade pip

1.4安装docker及docker-compose

1.4.1安装必要的一些系统工具

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

1.4.2添加软件源信息

$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
如果yum源是阿里云,这里下载必须也是阿里云的证书,否则无法启动

1.4.3更新并安装 Docker-CE

$ sudo yum makecache fast
$ sudo yum -y install docker-ce

1.4.4安装docker-compose

$ pip install docker-compose
1.4.5开启Docker服务
$ sudo service docker start

1.5 fabric源码,二进制文件及镜像下载

1.5.1下载源码&执行文件&镜像

安装Fabric可以选择直接使用官方准备好的二进制文件和Docker镜像,由于Docker的便利性及流行度,我们这里也选择Docker镜像方式(包括生产环境)
注意:安装部署阶段不要去使用源码进行自行编译的文件及镜像,请直接使用官方准备好的二进制文件及Docker镜像
官方脚本获取:可以从github上获取
我们把源码下载到 G O P A T H 目录下,在 GOPATH目录下,在 GOPATH目录下,在GOPATH路径下先新建如下目录
$ mkdir -p $GOPATH/src/github.com/hyperledger
#进入到创建的目录下
$ cd $GOPATH/src/github.com/hyperledger
从github上下载源代码
$ git clone https://github.com/hyperledger/fabric.git
进入fabric目录
$ cd fabric
查看当前分支情况
$ git branch -a
我们目前基于2.4学习,所以需要切换到2.4分支
$ git checkout release-2.4
在Fabric源码的scripts文件夹下有一个bootstrap.sh文件,负责镜像及平台相关二进制文件工具下载
由于目前fabric的最新Release版本是2.5,该脚本文件默认匹配到该版本

  • 如果不需要源码,也可以只下载必要的脚本
    https://github.com/hyperledger/fabric/blob/release-2.4/scripts/bootstrap.sh
    将其下载下来即可。
    以上步骤准备好之后,我们便可以通过脚本下载我们需要的负责镜像及平台相关二进制文件了。

1.5.2下载二进制文件及镜像

进入scripts目录
$ cd scripts
找到bootstrap.sh文件添加可执行权限
添加执行权限
$ chmod +x bootstrap.sh
#下载平台二进制文件及2.4版本镜像文件,网速不好的话可能耗时较长
$ sh bootstrap.sh
脚本执行成功后,我们可以通过docker images命令,查看下载的镜像文件。
通过上述下载后,目录下会得到一个bin文件夹,把bin的路径添加到环境变量中,方便使用
$ vim /etc/profile
#在profile文件最后添加如下代码,替换成你自己的下载路径
export PATH=$PATH:/opt/gopath/src/github.com/hyperledger/fabric/scripts/bin

使配置生效

$ source /etc/profile
PS:由于网络环境问题,在执行这个脚本过程中,可能第一步下载二进制文件会失败,此时可以忽略,脚本在超时后会自动跳过并下载镜像文件,完成后使用如下命令下载二进制文件:
$ wget https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-2.4/hyperledger-fabric-linux-amd64-2.4.tar.gz
然后解压至你需要的目录,比如/opt/gopath/src/github.com/hyperledger/fabric/scripts/bin
通过以上操作,我们顺利获取到了需要的二进制文件及Docker镜像。

二、单机部署手册

这里会用到官方一个示例项目:fabric-samples,我们会用到里面的一个“first-network”示例配置。
同样,该项目也在github上为我们准备好,先将其下载。

2.1下载fabric-samples项目

进入$GOPATH/src/github.com/hyperledger目录执行下面的命令
$ git clone https://github.com/hyperledger/fabric-samples.git
进入fabric-samples目录
$ cd fabric-samples
查看当前分支情况
$ git branch -a
#需要和我们下载的fabric版本匹配,所以切换到2.4分支
$ git checkout release-2.4
把之前下载的二进制文件目录拷贝至当前目录下
$ cp -r /opt/gopath/src/github.com/hyperledger/fabric/scripts/bin/ .
进入first-network
$ cd first-network
目前fabric-samples已经下载完成,接下来我们通过执行官方准备好的脚本来构建第一个Fabric网络

2.2构建测试网络

#行示例代码中提供的构建脚本生成orderer创始块配置及网络相关节点的证书等
$ sh byfn.sh -m generate
成功执行上述命令后,会在当前目录下生成一个crypto-config文件夹,里面包含了根据crypto-config.yaml配置的节点和组织的证书和密钥。同时在channel-artifacts目录下会生成默认的通道及创世区块、两个组织的锚节点配置文件,这些都是后面启动网络所必须的。
(顺便提一下,byfn含义:“Build Your First Network” )
更多byfn支持的选项,可通过./byfn.sh --help 查看所有的命令选项
接下来正式启动Fabric网络(根据配置,该网络为单机双组织四节点)
$ ./byfn.sh -m up
查看运行的容器实例:
$ docker ps
会看到例如:hyperledger/fabric-peer:latest、hyperledger/fabric-orderer:latest等容器实例。
#也可以查看各容器的日志,观察运行状况
$ docker logs -f $container_name

3、关闭测试网络

有启动,必然有关闭,脚本也提供了关闭服务的命令
#停止网络命令 - 会停止所有的服务,并删除相关生成的节点或组织证书/秘钥等
$ ./byfn.sh -m down

猜你喜欢

转载自blog.csdn.net/wj8023/article/details/126572943
今日推荐