部署说明

1. 前提条件

环境版本
Javajdk1.8
数据库MySQL-5.6
ZooKeeperZooKeeper-3.4.10

备注:安装说明请参看 附录-1,不使用分布式任务可以不部署ZooKeeper。

2. 拉取代码

执行命令:

  1. git clone https://github.com/WeBankFinTech/WeBASE-Transaction.git

进入目录:

  1. cd WeBASE-Transaction

3. 编译代码

使用以下方式编译构建,如果出现问题可以查看 附录-2方式一:如果服务器已安装Gradle,且版本为gradle-4.10或以上

  1. gradle build -x test

方式二:如果服务器未安装Gradle,或者版本不是gradle-4.10或以上,使用gradlew编译

  1. ./gradlew build -x test

构建完成后,会在根目录WeBASE-Transaction下生成已编译的代码目录dist。

4. 修改配置

(1)进入目录:

  1. cd dist/conf

将节点sdk目录下的以下文件复制到当前目录:ca.crt、node.crt、node.key

(2)以下有注释的地方根据实际情况修改:

  1. vi application.yml
  1. server:
  2. # 本工程服务端口,端口被占用则修改
  3. port: 8082
  4. context-path: /webase-transaction
  5.  
  6. spring:
  7. datasource:
  8. # 数据库连接信息
  9. url: jdbc:mysql://127.0.0.1:3306/db_transaction?useUnicode=true&characterEncoding=utf8
  10. # 数据库用户名
  11. username: dbUsername
  12. # 数据库密码
  13. password: dbPassword
  14. driver-class-name: com.mysql.jdbc.Driver
  15.  
  16. sdk:
  17. # 机构名
  18. orgName: webank
  19. timeout: 10000
  20. # 群组信息,可配置多群组和多节点
  21. groupConfig:
  22. allChannelConnections:
  23. - groupId: 1
  24. connectionsStr:
  25. - 127.0.0.1:20200
  26. - 127.0.0.1:20201
  27. - groupId: 2
  28. connectionsStr:
  29. - 127.0.0.1:20200
  30. - 127.0.0.1:20201
  31.  
  32. constant:
  33. # 本地配置私钥进行签名,使用这种模式则对应修改
  34. privateKey: edf02a4a69b14ee6b1650a95de71d5f50496ef62ae4213026bd8d6651d030995
  35. cronTrans: 0/1 * * * * ?
  36. requestCountMax: 6
  37. selectCount: 10
  38. intervalTime: 600
  39. sleepTime: 50
  40. # 使用分布式任务部署多活(true-是,false-否)
  41. ifDistributedTask: false
  42.  
  43. job:
  44. regCenter:
  45. # 部署多活的话需配置zookeeper,支持集群
  46. serverLists: 127.0.0.1:2181
  47. namespace: elasticjob-trans
  48. dataflow:
  49. # 分片数(如多活3个的话可分成3片)
  50. shardingTotalCount: 3

5. 服务启停

进入到已编译的代码根目录:

  1. cd dist
  1. 启动:sh start.sh
  2. 停止:sh stop.sh
  3. 检查:sh status.sh

备注:如果脚本执行错误,尝试以下命令:

  1. 赋权限:chmod + *.sh
  2. 转格式:dos2unix *.sh

6. 查看日志

在已编译的代码根目录dist查看:

  1. 交易服务日志:tail -f log/transaction.log
  2. web3连接日志:tail -f log/web3sdk.log