第九章 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是一个分布式任务调度平台,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源代码并接入多家公司线上产品线,开箱即用.它的有两个核心模块,一个模块叫做 ...
随机推荐
- 简单易用的MongoDB
从我第一次听到Nosql这个概念到如今已经走过4个年头了,但仍然没有具体的去做过相应的实践.最近获得一段学习休息时间,购买了Nosql技术实践一书,正在慢慢的学习.在主流观点中,Nosql大体分为4类 ...
- MyCat的初步了解
MyCat 1 开源数据库中间件 MyCat 如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据 ...
- 流程图浅析MFC架构
http://blog.csdn.net/qq2399431200/article/details/9035315
- 高效的DDoS攻击探测与分析工具 – FastNetMon
快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中. <HTML开发Mac OS App 视频教程> 土豆网同步更新:http: ...
- QT---Winsocket获取网关(Gateway) 主机IP等信息
基于WinPcap库做开发,需要利用到局域网的默认网关地址和Mac地址,但是WinPcap实现获取网关IP地址没有很好的思路,可以知道的是网关的接收和发出的数据包数量一般是比局域网内的各主机要多的 ...
- hdu4633_Polya定理
典型的Polya定理,还算比较简单,比赛的时候知道是Polya定理但是根本没留出时间去搞,有点小遗憾. 思路:根据Burnside引理,等价类个数等于所有的置换群中的不动点的个数的平均值,根据Poly ...
- SYN591-A型 计数器
SYN591-A型 计数器 秒表计数器累计计数器电机测速表使用说明视频链接: http://www.syn029.com/h-pd-248-0_310_44_-1.html 请将此链接复制到浏览 ...
- SYN2306C型 GPS北斗授时导航接收机
SYN2306C型 GPS北斗授时导航接收机 北斗对时系统北斗标准同步时钟北斗卫星校时器使用说明视频链接: http://www.syn029.com/h-pd-222-0_310_36_-1.htm ...
- 用shell做简单的分布式计算
# 分布式计算小试 # .首先获取本机host,作为实际计算时分区hash的种子 # .以*.*.*.44为主节点,*.*.*.///43为从节点 hash=`cat /root/data/host. ...
- 面试官:你了解过Redis对象底层实现吗
上一章我们讲了Redis的底层数据结构,不了解的人可能会有疑问:这个和平时用的五大对象有啥关系呢?这一章我们就主要解释他们所建立的联系. 看这个文件之前,如果对ziplist.skiplist.int ...