• 006/搭建fabric(二)


    准备vmware虚拟机,并安装完ubuntu系统后。继续搭建fabric运行环境。。。

    0。打开终端,切换root身份。目的:后续操作即可不用sudo...

    右键-》open Terminal-》

    //默认root用户是无固定密码的,并且是被锁定的,如果想给root设置一个密码
    sudo passwd root
    //输入密码 & 确认密码
    
    //切换root用户
    su root
    //输入密码即可--root
    
    //切换为普通用户
    su username      //eg:su yufeng

    1。安装GIT

    apt-get install git  //安装git

    git version //查看版本号

    2。安装docker 和 docker-compose(必须)

    //1.卸载旧版本的Docker
    //旧版本的Docker被称作docker或者docker-engine,Docker CE(社区版)包现在被叫做docker-ce。如果之前安装过了,需要先卸载:
    
    apt-get remove docker docker-engine docker.io
    
    //2。使用存储库安装docker
    
    (一)。设置存储库
    
    //【1】.更新apt安装包索引
    
    apt-get update
    
    //【2】。安装软件包以允许apt通过HTTPS使用存储库:
    
    apt-get install 
        apt-transport-https 
        ca-certificates 
        curl 
        software-properties-common
    
    //【3】。添加Docker官方的GPG密钥:
    
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
    //【4】。安装稳定版仓库
    add-apt-repository 
       "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
       $(lsb_release -cs) 
       stable"
    
    (二)。安装Docker-CE版
    
    1。更新apt安装包索引:
    
    apt-get update
    
    2-1。安装最新版的Docker CE
    
    apt-get install docker-ce
    
    2-2。安装指定版本的Docker CE
    
    【1】。查看docker版本
    
    apt-cache madison docker-ce
    
    【2】。安装指定版本docker
    
    apt-get install docker-ce=<VERSION>
    
    3。通过运行hello-world镜像验证Docker CE已被正确安装:
    
    docker run hello-world //出现Hello from Docker表示成功

    4.安装docker-compose

    [1].安装pip
        $ apt-get install python-pip  

    [2].安装docker-compose
        $ pip install docker-compose>=1.8.0

    3。安装node(必须)

    curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
    sudo apt-get install -y nodejs

    4。安装GO及配置环境变量

    【1】。下载最新版本的go二进制文件

    将go的压缩文件下载到指定目录下(-P /opt :下载到指定目录/opt下)

    wget -P /opt https://dl.google.com/go/go1.9.2.linux-amd64.tar.gz
    //解压缩
    sudo tar -C /opt -xzf go1.9.2.linux-amd64.tar.gz

    【2】。配置环境变量

    vi /etc/profile

    在配置文件末尾增加内容:

    export GOROOT=/opt/go
    export GOARCH=amd64
    export GOOS=linux
    export GOPATH=/opt/gopath
    export GOBIN=$GOROOT/bin
    export PATH=$PATH:$GOBIN

    注意:上述将原博客/etc/local修改为/opt是因为在执行fabric实例时,一直报order service有问题。。且指向/opt/gopath....异常

    退出编辑,输入以下命令使修改生效:

    source /etc/profile

    查看go环境是否安装与配置成功

    go version

    若出现:go version go1.9.2 linux/amd64 则表明配置成功!

    说明:

    关于GOPATH,这是go程序运行的目录,也就是所有编写的go程序都要放在这个目录下。

    根据上述配置,我们在~目录先新建一个gopath文件夹,然后新建三个文件夹src,pkg,bin。

    其中src存放源码,pkg存放编译生成的文件,bin存放生成的可执行文件。

    5。下载fabric

    【1】。创建工作目录

    mkdir -p $GOPATH/src/github.com/hyperledger

    【2】。下载fabric

    cd ~/gopath/src/github.com/hyperledger
    git clone -b release-1.0 https://github.com/hyperledger/fabric.git

    上述下载完成之后,我们可以看到当前工作目录下多了一个fabric的文件夹,这就是我们下载好的文件,这里面有我们需要的例子。

    至此,我们的开发环境已经基本搭建完毕,下面将通过一个具体的例子下载fabric1.0.5的镜像并体验运行效果。

    6。运行Fabric实例

    //切换工作路径。进入scripts文件夹下
    cd ./fabric/scripts/
    //查看scripts文件夹内容
    ls

    当前路径下面有许多的shell脚本文件。

    //下载镜像
    ./bootstrap.sh
    ===> List out hyperledger docker images
    hyperledger/fabric-tools       latest              6a8993b718c8        6 weeks ago         1.33GB
    hyperledger/fabric-tools       x86_64-1.0.5        6a8993b718c8        6 weeks ago         1.33GB
    hyperledger/fabric-couchdb     latest              9a58db2d2723        6 weeks ago         1.5GB
    hyperledger/fabric-couchdb     x86_64-1.0.5        9a58db2d2723        6 weeks ago         1.5GB
    hyperledger/fabric-kafka       latest              b8c5172bb83c        6 weeks ago         1.29GB
    hyperledger/fabric-kafka       x86_64-1.0.5        b8c5172bb83c        6 weeks ago         1.29GB
    hyperledger/fabric-zookeeper   latest              68945f4613fc        6 weeks ago         1.32GB
    hyperledger/fabric-zookeeper   x86_64-1.0.5        68945f4613fc        6 weeks ago         1.32GB
    hyperledger/fabric-orderer     latest              368c78b6f03b        6 weeks ago         151MB
    hyperledger/fabric-orderer     x86_64-1.0.5        368c78b6f03b        6 weeks ago         151MB
    hyperledger/fabric-peer        latest              c2ab022f0bdb        6 weeks ago         154MB
    hyperledger/fabric-peer        x86_64-1.0.5        c2ab022f0bdb        6 weeks ago         154MB
    hyperledger/fabric-javaenv     latest              50890cc3f0cd        6 weeks ago         1.41GB
    hyperledger/fabric-javaenv     x86_64-1.0.5        50890cc3f0cd        6 weeks ago         1.41GB
    hyperledger/fabric-ccenv       latest              33feadb8f7a6        6 weeks ago         1.28GB
    hyperledger/fabric-ccenv       x86_64-1.0.5        33feadb8f7a6        6 weeks ago         1.28GB
    hyperledger/fabric-ca          latest              002c9089e464        6 weeks ago         238MB
    hyperledger/fabric-ca          x86_64-1.0.5        002c9089e464        6 weeks ago         238MB

    并且,这个脚本运行完毕之后,我们会发现当前目录下多了一个bin文件夹,这个文件夹中所包含的可执行文件正是我们运行例子所需要的。

    现在我们需要把这个文件夹复制到我们需要运行的例子的上层目录中,输入命令:

    cp -rf bin/ ./../examples/

    接下来我们就可以运行官方给出的例子:e2e_cli

    cd ./../examples/e2e_cli/
    ./network_setup.sh up

    正常运行结果:

    关闭实例:

    Ctrl+c
    
    ./network_setup.sh down

    本文参考博客:

    https://blog.csdn.net/diligent_lee/article/details/79141450

    https://segmentfault.com/a/1190000009072224

    本人操作过程中遇到的问题及解决方法

    1。安装git问题

    https://askubuntu.com/questions/15433/unable-to-lock-the-administration-directory-var-lib-dpkg-is-another-process

    采用命令行处理

    sudo rm /var/lib/apt/lists/lock
    sudo rm /var/cache/apt/archives/lock
    sudo rm /var/lib/dpkg/lock
    View Code

    2。docker安装有问题。卸载docker

    https://blog.csdn.net/CSDN_duomaomao/article/details/77683607

    sudo apt-get purge docker-engine   //卸载docker
    //卸载Docker及其依赖的不再需要的包(可能需要执行多次):
    sudo apt-get autoremove --purge docker-engine

    3。Docker compose异常解决方法

    https://stackoverflow.com/questions/36685980/docker-is-installed-but-docker-compose-is-not-why

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

    https://blog.csdn.net/pushiqiang/article/details/78682323

  • 相关阅读:
    能组成多少个无重复数字且不为5的倍数的五位数有多少个?
    http与https
    观察者模式和发布/订阅模式的区别
    快速排序的最优时间复杂度是 O(nlogn)
    函数实现 composeFunctions(fn1,fn2,fn3,fn4)等价于fn4(fn3(fn2(fn1))
    vue双向绑定代码实现
    node历史版本下载
    阻止scroll冒泡
    中断或取消Promise链的可行方案
    从输入url到页面加载完成发生了什么?——前端角度
  • 原文地址:https://www.cnblogs.com/kaixinyufeng/p/9352997.html
Copyright © 2020-2023  润新知