DBAPI安装教程

news2025/5/24 10:25:28

安装教程

请先下载安装包。默认账户admin/admin

为了便于您理解安装的时候需要配置的参数,请您先学习日志监控相关的功能设计

本地部署单机版

  • 依赖java环境,先自行在服务器安装jdk8+,并配置环境变量
  • 下载安装包解压到需要安装的目录
  • 修改conf/application.properties文件中的以下配置
# api访问路径的统一根路径,example: http://192.168.xx.xx:8520/api/xxx
# api context
dbapi.api.context=api

# 如果不修改数据库地址将默认使用自带的内嵌元数据库sqlite
# 元数据库地址,可以使用mysql或者自带的sqlite
spring.datasource.dynamic.datasource.meta-db.driver-class-name=org.sqlite.JDBC
spring.datasource.dynamic.datasource.meta-db.url=jdbc:sqlite::resource:sqlite.db
spring.datasource.dynamic.datasource.meta-db.username=
spring.datasource.dynamic.datasource.meta-db.password=

# 将API访问日志写入日志数据库(推荐clickhouse)的方式,值只能是db/kafka/null
# db代表dbapi直连日志数据库,直接将API访问日志写入日志数据库
# kafka代表dbapi将API访问日志写入kafka,用户需要自行从kafka收集日志写入日志数据库
# null代表dbapi只会将API访问日志写入本地磁盘文件(logs/dbapi-access.log),用户需要自行从磁盘文件收集日志写入日志数据库
access.log.writer=null

# 日志数据库地址,推荐使用clickhouse,如果您不需要使用页面上的监控功能,可以不配置日志数据库地址
spring.datasource.dynamic.datasource.access-log-db.driver-class-name=ru.yandex.clickhouse.ClickHouseDriver
spring.datasource.dynamic.datasource.access-log-db.url=jdbc:clickhouse://127.0.0.1:8123/default
spring.datasource.dynamic.datasource.access-log-db.username=default
spring.datasource.dynamic.datasource.access-log-db.password=123456

# 如果配置了access.log.writer=kafka,那么还需要配置kafka地址和日志写入的topic
access.log.kafka.topic=dbapi_access_log
spring.kafka.bootstrap-servers=127.0.0.1:9092

如果配置了mysql作为元数据库,请先在mysql执行初始化脚本sql/ddl_mysql.sql
如果配置了日志数据库地址,请先在日志数据库执行初始化脚本,DBAPI提供了clickhouse和mysql的脚本:sql/access_log_clickhouse.sqlsql/access_log_mysql.sql

  • Linux一键启停
sh bin/dbapi-daemon.sh start standalone
sh bin/dbapi-daemon.sh stop standalone
  • 如果是windows操作系统请右键点击bin/dbapi.ps1文件,选择使用PowerShell运行

注意windows系统只支持standalone模式运行,不支持集群模式

  • 第一次启动系统会自动退出,需要激活,激活后重启即可使用

  • 浏览器访问http://192.168.xx.xx:8520进入UI

本地部署集群版

  • 集群部署依赖nacosmysqlredis,请先自行安装nacos(推荐1.4.2版本)、mysqlredis
  • 准备多台机器,每台安装jdk8+并配置java环境变量
  • 选一台机器host1作为部署机,配置host1到其他每台机器的ssh免密登录
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

for ip in host2 host3;     # 请将此处 host2 host3 替换为自己要部署的机器的 hostname
do
  ssh-copy-id  $ip   # 该操作执行过程中需要手动输入部署用户的密码
done
  • 下载安装包并解压到部署机host1需要安装的目录

  • 在mysql创建新的数据库,并执行初始化脚本sql/ddl_mysql.sql

  • 修改conf/application.properties文件中的以下配置

#################################### please config properties below #####################################
# api访问路径的统一根路径,example: http://192.168.xx.xx:8520/api/xxx
# api context
dbapi.api.context=api

# 元数据库地址,集群版只能使用mysql
spring.datasource.dynamic.datasource.meta-db.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.dynamic.datasource.meta-db.url=jdbc:mysql://127.0.0.1:3306/dbapi?useSSL=false&characterEncoding=UTF-8&serverTimezone=GMT%2B8
spring.datasource.dynamic.datasource.meta-db.username=root
spring.datasource.dynamic.datasource.meta-db.password=root

# 将API访问日志写入日志数据库(推荐clickhouse)的方式,值只能是db/kafka/null
# db代表dbapi直连日志数据库,直接将API访问日志写入日志数据库
# kafka代表dbapi将API访问日志写入kafka,用户需要自行从kafka收集日志写入日志数据库
# null代表dbapi只会将API访问日志写入本地磁盘文件(logs/dbapi-access.log),用户需要自行从磁盘文件收集日志写入日志数据库
access.log.writer=null

# 日志数据库地址,推荐使用clickhouse,如果您不需要使用页面上的监控功能,可以不配置日志数据库地址
spring.datasource.dynamic.datasource.access-log-db.driver-class-name=ru.yandex.clickhouse.ClickHouseDriver
spring.datasource.dynamic.datasource.access-log-db.url=jdbc:clickhouse://127.0.0.1:8123/default
spring.datasource.dynamic.datasource.access-log-db.username=default
spring.datasource.dynamic.datasource.access-log-db.password=123456

# 如果配置了access.log.writer=kafka,那么还需要配置kafka地址和日志写入的topic
access.log.kafka.topic=dbapi_access_log
spring.kafka.bootstrap-servers=127.0.0.1:9092

############################## if cluster, please config properties below ##############################

# nacos address, needed if cluster mode
spring.cloud.nacos.server-addr=127.0.0.1:8848
spring.cloud.nacos.discovery.username=nacos
spring.cloud.nacos.discovery.password=nacos
spring.cloud.nacos.discovery.namespace=public

# redis address, needed if cluster mode
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.database=0
spring.redis.password=

如果配置了日志数据库地址,请先在日志数据库执行初始化脚本,DBAPI提供了clickhouse和mysql的脚本:sql/access_log_clickhouse.sqlsql/access_log_mysql.sql

  • 修改conf/install_config.conf文件,配置要安装的机器节点
# 所有要安装DBApi的主机ip或hostname,用逗号分隔
ips=host1,host2,host3

sshPort=22

# 要安装gateway的主机
gateway=host1

# 要安装apiServer的主机,多个用逗号分隔
apiServers=host1,host2,host3

# 要安装manager的主机
manager=host2
  • 拷贝host1中的安装文件到其他每台机器的相同目录,可使用脚本一键拷贝
sh bin/scp-host.sh
  • 集群操作脚本
# 一键启动集群
sh bin/start-all.sh

# 一键停止集群
sh bin/stop-all.sh

# 手动启停单个服务
sh bin/dbapi-daemon.sh start gateway
sh bin/dbapi-daemon.sh start manager
sh bin/dbapi-daemon.sh start apiServer

sh bin/dbapi-daemon.sh stop gateway
sh bin/dbapi-daemon.sh stop manager
sh bin/dbapi-daemon.sh stop apiServer

  • 第一次启动系统会自动退出,需要激活,激活后重启即可使用

  • 浏览器访问http://192.168.xx.xx:8523进入UI; API通过gateway来访问http://192.168.xx.xx:8525/api/xx

总结

  • 欢迎关注DBAPI微信公众号以及官网地址https://www.51dbapi.com
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1027885.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue/react/node项目通过eslint检查语法规范

首先 我们打开终端 全局安装依赖 npm install -g eslint然后 以管理员身份运行项目终端 输入 eslint --init然后 这里 在初始化时会问我们想如何使用它? 分别对应 仅检查语法 检查语法并发现问题 检查语法、发现问题并强制执行代码样式 这里建议第二种 第三种肯定是不行的 …

el-date-picker改日期显示方式

效果&#xff1a; 代码&#xff1a; <template><div><el-date-picker v-model"selectedDate" type"date" input"handleDateChange"><template #default"{ date }"><span>{{ formatDate(date) }}</s…

PoE交换机出现不稳定的原因有哪些?

带有供电设备的PoE交换机给使用者带来了方便&#xff0c;因此被广泛应用。然而&#xff0c;很多使用商反映他们所使用的PoE交换机不稳定。那么&#xff0c;PoE交换机出现不稳定的原因有哪些&#xff1f; 首先需要考虑的是数据传输的距离。尽管PoE供电交换机具有方便灵活的特点&…

详解yolov1理论 代码

目标检测要解决的3大问题&#xff1a; 1、有没有&#xff1f; 图片中是否有要检测的物体&#xff1f;&#xff08;检测物体&#xff0c;判定前景背景&#xff09; 2、是什么&#xff1f; 这些物体分别是什么&#xff1f;&#xff08;检测到的物体是什么&#xff09; 3、在…

腾讯云16核服务器配置大全_CVM和轻量服务器汇总

腾讯云16核CPU服务器有哪些配置可以选择&#xff1f;可以选择标准型S6、标准型SA3、计算型C6或标准型S5等&#xff0c;目前标准型S5云服务器有优惠活动&#xff0c;性价比高&#xff0c;计算型C6云服务器16核性能更高&#xff0c;轻量16核32G28M带宽优惠价3468元15个月&#xf…

go语言 最小堆 最大堆 堆排序

建堆 调整 删除 先根据数组构建完全二叉树 从第一个非叶结点开始 调整为大跟堆&#xff0c;这里就是图里面的1结点开始调整 代码如下&#xff1a; func findKthLargest(nums []int, k int) int {heapSize : len(nums)buildMaxHeap(nums,heapSize)for i : len(nums) - 1; i &…

无涯教程-JavaScript - BINOM.DIST函数

描述 BINOM.DIST函数返回单个项二项式分布概率。 在具有固定数量的测试或试验的问题中使用BINOM.DIST。 当任何试验的输出只是成功或失败时 试验是独立的,并且 在整个实验中成功的概率不变的情况 语法 BINOM.DIST (number_s,trials,probability_s,cumulative)争论 Argu…

选择护眼台灯的标准?专家推荐台灯好物分享

自从护眼台灯成为学生书桌上最常见的照明灯具后&#xff0c;就经常能看到关于护眼台灯伤眼的信息。从根源上说&#xff0c;是各种不专业产品混杂在市场中&#xff0c;这种产品技术较差&#xff0c;而且为减少成本选择品质差的材料&#xff0c;但由于低廉的价格仍然吸引了众多消…

【FAQ】以服务方式启动安防监控系统EasyNVR程序,出现播放异常的原因排查与解决

EasyNVR安防视频监控平台的特点是基于RTSP/Onvif协议&#xff0c;将前端设备统一接入&#xff0c;在平台进行转码、直播、处理及分发&#xff0c;在智慧安防视频监控场景中&#xff0c;EasyNVR可实现实时监控、云端录像、检索与回放、云存储、告警、级联等视频能力&#xff0c;…

Redis缓存设计与性能优化最佳实践

开发规范与性能优化 一、键值设计 1. key名设计 (1)【建议】: 可读性和可管理性 以业务名(或数据库名)为前缀(防止key冲突)&#xff0c;用冒号分隔&#xff0c;比如业务名:表名:id (2)【建议】&#xff1a;简洁性 保证语义的前提下&#xff0c;控制key的长度&#xff0c;…

备考新境界:考研竞争中的超级助推器,让AIGC点亮你的学术之路!

近年来&#xff0c;各院校毕业生逐年增长、就业压力提升&#xff0c;研究生学历在就业市场上占有明显优势。加上留学、考公、二战等多赛道的涌入&#xff0c;硕士研究生报名人数呈现快速上升趋势。根据调查显示&#xff0c;2023年考研报考人数达457万人&#xff0c;报录比甚至达…

面向组织分析的内容

声明 本文是学习GB-T 42859-2023 航天产品质量问题三个面向分析方法实施要求. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件规定了航天产品质量问题三个面向分析方法实施的一般要求、程序和分析内容。 本文件适用于承担航天产品研制…

IntelliJ IDEA快速查询maven依赖关系

1.在Maven窗口中点击Dependencies->show Dependencies 2.得到依赖关系图 此时原有快捷键Ctrlf可以查询jar包&#xff0c;如果没有查询菜单出来则设置快捷键方式为 File->Settings->Keymap->搜索栏输入find->在Main Menu下Edit下Find下Find双击算则Add keyboard…

月木学途开发 2.前台用户模块

概述 效果展 数据库设计 会员表 DROP TABLE IF EXISTS user_type; CREATE TABLE user_type (userTypeId int(11) NOT NULL AUTO_INCREMENT,userTypeName varchar(255) DEFAULT NULL,userTypeDesc varchar(255) DEFAULT NULL,PRIMARY KEY (userTypeId) ) ENGINEInnoDB AUTO_I…

VLAN的配置实例

基于端口的vlan划分 以下配置为例&#xff1a; 注意选择copper线&#xff0c;可以任意选择端口 PC配置如下&#xff1a; LSW1配置如下 [LSW1]vlan 10 [LSW1-vlan10]qu [LSW1]interface g0/0/9 [LSW1-Gigabitethernet0/0/9] port link-type acces [LSW1-Gigabitethernet0/0/9]…

Python 公里与海里换算

""" 公里与海里换算知识点&#xff1a;1、换算公式&#xff1a;海里 公里 / 1.8522、input()、print()函数3、变量类型转换&#xff0c;整形int与字符串str转换&#xff0c;可以用type()函数验证4、字符串拼接&#xff0c;例如&#xff1a;123 456 1234565、…

盘点数字人源头厂商哪家公司OEM定制能力好!

在当今的科技盛世&#xff0c;我们与数字人的互动越来越频繁。无论是在工作中的智能助手&#xff0c;还是数字人播&#xff0c;数字员工&#xff0c;还是在生活中的个性化推荐&#xff0c;数字人都在为我们的生活增添色彩。然而&#xff0c;大家可能并未意识到&#xff0c;这些…

JavaWeb后端开发 JWT令牌解析 登录校验 通用模板/SpringBoot整合

目录 实现思路 相关技术的解析 ​编辑会话跟踪三个方案 JWT令牌技术 ​生成令牌 校验令牌 登录下发令牌 实现思路 通过登录成功的标记来检测,在每个接口前做一个标记判断是否登录,若没登录则返回错误信息,并使前端退出.但这样较为繁琐,因此我们可以通过一种统一拦截的技…

预处理代码

一、缺失值处理 删除缺失值&#xff1a; data1data.dropna()#丢弃缺失值 #dropna()删除缺失值所在行(axis0)或列(axis1)&#xff0c;默认为 axis0 补全 示例数据&#xff1a; import pandas as pd import numpy as npdata pd.DataFrame({name: [Bob, Mary, Peter, np.nan, L…

【python爬虫】—星巴克产品

文章目录 需求爬取星巴克产品以及图片&#xff0c;星巴克菜单 python爬虫爬取结果 需求 爬取星巴克产品以及图片&#xff0c;星巴克菜单 网页分析&#xff1a; 首先&#xff0c;需要分析星巴克官方网站的结构&#xff0c;了解菜单栏的位置、布局以及菜单项的标签或类名等信息…