附录

    CentOS环境安装Java

    Ubuntu环境安装Java

    1. sudo apt install -y default-jdk
    2. # 查询Java版本
    3. java -version

    1.2 Gradle部署

    此处给出简单步骤,供快速查阅。更详细的步骤,请参考。

    (1)从官网下载对应版本的Gradle安装包,并解压到相应目录

    1. mkdir /software/
    2. unzip -d /software/ gradleXXX.zip

    (2)配置环境变量

    1. export GRADLE_HOME=/software/gradle-4.10
    2. export PATH=$GRADLE_HOME/bin:$PATH

    (3)查看版本

    1. gradle -version

    一般问题

    • 问:执行shell脚本报下面错误:

    答:这是编码问题,在脚本的目录下执行转码命令:

    1. dos2unix *.sh
    • 问:服务访问数据库抛出异常:
    1. The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

    答:检查数据库的网络策略是否开通

    1. 下面以centos7为例:
    2. 重新启动防火墙:firewall-cmd --reload
    • 问:执行数据库初始化脚本抛出异常:
    1. ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (110)

    WeBASE-Node-Manager服务搭建问题

    • 问:执行构建命令gradle build -x test抛出异常:
    1. A problem occurred evaluating root project 'WeBASE-Node-Manager'.
    2. Could not find method compileOnly() for arguments [[org.projectlombok:lombok:1.18.2]] on root project 'WeBASE-Node-Manager'.

    答: 方法1、已安装的Gradle版本过低,升级Gradle版本到4.10以上即可。 方法2、直接使用命令:./gradlew build -x test,如果提示gradlew为非可执行文件,执行chmod +x ./gradlew再次执行build操作即可。

    全量交易/全量合约/交易审计出现系统异常问题

    • 问:在WeBASE页面进入合约管理/合约列表/全量或者交易审计/异常用户界面时,发生WeBASE-Node-Manager系统异常:

    答:检查日志发现报错是由于数据库版本过高,需要禁用only_full_group_by。

    登陆数据库 mysql -u root -p 返回:Enter password:

    需要输入配置数据库时设置的密码。

    然后查询数据库开启的规则:

    1. SELECT @@GLOBAL.sql_mode;
    2. SELECT @@SESSION.sql_mode;

    返回如下:

    1. set @@GLOBAL.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
    2. set @@SESSION.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

    引号中为之前查询规则结果中除了ONLY_FULL_GROUP_BY以外的规则

    若设置时报错,只需将引号中报错的规则删去并重新执行命令即可,然后重启WeBASE便可解决异常。

    • 问:启动Node-Manager进程后,后台日志显示not found any front

    答:此处为正常提示,表示后台没有可访问的节点前置。通过WeBASE-Web连接Node-Manager后台服务后,添加节点前置即可。

    节点管理服务忘记密码

    登录到WeBASE-Node-Manager中配置的Mysql数据库(默认为webasenodemanager)后,在tb_account_info中插入一条新的管理员账号test,密码Abcd1234

    关闭鉴权调用(联调)

    application.yml中配置constant.isUseSecurityfalse即可禁用WeBASE-Node-Manager的登录鉴权。

    • 若需要指定用户进行接口调用,可以在请求的headers中增加Account字段,其值设置为节点管理服务的用户名,如获取开发者用户对应数据(开发者用户只能看到自己所创建的数据)。

    v1.5.2后,节点管理服务搭配了swagger,可用于直接调试接口,需要关闭鉴权后,访问 {ip}:5001/WeBASE-Node-Manager/swagger-ui.html 即可访问swagger页面