CentOS配置fabric-1.0的kafka模式

目前fabric1.0将广播服务从peer节点中分离出来,形成orderer节点,orderer节点提供原子通信保证(Atomic Communication Guarantee),也叫做有序广播(total-order broadcast)、原子广播(atomic broadcast), 共识(consensus)。即将peer节点发送过来的交易进行排序、打包为区块,然后将区块广播各个组织的peer节点。

fabric-1.0的orderer提供solo、kafka和bft三种模式,分别可以认为是中心化、半中心化和去中心化。其中solo模式指整个fabric网络依赖于一个orderer节点,而kafka模式依赖于一个kafka集群,bft模式则是去中心化的orderer集群,但目前bft模式并没有在fabric-1.0中实现。

这里写图片描述

本文则介绍fabric-1.0的kafka模式搭建。fabric-1.0环境配置请参考这里

配置Java环境

下载并解压JDK

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html中下载jdk-8u131-linux-x64.tar.gz包并存放在任意目录

将jdk包解压到指定目录

$ sudo mkdir -p /opt/java
$ sudo tar -zxvf jdk-8u131-linux-x64.tar.gz -C /opt/java

配置环境变量

编辑/etc/profile,添加

export JAVA_HOME=/opt/java/jdk1.8.0_131
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

导入环境变量

$ source /etc/profile

测试

java-version

配置Zookeeper

zookeeper集群至少3个节点

下载并解压zookeeper

http://zookeeper.apache.org/releases.html#download下载 zookeeper-3.4.10.tar.gz,并解压

$ tar -zxvf zookeeper-3.4.10.tar.gz -C /home/hyperledger/opt/

修改配置文件

$ cd /home/hyperledger/opt/zookeeper-3.4.10/conf
$ cp zoo_sample.cfg zoo.cfg
$ vim zoo.cfg

配置以下参数

zookeeper-config

创建myid文件

在$dataDir中创建myid

$ mkdir -p /home/hyperledger/data/zookeeper
$ vim /home/hyperledger/data/zookeeper myid

在文件中写入1
其他节点相应写入2和3

启动zookeeper服务

在各个节点上启动zkServer,确保相应端口的防火墙权限打开

$ bin/zkServer.sh start

配置kafka集群

下载并解压kafka包

http://kafka.apache.org/downloads下载 kafka_2.11-0.10.2.0.tgz,解压文件

$ tar -zxvf kafka_2.11-0.10.2.0.tgz -C /home/hyperledger/opt/

修改配置文件

$ vim /home/hyperledger/opt/kafka_2.11-0.10.2.0/config/server.properties

修改broke.id为0,其他节点对应1,2

kafka-config01

添加default.replication.factor,建议为broker节点的个数
添加message.max.bytes和replica.fetch.max.bytes,为了避免传输数据了较大的chaincode出现错误

kafka-config02

配置zookeeper集群

kafka-config03

启动kafka服务

后台启动kafka服务

$ bin/kafka-server-start.sh -daemon config/server.properties

查看日志

$ tailf logs/server.log

测试

创建topic

$ bin/kafka-topics.sh --create --zookeeper 192.168.12.10:2181 --replication-factor 3 --partitions 3  --topic cluster-test 
#--zookeeper是集群列表,可以指定所有节点,也可以指定为部分列表
#--replication-factor 为复制数目,数据会自动同步到其他broker上,防止某个broker宕机数据丢失
#--partitions 一个topic可以切分成多个partition,一个消费者可以消费多个partition,但一个partition只能被一个消费者消费

查看topic详情

$ bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic cluster-test

启动生产者

$ bin/kafka-console-producer.sh --broker-list localhost:9092 --topic cluster-test

启动消费者

$ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic cluster-test --from-beginning

在生产者console输入消息进行发送
在消费者console就可以看到消息了

修改fabric的configtx.yaml配置文件

修改fabric/common/configtx/tool/configtx.yaml
配置OrdererType为kafka,并配置broker列表

configtx-kafka

重新生成创世区块文件,重启orderer即可。

另外zookeeper和kafak集群也可以利用fabric-zookeeper和fabric-kafka镜像,用docker-compose工具进行部署。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,383评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,522评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,852评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,621评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,741评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,929评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,076评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,803评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,265评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,582评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,716评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,395评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,039评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,027评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,488评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,612评论 2 350

推荐阅读更多精彩内容