vmware安装的centos(其他Linux环境理论一样,未测试)
安装jdk(我使用的是jdk1.8)
安装zookeeper和zkui(可选)
安装node.js(port-ui需要node环境)
需要mysql服务器,porter-boot同步mysql数据采用的是canal组件(不需要安装canal,只需要在mysql中配置即可)
a.canal的原理是基于mysql binlog技术,所以要开启mysql的binlog写入功能,建议配置binlog模式为row
解决方案: 只需要复制一个/usr/share/mysql目录下的.cnf文件到/etc目录,并改名为my.cnf即可。
[mysqld]
log-bin=mysql-bin #添加这一行就行
binlog-format=ROW #选择row模式
server_id=1 #配置mysql replaction需要定义,不能和canal的slaveId重复
b.canal的原理是模拟自己为mysql slave,所以这里一定需要做为mysql slave的相关权限
CREATE USER canal IDENTIFIED BY 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
-- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
FLUSH PRIVILEGES;
笔者用到的是idea,需要安装git,gradle
porter项目源码加载到idea
git init
git clone https://github.com/sxfad/porter.git
切换到3.0.2版本
修改配置信息
#单机配置,集群只需要在url后边用逗号隔开填写多个ip即可
manager.cluster.strategy=ZOOKEEPER
manager.cluster.client.url=127.0.0.1:2181
manager.cluster.client.sessionTimeout=100000
#数据库连接信息,数据库需要与初始化脚本的数据库名相同
spring.datasource.druid.url=jdbc:mysql://127.0.0.1:3306/ds_data?useUnicode=true&characterEncoding=utf-8
spring.datasource.druid.username=test
spring.datasource.druid.password=111111
#端口
#注意端口号要与porter-ui配置一致
server.port=8081
#log
logging.file=./logs/manager-boot.log
初始化数据库:修改/porter/manager/manager-boot/src/main/resources/初始化脚本.sql
修改/porter/porter/porter-boot/src/main/resources/application.properties配置⽂件
logging.level.root=info
logging.file=./logs/data-node.log
logging.level.com.alibaba.druid.pool.DruidDataSource=INFO
server.port=8080
#节点描述
porter.id=1
porter.gc=true
#单机配置,集群只需要在url后边用逗号隔开填写多个ip即可
porter.cluster.strategy=ZOOKEEPER
porter.cluster.client.url=127.0.0.1:2181
porter.cluster.client.sessionTimeout=100000
#会加载tasks/sample文件夹下的任务配置
spring.profiles.active=sample
配置警告邮件信息,运行出错会发送邮件提醒(可选)
修改⽂件/porter/porter/porter-boot/src/main/resources/application.properties
node.statistic.upload=true
构建项目
git submodule init
git submodule update
git submodule foreach git pull origin 版本(porter-ui与manager-boot对应的前端UI版本)
// 如果发现port-ui下还是没有代码,可以输入 rm -rf port-ui删除port-ui,之后在github上重新拉取port-ui
gradle build
待构建完成,拷⻉/porter/porter/porter-boot/build/distributions/porter-boot-3.0.2.tar 和/porter/manager/manager-boot/build/distributions/manager-boot-3.0.2.tar两个压缩包⾄/app/soft/porter/(看情况,⾃⼰指定)
(windows下启动需要在windows上打包,Linux执行要在Linux/mac os上打包)
@Setter注解无法通过编译
按顺序执行前三步,如果还是build失败,则在项目根目录下的build.gradle文件中,subprojects下的dependencies中导入
annotationProcessor 'org.projectlombok:lombok:1.16.20'
配置管理UI
启动准备目前/app/soft/porter/⽬录下有两个项⽬:manager-boot,porter-boot
启动zokeeper,启动zkui
解压manager-boot-3.0.2.tar
解压porter-boot-3.0.2.tar
启动manager-boot
// linux
./app/soft/porter/manager-boot-3.0.2/bin/manager-boot
// windows
manager-boot.bat
现在浏览器输入IP:8081 admin/admin则可登录管理系统
启动porter-boot
// linux
./app/soft/porter/porter-boot.3.0.2/bin/porter-boot
// windows
porter-boot.bat
如果日志显示节点已经被注册则关闭porter-boot执行
./porter-boot-3.0.2/bin/porter-boot --force
恭喜,部署成功
注意: 项⽬关闭或启动出错时,请登录zkui,清除⼀下suixingpay节点的数据再启动
项⽬启动顺序建议:清理集群信息 -> 启动manager-boot -> 启动porter-boot
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。