热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

hyperledge环境安装

1.安装环境1)本机安装前提是已经安装好了docker\docker-compose\go,相应的内容可见docker-1-环境安装及例子实践docker官方文档学习

1.安装环境

1)本机安装

前提是已经安装好了docker\docker-compose\go,相应的内容可见

docker-1-环境安装及例子实践

docker官方文档学习-1-Docker for mac安装配置

go安装可看:开始学习前的环境安装

然后可见本机环境版本信息为:

docker为:

userdeMacBook-Pro:~ user$ docker version
Client: Docker Engine
- CommunityVersion: 18.09.0API version: 1.39Go version: go1.10.4Git commit: 4d60db4Built: Wed Nov 7 00:47:43 2018OS/Arch: darwin/amd64Experimental: falseServer: Docker Engine - CommunityEngine:Version: 18.09.0API version: 1.39 (minimum version 1.12)Go version: go1.10.4Git commit: 4d60db4Built: Wed Nov 7 00:55:00 2018OS/Arch: linux/amd64Experimental: falseKubernetes:Version: v1.10.3StackAPI: v1beta2

docker-compose为:

userdeMBP:~ user$ docker-compose version
docker
-compose version 1.23.2, build 1110ad01
docker
-py version: 3.6.0
CPython version:
3.6.6
OpenSSL version: OpenSSL
1.1.0h 27 Mar 2018

go为:

userdeMacBook-Pro:~ user$ go version
go version go1.
11.4 darwin/amd64

一开始docker中的镜像信息有:

userdeMacBook-Pro:~ user$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
k8s.gcr.io
/kubernetes-dashboard-amd64 v1.10.1 f9aed6605b81 2 months ago 122MB
docker
/kube-compose-controller v0.4.12 02a45592fbea 5 months ago 27.8MB
docker
/kube-compose-api-server v0.4.12 0f92c77fa676 5 months ago 41.2MB
k8s.gcr.io
/kube-proxy-amd64 v1.10.3 4261d315109d 9 months ago 97.1MB
k8s.gcr.io
/kube-controller-manager-amd64 v1.10.3 40c8d10b2d11 9 months ago 148MB
k8s.gcr.io
/kube-apiserver-amd64 v1.10.3 e03746fe22c3 9 months ago 225MB
k8s.gcr.io
/kube-scheduler-amd64 v1.10.3 353b8f1d102e 9 months ago 50.4MB
k8s.gcr.io
/etcd-amd64 3.1.12 52920ad46f5b 12 months ago 193MB
k8s.gcr.io
/k8s-dns-dnsmasq-nanny-amd64 1.14.8 c2ce1ffb51ed 14 months ago 41MB
k8s.gcr.io
/k8s-dns-sidecar-amd64 1.14.8 6f7f2dc7fab5 14 months ago 42.2MB
k8s.gcr.io
/k8s-dns-kube-dns-amd64 1.14.8 80cc5ea4b547 14 months ago 50.5MB
k8s.gcr.io
/pause-amd64 3.1 da86e6ba6ca1 14 months ago 742kB

这是因为安装了kubernetes

 

 

2)虚拟机安装

当然如果手动安装环境不顺利的情况下,我们也可以通过配置虚拟机来配置环境,这个的好处有:

      使用vagrant集成的开发环境开发允许开发者使用自己喜欢的操作系统和编辑器来开发,同时又可以让系统运行在一个与开发团队一致的开发环境中。

 

当然首先需要有vagrant\virtualbox环境, vagrant\virtualbox的安装和版本可见virtualbox+vagrant学习-1-环境安装及vagrantfile的简单配置-Mac系统

参考https://blog.csdn.net/zgljl2012/article/details/52896372

 

首先需要下载fabric源码

userdeMacBook-Pro:~ user$ go get github.com/hyperledger/fabric
package github.com
/hyperledger/fabric: no Go files in /Users/user/go/src/github.com/hyperledger/fabric

 

使用Vagrant启动虚拟机

进入/Users/user/go/src/github.com/hyperledger/fabric/devenv目录下,这里写好了安装虚拟机的配置文件,调用vagrant up来启动vagrant。这样就能够不用配置,直接使用开发人员设置好的开发环境:

userdeMBP:fabric user$ cd devenv/
userdeMBP:devenv user$ vagrant up
==> vagrant: A new version of Vagrant is available: 2.2.4 (installed version: 2.2.2)!
==> vagrant: To upgrade visit: https://www.vagrantup.com/downloads.html

Bringing machine
'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/xenial64'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: hyperledger
==> default: Vagrant has detected a configuration issue which exposes a
==> default: vulnerability with the installed version of VirtualBox. The
==> default: current guest is configured to use an E1000 NIC type for a
==> default: network adapter which is vulnerable in this version of VirtualBox.
==> default: Ensure the guest is trusted to use this configuration or update
==> default: the NIC type using one of the methods below:
==> default:
==> default: https://www.vagrantup.com/docs/virtualbox/configuration.html#default-nic-type
==> default: https://www.vagrantup.com/docs/virtualbox/networking.html#virtualbox-nic-type
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...default: Adapter 1: nat
==> default: Forwarding ports...default: 7050 (guest) => 7050 (host) (adapter 1)default: 7051 (guest) => 7051 (host) (adapter 1)default: 7053 (guest) => 7053 (host) (adapter 1)default: 7054 (guest) => 7054 (host) (adapter 1)default: 5984 (guest) => 15984 (host) (adapter 1)default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...default: SSH address: 127.0.0.1:2222default: SSH username: vagrantdefault: SSH auth method: private keydefault: Warning: Connection reset. Retrying...default: Warning: Remote connection disconnect. Retrying...default: default: Vagrant insecure key detected. Vagrant will automatically replacedefault: this with a newly generated keypair for better security.default: default: Inserting generated public key within guest...default: Removing insecure key from the guest if it's present...default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...default: The guest additions on this VM do not match the installed version ofdefault: VirtualBox! In most cases this is fine, but in rare cases it candefault: prevent things such as shared folders from working properly. If you seedefault: shared folder errors, please make sure the guest additions within thedefault: virtual machine match the version of VirtualBox you have installed ondefault: your host and reload your VM.default: default: Guest Additions Version: 5.1.38default: VirtualBox Version: 5.2
==> default: Mounting shared folders...default: /vagrant => /Users/user/go/src/github.com/hyperledger/fabric/devenvdefault: /local-dev => /Users/user/go/src/github.com/hyperledgerdefault: /hyperledger => /Users/user/go/src/github.com/hyperledgerdefault: /opt/gopath/src/github.com/hyperledger => /Users/user/go/src/github.com/hyperledger
==> default: Running provisioner: shell...default: Running: inline scriptdefault: ++ tee -a /etc/hostsdefault: ++ echo '127.0.0.1 couchdb'default: 127.0.0.1 couchdb
...

等到安装好后,运行vagrant ssh来进入该虚拟机:

userdeMacBook-Pro:devenv user$ vagrant ssh
Welcome to Ubuntu
16.04.5 LTS (GNU/Linux 4.4.0-141-generic x86_64)* Documentation: https://help.ubuntu.com* Management: https://landscape.canonical.com* Support: https://ubuntu.com/advantage
Get cloud support with Ubuntu Advantage Cloud Guest:http://www.ubuntu.com/business/services/cloud60 packages can be updated.
49 updates are security updates.New release '18.04.2 LTS' available.
Run
'do-release-upgrade' to upgrade to it.*** System restart required ***
vagrant@ubuntu
-xenial:~$

参考https://blog.csdn.net/zgljl2012/article/details/52896372

过程中如果没成功,可能是因为网络被qiang的原因,可以到百度云手动安装box

https://pan.baidu.com/s/1kV57PLt?errno=0&errmsg=Auth%20Login%20Sucess&&bduss=&ssnerror=0&traceid=

然后运行:

vagrant box add hyperledger/fabric-baseimage virtualbox.box

再运行vagrant up即可

当然你也可以从virtualbox处进入

用户名和密码都为vagrant

 

然后此时查看该环境配置的版本信息:

vagrant@ubuntu-xenial:~$ go version
go version go1.
11.5 linux/amd64vagrant@ubuntu-xenial:~$ docker version
Client:Version:
18.09.3API version: 1.39Go version: go1.10.8Git commit: 774a1f4Built: Thu Feb 28 06:40:58 2019OS/Arch: linux/amd64Experimental: false
Got permission denied
while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/version: dial unix /var/run/docker.sock: connect: permission denied

vagrant@ubuntu
-xenial:~$ docker-compose version
docker
-compose version 1.14.0, build c7bdf9e
docker
-py version: 2.3.0
CPython version:
2.7.13
OpenSSL version: OpenSSL
1.0.1t 3 May 2016

 

上面的Got permission denied的解决办法是:

1)运行时在前面加一个sudo:

vagrant@ubuntu-xenial:~$ sudo docker version
Client:Version:
18.09.3API version: 1.39Go version: go1.10.8Git commit: 774a1f4Built: Thu Feb 28 06:40:58 2019OS/Arch: linux/amd64Experimental: falseServer: Docker Engine - CommunityEngine:Version: 18.09.3API version: 1.39 (minimum version 1.12)Go version: go1.10.8Git commit: 774a1f4Built: Thu Feb 28 05:59:55 2019OS/Arch: linux/amd64Experimental: false

2)另一种解决办法就是docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令(参考https://www.cnblogs.com/informatics/p/8276172.html):

vagrant@ubuntu-xenial:~$ sudo groupadd docker //添加docker用户组
groupadd: group 'docker' already exists
vagrant@ubuntu
-xenial:~$ sudo gpasswd -a $USER docker //将登陆用户加入到docker用户组中
Adding user vagrant to group docker
vagrant@ubuntu
-xenial:~$ newgrp docker //更新用户组
vagrant@ubuntu-xenial:~$ docker version //测试果然成功
Client:Version: 18.09.3API version: 1.39Go version: go1.10.8Git commit: 774a1f4Built: Thu Feb 28 06:40:58 2019OS/Arch: linux/amd64Experimental: falseServer: Docker Engine - CommunityEngine:Version: 18.09.3API version: 1.39 (minimum version 1.12)Go version: go1.10.8Git commit: 774a1f4Built: Thu Feb 28 05:59:55 2019OS/Arch: linux/amd64Experimental: false

 

然后安装镜像

 安装好的虚拟机中也已经下载好了hyperledger/fabric,里面目录script中的bootstrap.sh文件中写好了需要安装的镜像信息,能够通过调用该文件来安装需要的镜像,如下:

vagrant@ubuntu-xenial:~$ cd /opt/gopath/src/github.com/hyperledger/fabric/scripts
vagrant@ubuntu-xenial:/opt/gopath/src/github.com/hyperledger/fabric/scripts$ ls
bootstrap.sh check_trailingspaces.sh goListFiles.sh
changelog.sh compile_protos.sh metrics_doc.sh
check_deps.sh fabric-samples multiarch.sh
check_license.sh generateHelpDocs.sh pull_build_artifacts.sh
check_spelling.sh golinter.sh run-integration-tests.sh
vagrant@ubuntu-xenial:/opt/gopath/src/github.com/hyperledger/fabric/scripts$ ./bootstrap.sh
./bootstrap.sh: line 179: [: too many arguments Installing hyperledger/fabric-samples repo ... ===> List out hyperledger docker images //运行到这,相应的镜像就已经安装好了 hyperledger/fabric-tools 1.4.0 0a44f4261a55 8 weeks ago 1.56GB hyperledger/fabric-tools latest 0a44f4261a55 8 weeks ago 1.56GB hyperledger/fabric-ccenv 1.4.0 5b31d55f5f3a 8 weeks ago 1.43GB hyperledger/fabric-ccenv latest 5b31d55f5f3a 8 weeks ago 1.43GB hyperledger/fabric-orderer 1.4.0 54f372205580 8 weeks ago 150MB hyperledger/fabric-orderer latest 54f372205580 8 weeks ago 150MB hyperledger/fabric-peer 1.4.0 304fac59b501 8 weeks ago 157MB hyperledger/fabric-peer latest 304fac59b501 8 weeks ago 157MB hyperledger/fabric-ca 1.4.0 1a804ab74f58 8 weeks ago 244MB hyperledger/fabric-ca latest 1a804ab74f58 8 weeks ago 244MB hyperledger/fabric-zookeeper 0.4.14 d36da0db87a4 4 months ago 1.43GB hyperledger/fabric-zookeeper latest d36da0db87a4 4 months ago 1.43GB hyperledger/fabric-kafka 0.4.14 a3b095201c66 4 months ago 1.44GB hyperledger/fabric-kafka latest a3b095201c66 4 months ago 1.44GB hyperledger/fabric-couchdb 0.4.14 f14f97292b4c 4 months ago 1.5GB hyperledger/fabric-couchdb latest f14f97292b4c 4 months ago 1.5GB

 

3)可以看hyperledger中文文档学习-4-构建第一个fabric网络去开始构建一个简单的网络

 

转:https://www.cnblogs.com/wanghui-garcia/p/10484774.html



推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • Java 11相对于Java 8,OptaPlanner性能提升有多大?
    本文通过基准测试比较了Java 11和Java 8对OptaPlanner的性能提升。测试结果表明,在相同的硬件环境下,Java 11相对于Java 8在垃圾回收方面表现更好,从而提升了OptaPlanner的性能。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 目前Miniconda3的主要版本已经不支持python3.6,以Windows为例,在官网Miniconda—Condadocumentation中只有python3.7 ... [详细]
  • 五、RabbitMQ Java Client基本使用详解
    JavaClient的5.x版本系列需要JDK8,用于编译和运行。在Android上,仅支持Android7.0或更高版本。4.x版本系列支持7.0之前 ... [详细]
  • k8s进阶之搭建私有镜像仓库
    企业级私有镜像仓 ... [详细]
  • 本文整理了Java中org.assertj.core.api.AbstractPathAssert.existsNoFollowLinks()方法的一些代码示例,展示了 ... [详细]
author-avatar
沫小兮
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有