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版 。更新apt安装包索引: apt-get update -。安装最新版的Docker CE apt-get install docker-ce -。安装指定版本的Docker CE 【】。查看docker版本 apt-cache madison docker-ce 【】。安装指定版本docker apt-get install docker-ce=<VERSION> 。通过运行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 weeks ago .33GB
hyperledger/fabric-tools x86_64-1.0. 6a8993b718c8 weeks ago .33GB
hyperledger/fabric-couchdb latest 9a58db2d2723 weeks ago .5GB
hyperledger/fabric-couchdb x86_64-1.0. 9a58db2d2723 weeks ago .5GB
hyperledger/fabric-kafka latest b8c5172bb83c weeks ago .29GB
hyperledger/fabric-kafka x86_64-1.0. b8c5172bb83c weeks ago .29GB
hyperledger/fabric-zookeeper latest 68945f4613fc weeks ago .32GB
hyperledger/fabric-zookeeper x86_64-1.0. 68945f4613fc weeks ago .32GB
hyperledger/fabric-orderer latest 368c78b6f03b weeks ago 151MB
hyperledger/fabric-orderer x86_64-1.0. 368c78b6f03b weeks ago 151MB
hyperledger/fabric-peer latest c2ab022f0bdb weeks ago 154MB
hyperledger/fabric-peer x86_64-1.0. c2ab022f0bdb weeks ago 154MB
hyperledger/fabric-javaenv latest 50890cc3f0cd weeks ago .41GB
hyperledger/fabric-javaenv x86_64-1.0. 50890cc3f0cd weeks ago .41GB
hyperledger/fabric-ccenv latest 33feadb8f7a6 weeks ago .28GB
hyperledger/fabric-ccenv x86_64-1.0. 33feadb8f7a6 weeks ago .28GB
hyperledger/fabric-ca latest 002c9089e464 weeks ago 238MB
hyperledger/fabric-ca x86_64-1.0. 002c9089e464 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
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

006/搭建fabric(二)的更多相关文章
- Hyperledger Fabric手动生成CA证书搭建Fabric网络
之前介绍了使用官方脚本自动化启动一个Fabric网络,并且所有的证书都是通过官方的命令行工具cryptogen直接生成网络中的所有节点的证书.在开发环境可以这么简单进行,但是生成环境下还是需要我们自定 ...
- (原创)LAMP搭建之二:apache配置文件详解(中英文对照版)
LAMP搭建之二:apache配置文件详解(中英文对照版) # This is the main Apache server configuration file. It contains the # ...
- Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python
Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python 前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上, ...
- Spring+SpringMVC+MyBatis深入学习及搭建(十二)——SpringMVC入门程序(一)
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6999743.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十一)——S ...
- SAAS云平台搭建札记: (二) Linux Ubutu下.Net Core整套运行环境的搭建
最近做的项目,由于预算有限,公司决定不采购Windows服务器,而采购基于Linux的服务器. 一般的VPS服务器,如果使用Windows系统,那么Windows Server2012\2016安装好 ...
- ubuntu16.04下Hyperledger之搭建Fabric环境简单操作(五步启动e2e_cli)
如果你已经安装好go等工具.git及checkout相关代及下载相关镜像,您只需下面5步就能up e2e_cli~/go/src/github.com/hyperledger/fabric$ sudo ...
- vue项目搭建 (二) axios 封装篇
vue项目搭建 (二) axios 封装篇 项目布局 vue-cli构建初始项目后,在src中进行增删修改 // 此处是模仿github上 bailicangdu 的 ├── src | ├── ap ...
- linux下Oracle11g RAC搭建(二)
linux下Oracle11g RAC搭建(二) 一.安装前配置 网络的配置 IP占用測试 进入windows下.运行cmd,使用ping命令验证网段是否被占用. 注:用哪个网段都行,一定保证不要被其 ...
- 用lua nginx module搭建一个二维码
用lua nginx module搭建一个二维码(qr code)生成器 作者 vinoca 發布於 2014年10月31日 如果有VPS,或者开源的路由器,安装一个nginx,添加lua-nginx ...
随机推荐
- linux MySql 的主从复制部署
MySql 复制 mysql 复制:将某一台主机上的 Mysql 数据复制到其它主机(slaves)上,并重新执行一遍从而实现 当前主机上的 mysql 数据与(master)主机上数据保持一致的过程 ...
- JavaEE高级-MyBatis学习笔记
一.MyBatis简介 - MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架. - MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集. - My ...
- Linux架构之Nginx 七层负载均衡
第50章 Nginx七层负载均衡 一.Nginx负载均衡基本概述 1)为什么要使用负载均衡 当我们的Web服务器直接面向用户,往往要承载大量并发请求,单台服务器难以负荷.使用多台Web服务器组成集群, ...
- Codeforces 962 /2错误 相间位置排列 堆模拟 X轴距离最小值 前向星点双连通分量求只存在在一个简单环中的边
A #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #def ...
- Ubuntu 下串口调试工具
1. cutecom 安装:sudo apt-get install cutecom 打开方式: 在终端输入:cutecom,即可打开串口工具 或者在应用中,点击 cutecom 图标打开 打开后的界 ...
- 关于Vuex的actions传入多个参数的方法:
1.在state中: state={ obj:{ name:'state中的数据' } } 2.在actions定义的方法中: ...
- HTTP教程
适合人群 本教程已为计算机学科毕业生和Web开发人员准备,帮助他们了解与超文本传输协议(HTTP)相关的基本到高级概念. 预备知识 在继续本教程之前,最好对Web概念,Web浏览器,Web服务器, ...
- C/C++输出格式控制符
C/C++格式控制符 一.类型 类型字符用以表示输出数据的类型,其格式符和意义如下表所示: 格式字符 意义 d 以十进制形式输出带符号整数(正数不输出符号) o 以八进制形式输出无符号整数(不输出前缀 ...
- getCurrentPages
解释:getCurrentPages 全局函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面. 示例: // index.jsPage({ onShow( ...
- <知识整理>2019清北学堂提高储备D2
简单数据结构: 一.二叉搜索树 1.前置技能: n/1+n/2+……+n/n=O(n log n) (本天复杂度常涉及) 2.入门题引入: N<=100000. 这里多了一个删除的操作,因此要 ...