Hyperledger Fabric 1.0 从零开始(三)——环境构建(内网/准离线)
有公网环境的服务器可以直接看 Hyperledger Fabric 1.0 从零开始(二)——环境构建(公网) ,本篇内容与上篇相似,只不过环境搭建需要在内网下,也就是网络被限制的情况下。
1:环境构建与测试
在本文中用到的宿主机环境是Centos ,版本为Centos.x86_647.2,通过Docker 容器来运行Fabric的节点,版本为v1.0。因此,启动Fabric网络中的节点需要先安装Docker、Docker-compose和Go语言环境,然后在网上拉取相关的Docker镜像,再通过配置compose文件来启动各个节点。
1.1:开通内网阿里yum源访问权限
公司内网环境并非绝对无网络环境,否则即便是部署了HyperLedger/Fabric也没有任何意义。这里需要申请的阿里yum源ip及端口号如下:
115.28.122.210:
112.124.140.210:
之所以使用阿里yum源,大家应该都知道原因,而且是内网环境,这里就不赘述了。
【注:如果访客同学所在公司连这个都不能做到,那基本上就别搭建这套环境了,因为后面需要执行yum update的操作,这一步非常重要,后面会讲到。】
该源地址实际访问域名http://mirrors.aliyun.com,此域名ip及端口号相对稳定,但也会出现变更的情况,当阿里yum源所申请对应的ip/port无法访问的时候,请尝试该域名访问,查看其最新ip/port并更新阿里yum的访问权限。
具体操作步骤如下:
a:备份原来的yum源
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
b:设置阿里yum的源
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
c:清理缓存并生成新的缓存
sudo yum clean all
sudo yum makecache
d:更新yum库
sudo yum update
本操作的目的是为了更新所有的内置库到最新版,因为docker最新版本的安装需要所对应的依赖都是最新版,为了避免安装依赖的麻烦,故此操作很重要。
笔者开始掉进这个坑里了,一位可以不断的通过手动方式来将各种依赖导入进来,各种依赖的下载地址这里也分享一下,大家在Linux环境下如果缺少依赖,可以去Linux Packages Search下载并安装。
1.2:Docker安装
进入docker官网
GetDocker -》Centos -》Get CE(社区版)-》Get Docker CE on CentOS -》Install Docker CE on CentOS。
按照官网给出的步骤离线安装Docker CE版
如果在服务器上有旧版的docker,需要先执行卸载操作,如下:
$ sudo yum remove docker \
docker-common \
docker-selinux \
docker-engine
随后开始安装Docker CE
笔者写该文档时Docker官方最新版为docker-ce-17.06.0.ce-1.el7.centos.x86_64.rpm,在Packages可下载最新版。
可将最新版下载至/tmp/docker/docker目录下。
随后执行如下命令进行安装:
cd /tmp/docker/docker
yum install docker-ce-17.06..ce-.el7.centos.x86_64.rpm
y
最终安装成功视图如下:

执行如下命令可以查看当前docker安装的版本信息,并确认是否安装成功:
docker --version
结果如下视图:

docker启动:
service docker start
docker开机自启动:
chkconfig docker on
结果如下视图:

1.3:Docker-Compose安装
Docker-Compose的离线安装相对于curl安装稍微麻烦一点,需要在官网提供的github项目里下载最新版的docker-compose-Linux-x86_64,随后将其上传至/tmp/docker/docker-compose下,笔者写此文档的时候官方提供的docker-compose最新版为1.15.0。
接着执行如下命令完成安装:
cd /tmp/docker/docker-compose
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
赋予可执行权限是必不可少的,随后执行如下命令查看docker-compose版本信息并确认安装是否生效:
docker-compose --version
最终完整运行视图应该如下:

1.4:Go语言安装
1、参照Go官网,找到linux版本下载路径,执行以下操作下载最新版Go语言包
直接通过https://golang.org/doc/install?download=go1.8.3.linux-amd64.tar.gz链接下载最新版。
下载后可上传至/tmp/docker目录下。
2、解压go1.8.3.linux-amd64.tar.gz至/usr/local目录下,执行如下操作:
cd /tmp/docker
tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz
3、配置go环境变量
修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码
1 export PATH=$PATH:/usr/local/go/bin
2 export GOPATH=/opt/gopath
上述修改/etc/profile文件具体实现如下操作:
1 cd /etc
2 vim profile
执行修改后,继续执行:
source profile
使其修改生效。随后可通过下述命令:
echo $PATH
查看是否添加成功。
最后可通过
go version
查看当前go版本信息,正常情况下如下视图:

这里笔者上传或指定的安装目录都非固定的,但注意,如果上传至tmp目录,linux系统会不定时的清除里面的内容。
Hyperledger Fabric 1.0 从零开始(三)——环境构建(内网/准离线)的更多相关文章
- Hyperledger Fabric 1.0 从零开始(二)——环境构建(公网)
1:环境构建 在本文中用到的宿主机环境是Centos ,版本为Centos.x86_647.2,通过Docker 容器来运行Fabric的节点,版本为v1.0.因此,启动Fabric网络中的节点需要先 ...
- Hyperledger Fabric 1.0 从零开始(一)——吐槽
在HyperLedger/Fabric发布0.6的时候,公司就已经安排了一个团队研究这一块,后来也请IBM的专家组过来培训了一批人,不幸的是,这批人后来全走了,然后没过多久1.0就发布了.自从2017 ...
- Hyperledger Fabric 1.0 从零开始(一)
在HyperLedger/Fabric发布0.6的时候,公司就已经安排了一个团队研究这一块,后来也请IBM的专家组过来培训了一批人,不幸的是,这批人后来全走了,然后1.0就发布了.自从2017年7月H ...
- Hyperledger Fabric 1.0 从零开始(十三)——orderer分布式方案
简述 在搭建HyperLedger Fabric环境的过程中,我们会用到一个configtx.yaml文件(可参考Hyperledger Fabric 1.0 从零开始(八)——Fabric多节点集群 ...
- Hyperledger Fabric 1.0 从零开始(八)——Fabric多节点集群生产部署
6.1.平台特定使用的二进制文件配置 该方案与Hyperledger Fabric 1.0 从零开始(五)--运行测试e2e类似,根据企业需要,可以控制各节点的域名,及联盟链的统一域名.可以指定单独节 ...
- Hyperledger Fabric 1.0 从零开始(十二)——fabric-sdk-java应用【补充】
在 Hyperledger Fabric 1.0 从零开始(十二)--fabric-sdk-java应用 中我已经把官方sdk具体改良办法,即使用办法发出来了,所有的类及文件都是完整的,在文章的结尾也 ...
- Hyperledger Fabric 1.0 从零开始(十二)——fabric-sdk-java应用
Hyperledger Fabric 1.0 从零开始(十)--智能合约 Hyperledger Fabric 1.0 从零开始(十一)--CouchDB 上述两章,最近网上各路大神文章云集,方案多多 ...
- Hyperledger Fabric 1.0 从零开始(四)——Fabric源码及镜像文件处理
2:Fabric源码及镜像文件处理 2.1下载Fabric源码 下载Fabric源码是因为要用到源码中提到的列子和工具,工具编译需要用到go语言环境,因此需要把源码目录放到$GOPATH下.通过1.3 ...
- Hyperledger Fabric 1.0 从零开始(六)——创建Fabric多节点集群
4:创建Fabric多节点集群 4.1.配置说明 首先可以根据官方Fabric自带的e2e_cli列子中的集群方案来生成我们自己的集群,与案例不同的是我们需要把容器都分配到不同的服务器上,彼此之间通过 ...
随机推荐
- IIS 发布之后 您要找的资源已被删除、已更名或暂时不可用。 404.0 解决方法
步骤一: 如图,我发布网站后,在应用程序池中看到默认的.NetFreamork是2.0版本的,我把它改为4.0后 重新浏览网页就正常了. 如果还是不行,那么进行第二步,
- js原型学习
js中所有对象都存在一个隐式原型_ _proto_ _,指向创建这个对象的函数的原型prototype; 而函数的原型prototype都是Object函数的一个对象,也有隐式原型,指向的就是Obje ...
- python-ansible api2.0 多进程执行不同的playbook
自动化运维工具:ansible 多进程调用ansible api的应用场景: 应用系统检查 一个应用系统可能具有20—50台服务器的集群,初步的系统层面检查可以用一个统一的playbook来检查, ...
- 50个Java多线程面试题(上)
Java 语言一个重要的特点就是内置了对并发的支持,让 Java 大受企业和程序员的欢迎.大多数待遇丰厚的 Java 开发职位都要求开发者精通多线程技术并且有丰富的 Java 程序开发.调试.优化经验 ...
- BestCoder Round #34_1002 以及 hdu 5191
枚举最终的W堆积木在哪,确定了区间,那么就需要把高于H的拿走,低于H的补上,高处的积木放到矮的上面,这样最优. 注意多出来的积木可以放在已有积木的前面或者后面,独立成一堆积木,所以需要在n堆积木的前后 ...
- Why I donot give up cnblogs for Jianshu
我为什么不放弃博客园使用简书 Why I donot give up cnblogs for Jianshu Chapter0 从2016年8月开始接触简书开始,就有些喜欢上简书了,因为简书支持 ma ...
- C#输出杨辉三角形
话不多说直接上代码: class Program { static void Main(string[] args) { ;//杨辉三角形的长度 Console.Write("输入杨辉三角长 ...
- mysql中group by 的用法解析
1. group by的常规用法 group by的常规用法是配合聚合函数,利用分组信息进行统计,常见的是配合max等聚合函数筛选数据后分析,以及配合having进行筛选后过滤. 假设现有数据库表如下 ...
- 用JS制作一个信息管理平台
首先,介绍一些需要用到的基本知识. [JSON] JSON是数据交互中,最常用的一种数据格式. 由于各种语言的语法都不相同,在传递数据时,可以将自己语言中的数组.对象等转换为JSON字符串. 传递之后 ...
- 程序员也是弱势群体?——从WePhone开发者事件说起
作为一名不爱凑热闹的人,今天一直在持续关注一个热点事件--WePhone开发者自杀,即使前几天热议的孕妇跳楼新闻我都不太关注,但是这个事件却让我深深的震撼,花了几个小时在微博上搜索了相关的信息,去了解 ...