目录
一、节点搭建
二、节点前置服务搭建
三、状态检查
四、访问
1.启动报错JAVA_HOME has not been configured
在区块链应用开发阶段建议用户使用快速入门搭建。在快速入门搭建模式,开发者只需要搭建节点和节点前置服务(WeBASE-Front),就可通过WeBASE-Front的合约编辑器进行合约的编辑,编译,部署,调试。
节点搭建
我们前面有讲过,不会的小伙伴可以参考搭建第一个区块链网络(单机四节点)。
节点前置服务搭建
前提条件
依赖软件 | 支持版本 |
---|---|
Java | Oracle JDK 8 至JDK 14 |
下载安装包
wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.5/webase-front.zip
解压
unzip webase-front.zip
cd webase-front
-
拷贝sdk证书文件(build_chain的时候生成的,这里我们使用的是非国密版本)
将节点所在目录
nodes/${ip}/sdk
下的所有文件拷贝到当前conf
目录,供SDK与节点建立连接时使用(SDK会自动判断是否为国密,且是否使用国密SSL)- 链的
sdk
目录包含了ca.crt, sdk.crt, sdk.key
和gm
文件夹,gm
文件夹包含了国密SSL所需的证书 - 拷贝命令可使用
cp -r nodes/${ip}/sdk/* ./conf/
- 注,只有在建链时手动指定了
-G
(大写)时节点才会使用国密SSL
- 链的
#在~/fisco/webase-front 目录下(一定要注意目录)
cp -r ~/fisco/127.0.0.1/sdk/* ./conf/
-
服务启停
服务启停命令:
启动: bash start.sh
停止: bash stop.sh
检查: bash status.sh
启动成功将出现如下日志:
... Application() - main run success...
状态检查
成功部署后,可以根据以下步骤确认各个子服务是否启动成功
1. 检查各子系统进程
通过ps
命令,检查节点与节点前置的进程是否存在
- 包含:节点进程
nodeXX
,节点前置进程webase.front
检查方法如下,若无输出,则代表进程未启动,需要到webase-front/log
中查看日志的错误信息,并根据错误提示或根据WeBASE-Front常见问题进行错误排查
检查节点进程
$ ps -ef | grep node
输出如下,此处部署了两个节点node0, node1
root 29977 1 1 17:24 pts/2 00:02:20 /root/fisco/webase/webase-deploy/nodes/127.0.0.1/node1/../fisco-bcos -c config.ini
root 29979 1 1 17:24 pts/2 00:02:23 /root/fisco/webase/webase-deploy/nodes/127.0.0.1/node0/../fisco-bcos -c config.ini
检查节点前置webase-front的进程
$ ps -ef | grep webase.front
输出如下
root 31805 1 0 17:24 pts/2 00:01:30 /usr/local/jdk/bin/java -Djdk.tls.namedGroups=secp256k1 ... conf/:apps/*:lib/* com.webank.webase.front.Application
2. 检查进程端口
通过netstat
命令,检查节点与节点前置的端口监听情况
检查方法如下,若无输出,则代表进程端口监听异常,需要到webase-front/log
中查看日志的错误信息,并根据错误提示或根据WeBASE-Front常见问题进行错误排查
检查节点channel端口(默认为20200)是否已监听
$ netstat -anlp | grep 20200
输出如下
tcp 0 0 0.0.0.0:20200 0.0.0.0:* LISTEN 29069/fisco-bcos
检查webase-front端口(默认为5002)是否已监听
$ netstat -anlp | grep 5002
输出如下
tcp6 0 0 :::5002 :::* LISTEN 2909/java
3. 检查服务日志
日志中若出现报错信息,可根据信息提示判断服务是否异常,也可以参考并根据错误提示或根据WeBASE-Front常见问题进行错误排查
- 如果节点进程已启用且端口已监听,可跳过本章节
- 如果节点前置异常,如检查不到进程或端口监听,则需要
webase-front/log
中查看日志的错误信息 - 如果检查步骤出现检查不到进程或端口监听等异常,或者前置服务无法访问,可以按以下顺序逐步检查日志:
- 检查
webase-front/log
中查看节点前置日志的错误信息,如果无错误,且日志最后出现application run success
字样则代表运行成功 - 检查
nodes/127.0.0.1/nodeXXX/log
中的节点日志
- 检查
查看运行成功日志:webase-front运行成功后会打印日志main run success
,可以通过搜索此关键字来确认服务正常运行。
如,检查webase-front日志,其他webase服务可进行类似操作
$ cd webase-front
$ grep -B 3 "main run success" log/WeBASE-Front.log
输出如下:
2020-12-09 15:47:25.355 [main] INFO ScheduledAnnotationBeanPostProcessor() - No TaskScheduler/ScheduledExecutorService bean found for scheduled processing
2020-12-09 15:47:25.378 [main] INFO TomcatEmbeddedServletContainer() - Tomcat started on port(s): 5002 (http)
2020-12-09 15:47:25.383 [main] INFO Application() - Started Application in 6.983 seconds (JVM running for 7.768)
2020-12-09 15:47:25.383 [main] INFO Application() - main run success...
访问
访问 http://{deployIP}:{frontPort}/WeBASE-Front,示例:
```
http://localhost:5002/WeBASE-Front
```
到这里节点前置服务已经搭建起来了!!!。
节点前置服务搭建常见问题
1.启动报错JAVA_HOME has not been configured
解决方法:这个是因为java环境没有配置(注意第三步的java 版本)
1.下载java jdk
sudo apt install -y default-jdk
2.查看java 版本 javac --version 3.配置环境 sudo vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/binsource /etc/profile ###更新一下配置文件
然后重启就🆗了。
2.启动报错Failed,如图:
解决方法:
类似于这样的报错一般都是端口未开放(可以参靠这里)
- sudo apt-get install iptables
安装相应持续化规则扩展包- sudo apt-get install iptables-persistent
开放端口5000,5002- sudo iptables -I INPUT -p tcp --dport 5000 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 5002 -j ACCEPT
#安装iptables-persistent后 开放端口需要root权限
然后重启就🆗了。
3.启动不报错,但是无法进入网页,如图:
解决方法:
查看一下证书有没有配置:
把这三个节点证书拷贝到webase-front/conf/目录下(这里部署的是非国密版本)
完成后重启服务就🆗了。