附录
CentOS环境安装Java
Ubuntu环境安装Java
sudo apt install -y default-jdk
# 查询Java版本
java -version
1.2 Gradle部署
此处给出简单步骤,供快速查阅。更详细的步骤,请参考。
(1)从官网下载对应版本的Gradle安装包,并解压到相应目录
mkdir /software/
unzip -d /software/ gradleXXX.zip
(2)配置环境变量
export GRADLE_HOME=/software/gradle-4.10
export PATH=$GRADLE_HOME/bin:$PATH
(3)查看版本
gradle -version
一般问题
- 问:执行shell脚本报下面错误:
答:这是编码问题,在脚本的目录下执行转码命令:
dos2unix *.sh
- 问:服务访问数据库抛出异常:
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
答:检查数据库的网络策略是否开通
下面以centos7为例:
重新启动防火墙:firewall-cmd --reload
- 问:执行数据库初始化脚本抛出异常:
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (110)
WeBASE-Node-Manager服务搭建问题
- 问:执行构建命令
gradle build -x test
抛出异常:
A problem occurred evaluating root project 'WeBASE-Node-Manager'.
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:
需要输入配置数据库时设置的密码。
然后查询数据库开启的规则:
SELECT @@GLOBAL.sql_mode;
SELECT @@SESSION.sql_mode;
返回如下:
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';
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.isUseSecurity
为false
即可禁用WeBASE-Node-Manager的登录鉴权。
- 若需要指定用户进行接口调用,可以在请求的
headers
中增加Account
字段,其值设置为节点管理服务的用户名,如获取开发者用户对应数据(开发者用户只能看到自己所创建的数据)。
v1.5.2后,节点管理服务搭配了swagger,可用于直接调试接口,需要关闭鉴权后,访问 {ip}:5001/WeBASE-Node-Manager/swagger-ui.html
即可访问swagger页面