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 ...
随机推荐
- python中的@property
@property 可以将python定义的函数“当做”属性访问,从而提供更加友好访问方式,但是有时候setter/getter也是需要的 class People: def __init__(sel ...
- tp5 模板参数配置(模板静态文件路径)
tp5 模板参数配置(模板静态文件路径) // 模板页面使用 <link rel="stylesheet" type="text/css" href=&q ...
- 03python面向对象编程之Python中单下划线和双下划线的区别7
通常Python类中会有_和__的方法,是指什么意思呢?如下: 双下划线表示内部不允许访问,一个下划线表示这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽 ...
- JVM 虚拟机栈
虚拟机栈: 栈元素是栈帧.方法调用,栈帧入栈,反之出栈. 栈帧:一个方法的运行空间. 1.局部变量表:方法定义的局部变量.方法的参数存在该表. 实例方法中有个隐含参数“this”,所以实例方法可以访问 ...
- 【NOIP2016提高A组模拟7.17】寻找
题目 Bob和Alice出去度蜜月,但Alice不慎走失,Bob在伤心过后,决定前去寻找Alice. 他们度蜜月的地方是一棵树,共有N个节点,Bob会使用下列DFS算法对该树进行遍历. startin ...
- 【bzoj2733】[HNOI2012]永无乡
题目描述: 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示.某些岛之间由巨大的桥连接,通过桥可以从一个岛 到 ...
- Vim 编辑器学习笔记
参考资料: 世界上最牛的编辑器: Vim 1
- ES6 嵌套数组进行解构
let [foo, [[bar], baz]] = [1, [[2], 3]]; foo // 1 bar // 2 baz // 3 let [ , , third] = ["foo&qu ...
- MySQL多表查询合并结果union all,内连接查询
MySQL多表查询合并结果和内连接查询 1.使用union和union all合并两个查询结果:select 字段名 from tablename1 union select 字段名 from tab ...
- Linux函数的使用方法
[root@a ~]#cat fun.txt #定义函数库文件,方便在别的地方使用 addnum1() { echo $[$1+$2] } addnum2(){ echo $[$1*$2] } del ...