第九章 webase 分布式中间件平台快速部署
本篇博客是在和FISCO BCOS团队、微众银行WeBASE团队联调了一个下午,最终把许多坑填上,完成WeBASE的搭建后完成的!感谢小伙伴们的找错纠错,感谢!
参考资料:https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE/install.html#id8
前提
快速部署webase 版本,目前支持标准版,国密版本不支持。
一、安装各个环境
Java jdk1.8
MySQL MySQL-5.6
Python 2.7
MySQL-python 1.2.5
确认环境
java 查询版本:java -version
MySQL: mysql -v
python :python2 --version
mysql 操作
1、修改root 密码
sudo passwd
输入两次新密码
2、用root 登录
su root
输入root的密码
3、重启mysql
sudo service mysql restart
要在root 用户下操作
授权访问和添加用户
使用root用户登录,密码为初始化设置的密码
mysql -uroot -p -h localhost -P
授权root用户远程访问
mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;
mysql > flush PRIVILEGES;
备注:由于root 不适合对外,建议使用test用户。
创建test用户并授权本地访问
mysql > GRANT ALL PRIVILEGES ON *.* TO 'test'@localhost IDENTIFIED BY '' WITH GRANT OPTION;
mysql > flush PRIVILEGES;
测试连接和创建数据库
登录数据库
mysql -utest -p123456 -h localhost -P
创建数据库
mysql > create database db_mgr;
二、正式操作
1、拉取部署脚本
获取部署安装包:
wget https://github.com/WeBankFinTech/WeBASELargeFiles/releases/download/V1.0.1/webase-deploy.zip
2、解压安装包:
unzip webase-deploy.zip
3、进入目录:
cd webase-deploy
找不到MySQLdb
Traceback (most recent call last):
...
ImportError: No module named MySQLdb
解法
sudo apt-get install -y python-pip
sudo pip install MySQL-python

遇到问题,试试:解决 Command "python setup.py egg_info" failed with error code 1 问题
在执行 pip install -r requirements.txt 时遇到错误:
Command "python setup.py egg_info" failed with error code 1
解决方法是更新 setuptools 和 pip:
pip install --upgrade setuptools
python -m pip install --upgrade pip
针对该问题:提的github pr https://github.com/WeBankFinTech/WeBASE/pull/26
4、安装oracle sdk
opensdk 和oracle sdk差别(做一些了解)
https://blog.csdn.net/weilin705/article/details/88950522

下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
(1)下载 8.212 版本
sudo tar -zxvf jdk-8u212-linux-x64.tar.gz
(2)解压目录下
tar -zxvf jdk-8u211-linux-x64.tar.gz
(3)配置sudo vi /etc/profile
JAVA_HOME=/home/ubuntu/software/jdk1..0_212
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH==.:$JAVA_HOME/lib
export JAVA_HOME CLASSPATH PATH
在本步骤操作,修改完成,查看java -version 依然是opensdk 版本

这是不对的,需要去修改。
(4)命令whereis java、which java,确认java 位置
ubuntu@VM---ubuntu:~$ which java
/usr/bin/java
(5)把 /usr/bin/java 下面java 移走(因为这个java 会干扰我们正常的java配置)
mv /usr/bin/java /home/ubuntu/software
(6)重新载入配置
source /etc/profile
(7)查看java 版本
root@VM---ubuntu:/usr/bin# java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) -Bit Server VM (build 25.212-b10, mixed mode)
5、修改配置,运行
修改 common.properties
[common] # 下载链接,默认不修改
web.package.url=https://www.fisco.com.cn/cdn/WeBASE/release/download/V1.0.1/webase-web.zip
mgr.package.url=https://www.fisco.com.cn/cdn/WeBASE/release/download/V1.0.1/webase-node-mgr.zip
front.package.url=https://www.fisco.com.cn/cdn/WeBASE/release/download/V1.0.1/webase-front.zip # 数据库配置
mysql.ip=localhost//本地mysql 地址
mysql.port=
mysql.user=root
mysql.password=123qwe
mysql.database=db_mgr # 各个服务的端口
web.port=8096//改为不会冲突的
mgr.port=
front.port= # 节点端口配置
node.p2pPort=
node.channelPort=
node.rpcPort= # 是否使用已有的链
if.exist.fisco=yes # 使用已有链时需配置(已有链的路径,start_all.sh脚本所在路径)
fisco.dir=/home/ubuntu/generator/nodeA/ # 搭建新链时需配置
fisco.version=2.0.
node.counts=
备注:8080 端口nginx 占用,所以端口也要改一下,改为8096 只要不冲突就好了
保存,并重新启动部署
python deploy.py installAll
6、目前支持127.0.0.1 等内网一键部署,不支持外网

需要将/generator/nodeA 中config.ini 节点配置修改
把rpc的listen_ip改成127.0.0.1重启一下,只改一个节点
7、生成sdk 目录到指定目录
由于webase 部署需要用到sdk 证书等,所以必须在这里生成。

执行如下命令
./generator --generate_sdk_certificate ./nodeA ./dir_agency_ca/agencyA/ ./generator --generate_sdk_certificate ./nodeB ./dir_agency_ca/agencyB/
8、重启节点,并且重新部署服务
bash ./nodeA/stop_all.sh
进入webase-deploy目录,重新启动服务
python deploy.py installAll
备注:如果此时有些端口占用问题出现,使用如下命令去查找,并将其kill
sudo lsof -i:[port] sudo kill [PID]
9、成功部署搭建

简单查看一下目录结构

log是一键安装的日志,webase-*是webase的三个组件
(1)登录账号密码 http://148.70.170.96:8096/#/login

写入官方的默认账号和密码
admin/Abcd1234
参考资料:https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Console-Suit/index.html#id5
一开始发现 数据库异常,原来是mysql root 权限问题,
进入目录::/home/ubuntu/webase-deploy/webase-node-mgr/conf
vim application.yml
将对应的mysql 的用户 改为test的
(2)配置端口,发现端口无法连接

这个时候配置发现无法连接。
问题定位:1、证书验证不通过
2、ssl 和节点的连接失败
将链的控制台 证书等copy 给对应目录下

修改 application.yml文件的配置
spring:
datasource:
url: jdbc:h2:file:~/.h2/front_db;DB_CLOSE_ON_EXIT=FALSE
databaseName: db
driverClassName: org.h2.Driver
serverName:
username:
password:
jpa:
database-platform: org.hibernate.dialect.H2Dialect
database: H2
openInView: false
show_sql: false
generate-ddl: true
hibernate:
ddl-auto: update
naming-strategy: org.hibernate.cfg.EJB3NamingStrategy
session:
events:
log: false
properties:
hibernate.cache.use_query_cache: false
hibernate.generate_statistics: false
h2:
console:
enabled: true
path: /console
settings:
web-allow-others: false
trace: true server:
port:
context-path: /WeBASE-Front sdk:
orgName: orgTest
corePoolSize:
maxPoolSize:
queueCapacity:
timeout:
keepAlive:
ip: 127.0.0.1//这里的ip 要和nodeA对应节点的rpc 监听ip 一样
channelPort: logging:
config: classpath:log4j2.xml constant:
keyServer: 127.0.0.1:
transMaxWait:
monitorDisk: /home/ubuntu/generator/nodeA/
aesKey: EfdsW23D23d3df43

配置成功,登录,修改密码

控制台展示

节点管理

节点监控

至此,完成部署。
附录
辅助操作权限等,可以使用的命令
权限修改
常用方法如下:
sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)
设置ubuntu 账户拥有当前文件夹变更拥有者
sudo chown -R ubuntu:users ./
读后感觉不错,有收获可以微信请作者喝杯咖啡,读后有疑问请加微信,拉群研讨,注明来意


第九章 webase 分布式中间件平台快速部署的更多相关文章
- <自动化测试方案_9>第九章、持续集成平台搭建
第九章.持续集成平台搭建 (一)什么是持续集成 参考文章地址:https://blog.csdn.net/qq_32261399/article/details/76651376 敏捷软件开发(英语: ...
- 开源分布式中间件 DBLE 快速入门指南
GitHub:https://github.com/actiontech/dble 官方中文文档:https://actiontech.github.io/dble-docs-cn/ 一.环境准备 D ...
- 分布式文件系统ceph快速部署
架构图 配置ceph-deploy节点 管理节点配置ceph yum源 vim /etc/yum.repos.d/ceph.repo [ceph-noarch] name=Ceph noarch pa ...
- Java 分布式任务调度平台:PowerJob 快速开始+配置详解
本文适合有 Java 基础知识的人群 作者:HelloGitHub-Salieri 引言 HelloGitHub 推出的<讲解开源项目>系列. 项目地址: https://github.c ...
- AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(二):配置WinClient分布式运行环境
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
- XXL-JOB分布式任务调度平台安装与部署
配XXL-JOB分布式任务调度平台安装与部署
- Gradle 1.12 翻译——第九章 Groovy快速入门
由于时间关系,没办法同时做笔记和翻译,关于Gradle的用户指南,本博客不再做相关笔记,而只对未翻译章节进行翻译并在此发表. 有关其他已翻译的章节请关注Github上的项目:https://githu ...
- 快速部署 Spring PetClinic 到函数计算平台
简介 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute):函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算准 ...
- 分布式任务调度平台XXL-JOB快速搭建教程
1. XXL-JOB简介 XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源代码并接入多家公司线上产品线,开箱即用.它的有两个核心模块,一个模块叫做 ...
随机推荐
- mingw 构建 mysql-connector-c-6.1.9记录(26种不同的编译错误,甚至做了一个windows系统返回错误码与System V错误码的一个对照表)
http://www.cnblogs.com/oloroso/p/6867162.html
- sqlserver创建接受任何类型的nvl
if exists ( select * from sys.objects where object_id = object_id(N'dbo.nvl') and type = N'FN') begi ...
- So Good They Can't Ignore You
总体而言,这本书的作者的观点就是,你只有做好了,才会有兴趣,而不是一开始就找可能并不存在的所谓兴趣——好多人就败在不停地找这么一个根本就不存在的兴趣.这个观点简直就是拯救那些乔布斯的粉丝:Follow ...
- intellij开发安卓与genymotion配合
原文:intellij开发安卓与genymotion配合 [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http: ...
- 【备忘】WPF基础
XAML 为了避免生成用户界面(GUI)的代码和基于用户操作执行的代码混合在一起. 名称空间 值得注意的名称空间: xmlns="http://schemas.microsoft.com/w ...
- AStyle 2.02版本 AStyle(全称Artistic Style)是一个C、C++、C#和Java源代码缩进、格式化和美化工具
http://download.csdn.net/detail/akof1314/3323725
- Windows Phone 8加载外部动态链接库DLL(非安装包内的)
Windows Phone 8加载外部动态链接库DLL(非安装包内的) 在<动态加载与插件化>中大概介绍了下,wp8加载非安装包的下动态链接库,这次详细梳理下. 加载外部DLL主要的原理: ...
- 完美解决iis下JWplayer提示Error loading media: File could not be played错误
最近开发项目需要使用JWplayer插件播放视频,但是无论换那个版本.换什么样的视频总是提示Error loading media: File could not be played错误,废了好大的劲 ...
- 自己动手写jQuery插件---Tip(提示框)
对jQuery相信很多同学和我一样平时都是拿来主义,没办法,要怪只能怪jQuery太火了,各种插件基本能满足平时的要求.但是这毕竟不是长久之道,古人云:“授之以鱼,不如授之以渔”. 为了方便之前没有接 ...
- 第一个SpringBoot测试实例
1.SpringBoot项目构建:http://start-spring.io 自动化构建SpringBoot项目,保存在本地并解压 2.安装gradle并配置gradle环境 3.配置阿里云ma ...