kafka集群部署fabric
闲话:这一步先做一些准备工作,因为集群部署涉及很多东西,这里把基础打好,然后可以运行集群。
当时没有虚拟机,使用现实的物理机,没有太多资金来构建一个集群。所以当时分析需要4台服务器打基础,一台作为peer节点,此外还有一台是作为新节点来测试动态加入的。请注意这是最低要求,一般来讲一个正式的kafka集群需要8台服务器,其中包含:
三个order节点 三个zookeeper节点 四个kafka节点 两个组织,其中每个组织有两个peer节点
整体大致架构如下:
第一步 修改hosts文件
按照上一篇博文记录,设置了8台虚拟机,其中ip节点都是上一篇文章教程中设置过的。那么接下来就一一修改每一台服务器的host文件。
vim /etc/hosts
然后将一下配置放进去:
192.168.137.128 kafka0
192.168.137.129 kafka1
192.168.137.130 kafka2
192.168.137.131 kafka3
192.168.137.132 org1.peer0
192.168.137.133 org1.pper1
192.168.137.134 org2.peer0
192.168.137.135 org2.peer1
192.168.137.128 orderer0
192.168.137.129 orderer1
192.168.137.130 orderer2
192.168.137.128 zookeeper0
192.168.137.129 zookeeper1
192.168.137.131 zookeeper2
然后,针对于每一台需要加入集群的服务器,都按照此步骤执行一次,并且保证内容一致。
第二步 配置免密登录
这一步操作默认是在kafka0服务器,也就是IP地址为192.168.137.128这台服务器上。
在环境部署过程中,有时需要服务器与服务器之间传输文件,当然你完全可以先下载到电脑上,然后再传到其他服务器上面去,但是过程未免繁琐。这一步请保证在上一步完成的基础上进行。
首先,免密登录需要root权限。在我们root目录下,可以看到有.ssh这么一个隐藏文件: 我们进入这个目录之后,生成公私钥:
cd .ssh
ssh-keygen
然后我们连续三个回车,默认不设置密码 之后会在下面生成 id_rsa.pub 和 id_rsa 两个文件。 我们将公钥上传到其他的服务器,举个例子这里上传到
ssh-copy-id root@kafka1
或者
ssh-copy-id root@192.168.137.129
然后总共8台服务器,对其他7台都依次上传一下公钥。构建环境涉及传输一些文件到其他服务器,下一步会讲到,这里传输文件主要是kafka0这台机器对其他服务器传输。大家也可以将其他几台都配置一下。
第三步 文件准备
首先下载我写好的一些配置文件,这里贴出来:
链接:https://pan.baidu.com/s/12ek6asJpRyPmB5u6kvl-NA 提取码:35jv
这里面包含了 kafka0 到 org2peer1 总共八台服务器的所有配置文件。 统一都是上传到服务器这个目录下面,如果没有kafkapeer这个目录自己创建一个即可。
cd /opt/gopath/src/github.com/hyperledger/fabric/kafkapeer/
先下载到本地电脑上,不慌上传到服务器,在下一篇我会讲明集群搭建流程。
准备工作差不多就是这样,如果未曾按照我的教程走的,可能是yaml文件里面具体涉及到的一些ip地址需要填写你自己的实际使用地址,也可能gopath那些环境变量需要写成自己的。此外,虽然我这里采用的是3kafka + 3zookeeper + 4orderer + 两个组织四个peer的模式,但实际上你甚至可以只用一个组织,里面只包含一个peer,当然这就需要进一步修改configtx.yaml文件以及crypto-config.yaml (因为这两个配置文件是写了两个组织的,你如果只有一个组织就删掉一个),此外peer的yaml配置文件也需要将后面几个多余的peer节点地址删掉,否则会有无法构建集群的风险(过于麻烦)。 基于此,这里建议还是用标准的8台服务器,反正虚拟机又不用钱,如果受限于实际服务器限制,可以适当减少几个peer节点,但四个构成kafka集群的核心服务器不能少。(严格来讲只用3台就行, 因为kafka也是三台就能构成,只是为了稳定和防止崩了所以多了一台;但还是建议四台构成集群)
|