搭建fabric环境中出的一系列错误

时间:2024-03-24 10:18:50

本人在搭建fabric环境这个过程中碰到了一系列乱七八糟的问题,现在写出来供大家分享。

参考教程:http://www.cnblogs.com/studyzy/p/7437157.html  深蓝居,快速搭建一个fabric1.0环境

1. virtualbox和vmware的选用:

本人刚开始用的是virtualbox,然而安完ubuntu之后发现不能联网,而且用笔记本运行起来超级卡,所以果断放弃,选用了vmware.

vmware安装完ubuntu16.04后,发现这个系统经常断网,不管是不是下载东西时,都会断网,在网上找了一大堆教程后,折腾很久结果把这个虚拟机彻底搞断网了,只能重装。

重装了一个ubuntu17.04,然后惊喜的发现,之前断网的问题再也没有了。小白如我,也不知道究竟是重装解决了断网的问题,还是17.04解决了断网问题。

2.go的安装:

刚开始我是用这个命令:  wget  https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz   直接在终端里下载,然后出现一大堆错误,上网找了很多解决方法,后面加上 no certificate... 或者加上浏览器标识等等诸如此类,都不管用,最简单的解决办法如下:

直接把  https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz 这个网址复制粘贴到浏览器里访问,然后浏览器会下载一个 go1.9.linux-amd64.tar.gz 的压缩包在Downloads文件夹里面,然后把这个压缩包移动到home文件夹下,再用下一句命令: sudo tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz  即可。

然后是配环境变量,我参考的是  http://www.flysnow.org/2017/01/05/install-golang.html Go语言环境搭建详解

然后记得一定要输入一下命令 go version,这一步可以测试go是否安装好了,我是在最后运行fabric时才发现自己没有装好go。

哦对还有这个博客中还交代了很重要的一步,再home文件夹底下再创建一个go文件夹,以上go的安装都是再/usr/local/go底下操作的,而我们新创建的go是在home底下,也就是这个文件夹是和Documents,Downloads文件夹并列的,这步很重要!

下面来科普一个我之前不知道的小知识:

ubuntu的文件夹关系:

搭建fabric环境中出的一系列错误

不过图形界面的home文件夹在命令行里是home/judy/ ,judy是我的用户名。

所以我们要创建的就是home/judy/go,在图形界面的home创建go的文件夹就可以啦。

3. docker安装:

在docker安装时,我直接用  curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh - 也会一大堆报错,建议这时直接换教程,不要一直和这句命令产生的错误对着干。

换的教程如下:http://www.runoob.com/docker/ubuntu-docker-install.html 

这个菜鸟教程我运行起来是没有出现什么问题的。

然后安装完了不要忘记再回去深蓝居那个博客里,继续接下来的几步:

修改用户权限: 我在ubuntu里用户名是judy

sudo usermod -aG docker judy
然后重启你的虚拟机(即注销再登录)再进行下一步:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
注意啊,这个restart docker 根本就不是注销再登录,当时就是被这句命令坑了,结果在后面一个步骤总是提示permission denied,所以一定要重启虚拟机再登录。

4.Docker-Compose的安装:

第一步没有什么问题:

sudo apt-get install python-pip

第二步:

https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose

这个链接根本连浏览器都加载不出来!!!可能早已失效,所以大家千万不要用这个链接,最快捷的方法还是老办法:用浏览器下载好一个docker-compose,再继续在命令行使用。

这是可以使用的链接:https://github.com/docker/compose/releases 

用浏览器访问这个链接,然后从里面选取你需要的docker-compose版本下载,linux(ubuntu)用户就选这个docker-compose-Linux-x86_64 即可,然后注意下载下来我们要给这个文件重新改个名,改成docker-compose然后放在home文件夹下,再执行后面的命令。

第三步:

sudo mv ~/docker-compose /usr/local/bin/docker-compose 
chmod +x /usr/local/bin/docker-compose

这两步我都没遇到什么问题

注意最后一步,一定要运行这个命令来检验自己是否成功安装docker-compose:

docker-compose -v

成功显示版本信息:docker-compose version 1.18.0, build 8dd22a9

这才算这步结束。

5. Fabric源码下载:

第一步就是在home中的go里面创建空文件夹src,然后是文件夹 githhub.com 然后文件夹 hyperledger.

然后进入这个文件夹

然后从github上下载下来那些工程,

执行后,报错,还没装git,所以百度一份ubuntu安装git的教程,装好即可,这一步没有什么问题。

装好git再执行:git clone https://github.com/hyperledger/fabric.git  就行啦

6. Fabric Docker镜像的下载

这一步就是权限问题出错了,问了学姐,改了go文件夹的权限就好了。改权限的命令是:

chmod 777 file  (file就是你要更改权限的文件名),执行完这句后,就可以写入了。

7.执行   ./network_setup.sh up  出错

错误如下:

Error: Got unexpected status: BAD_REQUEST

Usage:
        peer channel create [flags]

!!!!!!!!!!!!!!! Channel creation failed !!!!!!!!!!!!!!!!
================== ERROR !!! FAILED to execute End-2-End Scenario ==================

类似这样的错误,是因为channel已经建立,命名冲突。

解决办法:移除docker,强制删除全部容器  docker rm -f $(docker ps -aq)

 这个错误解决是找到了这篇博客: http://blog.csdn.net/itbs/article/details/76919122

删除全部容器后,在执行./network_setup.sh up 就可以了。

附一张成功运行的图:

搭建fabric环境中出的一系列错误