如果是第一次安装WeEvent
,参见这里的系统要求 。以下安装以CentOS 7.2
为例。
因为区块链使用的加密算法很多OpenJDK
版本没有提供。所以在各Java
启动脚本里有设置JAVA_HOME
变量让用户设置符合要求的JDK
。
-
Zookeeper服务
必选配置。服务注册和发现会使用到。
推荐使用
Zookeeper 3.5.5
及其以上版本。具体安装步骤,请参见Zookeeper安装。 -
区块链FISCO-BCOS节点
必选配置。Broker通过区块链
FISCO-BCOS
持久化数据。
从github
下载安装包weevent-broker-1.6.0.tar.gz,并且解压到/usr/local/weevent/
下。
$ cd /usr/local/weevent/
$ wget https://github.com/WeBankBlockchain/WeEvent/releases/download/v1.6.0/weevent-broker-1.6.0.tar.gz
$ tar -zxf weevent-broker-1.6.0.tar.gz
如果github
下载速度慢,可以尝试国内下载链接。
解压后的目录如下:
$ cd ./weevent-broker-1.6.0
$ tree -L 1
.
|-- apps
|-- broker.sh
|-- check-service.sh
|-- conf
|-- deploy-fabric-topic-control.sh
|-- deploy-topic-control.sh
|-- gen-cert-key.sh
`-- lib
-
配置Zookeeper服务
可选配置。
./conf/application-prod.properties
中spring.cloud.zookeeper
配置项。# spring cloud zookeeper spring.cloud.zookeeper.enabled=true spring.cloud.zookeeper.connect-string=127.0.0.1:2181
-
区块链FISCO-BCOS节点
-
区块链节点配置文件fisco.yml
修改
nodes=127.0.0.1:20200
配置项,nodes
为区块链节点channel
访问入口。 -
访问节点的证书文件
2.x版本的证书文件
ca.crt
、sdk.crt
、sdk.key
放在./conf/conf
目录下。国密版需要的证书文件
gmca.crt、gmensdk.crt、gmensdk.key、gmsdk.crt、gmsdk.key
。证书目录在FiscoBcos安装目录下
nodes/127.0.0.1/sdk/
, 可直接将该目录下所有内容拷贝到./conf/conf
下。cp -rf fisco安装路径/nodes/127.0.0.1/sdk/* ./conf/conf
证书文件生成及获取请参见FISCO-BCOS 2.x安装 及 FISCO-BCOS SDK配置说明 。
-
-
部署系统合约
运行脚本
./deploy-topic-control.sh
部署合约。例如:$ ./deploy-topic-control.sh 2020-03-06 10:33:37 topic control address in every group: topic control address in group: 1 version: 10 address: 0x23df89a2893120f686a4aa03b41acf6836d11e5d new: true topic control address in group: 2 version: 10 address: 0x23df89a2893120f686a4aa03b41acf6836d11e5d new: true
脚本会检查之前是否部署过合约,重复执行只是显示已有数据。
-
配置Broker监听端口
可选配置。
./conf/application-prod.properties
中server.port
配置项,默认监听端口7000
,根据业务需要配置。 -
配置IP白名单
可选配置。
./conf/weevent.properties
中配置了值就会开启白名单验证。# 配置ip白名单,多个ip使用分号分割 示例:127.0.0.1;127.0.0.2 ip.check.white-table=${ip}
ip.check.white-table
默认为空,允许任何客户端IP
访问。 -
配置STOMP
可选配置。
./conf/weevent.properties
中stomp.*
配置项。# 发送心跳时间间隔 单位:秒 stomp.heartbeats=30
-
配置
MQTT Broker
可选配置。配置文件
./conf/weevent.properties
中mqtt.*
配置项。# MQTT over tcp端口 mqtt.broker.tcp.port=7001 # 心跳时间 单位:秒 mqtt.broker.keepalive=60
-
启动用户身份认证、权限控制
可选配置,默认不开启,目前支持MQTT协议,后续会扩展支持其他协议。需要在DB里配置用户名密码,可通过外部工具处理,后续提供接口增删。
spring.security.user.auth=false spring.security.user.topic.auth=false
更多系统详细配置参见配置说明
通过./broker.sh start
命令启动服务,正常启动如下:
$ ./broker.sh start
start weevent-broker success (PID=89054)
add the crontab job success
通过./broker.sh stop
命令停止服务。
进程启动后,会自动加入集群,同时添加crontab
监控任务./broker.sh monitor
。