Apache Doris安装部署
Apache Doris安装部署
版本:
CentOS 7.6
Apache Doris 0.14.0
编译
选择合适的版本进行下载,此次选择0.14.0版本
下载 | Apache Doris
一、CentOS编译
1 安装依赖
sudo yum groupinstall 'Development Tools' && sudo yum install maven cmake byacc flex automake libtool bison binutils-devel zip unzip ncurses-devel curl git wget python2 glibc-static libstdc++-static
升级GCC至7.3.0以上
# 查看当前GCC版本
gcc --version
# 安装
yum -y install centos-release-scl
yum -y install devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-binutils
scl enable devtoolset-7 bash
# GCC版本持久化
echo "source /opt/rh/devtoolset-7/enable" >>/etc/profile
1.1 升级cmake
cmake安装高版本
cd /opt/software
wget http://www.cmake.org/files/v3.16/cmake-3.16.6.tar.gz
tar xf cmake-3.16.6.tar.gz
cd cmake-3.16.6
./bootstrap
make
make install
安装node
wget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz
tar -xvf node-v10.14.1-linux-x64.tar.gz
mv node-v10.14.1-linux-x64 node
mv node /usr/local/
# 添加环境变量
vim /etc/profile
# 添加以下两行
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH
# 刷新配置
source /etc/profile
# 查看安装结果
node -v
npm -v
1.2 配置免密登录
第一步:三台节点生成公钥与私钥
在三台机器执行以下命令,生成公钥与私钥
#执行下面的命令之后,要连续按三个回车
cd ~
ssh-keygen -t rsa
第二步:拷贝公钥到同一台节点
四台机器将拷贝公钥到第一台服务器,四台服务器执行命令
ssh-copy-id hadoop01
第三步:复制第一台服务器的认证到其他服务器
将第一台机器的公钥拷贝到其他机器上,在第一台机器上面执行以下命令
scp /root/.ssh/authorized_keys hadoop02:/root/.ssh
scp /root/.ssh/authorized_keys hadoop03:/root/.ssh
scp /root/.ssh/authorized_keys hadoop07:/root/.ssh
1.3 安装mysql客户端
yum install mysql -y
2 编译
2.1 编译Doris
tar -xvf apache-doris-0.14.0-incubating-src.tar.gz
cd apache-doris-0.14.0-incubating-src
mkdir thirdparty/installed/webroot/
直接进行编译会出现
DataTables.zip、s2n三方依赖包无法下载的问题
修改三方下载源
thirdparty/vars.sh
# aws-s2n
#AWS_S2N_DOWNLOAD="https://github.com/awslabs/s2n/archive/v0.10.0.tar.gz" #s2n-tls-0.10.0.tar.gz
#AWS_S2N_NAME="s2n-0.10.0.tar.gz"
#AWS_S2N_SOURCE="s2n-0.10.0"
#AWS_S2N_MD5SUM="9b3b39803b7090c2bd937f9cc73bc03f"
AWS_S2N_DOWNLOAD="https://github.com/awslabs/s2n/archive/v0.10.0.tar.gz" #s2n-tls-0.10.0.tar.gz
AWS_S2N_NAME="s2n-tls-0.10.0.tar.gz"
AWS_S2N_SOURCE="s2n-tls-0.10.0"
AWS_S2N_MD5SUM="345aa5d2f9e82347bb3e568c22104d0e"# datatables, bootstrap 3 and jQuery 3
#DATATABLES_DOWNLOAD="https://datatables.net/download/builder?bs-3.3.7/jq-3.3.1/dt-1.10.23"
#DATATABLES_NAME="DataTables.zip"
#DATATABLES_SOURCE="DataTables-1.10.23"
# DATATABLES_MD5SUM="f7f18a9f39d692ec33b5536bff617232"
DATATABLES_DOWNLOAD="https://datatables.net/download/builder?dt/dt-1.11.3"
DATATABLES_NAME="DataTables.zip"
DATATABLES_SOURCE="DataTables"
DATATABLES_MD5SUM="ebb908d3b6ffff355fbbe59f685f4785"
执行编译
sh build.sh
编译第一次会报
/opt/software/apache-doris-0.14.0-incubating-src/thirdparty/installed/webroot/*不存在。
此时将
/opt/software/apache-doris-0.14.0-incubating-src/webroot复制到
/opt/software/apache-doris-0.14.0-incubating-src/thirdparty/installed/
然后删除output目录重新编译
sh build.sh
编译完之后会新增一个output目录
其中包含
[root@hadoop02 apache-doris-0.14.0-incubating-src]# cd output/
[root@hadoop02 output]# ll
total 12
drwxr-xr-x 6 root root 4096 Nov 15 16:21 be
drwxr-xr-x 7 root root 4096 Nov 15 16:21 fe
drwxr-xr-x 4 root root 4096 Nov 15 16:21 udf
至此doris编译结束
2.2 编译broker
在源码根目录下有个
fs_brokers目录
cd /opt/software/apache-doris-0.14.0-incubating-src/fs_brokers/apache_hdfs_broker
sh build.sh
命令执行完之后同样会出现一个
output目录,其中包含
apache_hdfs_broker目录
至此broker编译结束
二、部署
集群规划
| hadoop01 | hadoop02 | hadoop03 | hadoop07 |
|---|---|---|---|
| FE(Leader) | FE(Leader) | FE(Follower) | FE(OBserver) |
| BE | BE | BE | BE |
| broker | broker | broker | broker |
1 部署
首先将编译后的文件拷贝到指定位置.4台机器都要放置。每台机器的服务需要单独启动
mv /opt/software/apache-doris-0.14.0-incubating-src/output/ /opt/module/doris14/
cd /opt/module/doris14/
# FE
# 1.配置元数据存储路径
cd fe
vi conf/fe.conf
######################################fe.conf修改内容#########################################
http_port = 8300
rpc_port = 9200
query_port = 9300
edit_log_port = 9100
priority_networks = 172.16.184.12*/24#根据部署主机的IP进行修改
meta_dir = /opt/module/doris14/fe/doris-meta
################################################################################ 2.创建元数据存储路径
mkdir /opt/module/doris14/fe/doris-meta
# 3.启动FE
sh bin/start_fe.sh --daemon
# 4.查看进程
jps
3764 Jps
2940 PaloFe# BE
# 1.配置数据存储路径
cd ../be
vi conf/be.conf
######################################be.conf修改内容#########################################
be_port = 9600
be_rpc_port = 9700
webserver_port = 8400
heartbeat_service_port = 9500
brpc_port = 8600
priority_networks = 172.16.184.12*/24#根据部署主机的IP进行修改
storage_root_path=/opt/module/doris14/be/doris_storage1;/opt/module/doris14/be/doris_storage2
###############################################################################
# 2.创建数据存储路径
mkdir /opt/module/doris14/be/doris_storage1
mkdir /opt/module/doris14/be/doris_storage2# BE注册
# 1.使用客户端访问doris fe节点
mysql -hhadoop01 -P 9300 -uroot# 2.注册be节点
ALTER SYSTEM ADD BACKEND "hadoop01:9500";
ALTER SYSTEM ADD BACKEND "hadoop02:9500";
ALTER SYSTEM ADD BACKEND "hadoop03:9500";
ALTER SYSTEM ADD BACKEND "hadoop07:9500";# BE启动
# 1.传输到其他节点
scp -r /opt/moudle/doris14 hadoop02:/opt/moudle
scp -r /opt/moudle/doris14 hadoop03:/opt/moudle
scp -r /opt/moudle/doris14 hadoop07:/opt/moudle
cd /opt/moudle/doris12/be
# 2.启动
sh bin/start_be.sh --daemon# 查看be状态 在注册be节点的mysql连接上执行
SHOW PROC '/backends';
Alive列为true即可
+-----------+-----------------+----------------+-----------------+---------------+--------+----------+----------+---------------------+---------------+-------+----------------------+-----------------------+-----------+------------------+---------------+---------------+---------+----------------+--------+---------+----------------------------------------+
| BackendId | Cluster | IP | HostName | HeartbeatPort | BePort | HttpPort | BrpcPort | LastStartTime | LastHeartbeat | Alive | SystemDecommissioned | ClusterDecommissioned | TabletNum | DataUsedCapacity | AvailCapacity | TotalCapacity | UsedPct | MaxDiskUsedPct | ErrMsg | Version | Status |
+-----------+-----------------+----------------+-----------------+---------------+--------+----------+----------+---------------------+---------------+-------+----------------------+-----------------------+-----------+------------------+---------------+---------------+---------+----------------+--------+---------+----------------------------------------+
| 10004 | default_cluster | 172.16.184.125 | hadoop01.xt.com | 9500 | 9600 | 8400 | 8600 | 2021-11-16 15:08:35 | NULL | true | false | false | 0 | .000 | 339.147 GB | 393.471 GB | 13.81 % | 13.81 % | | | {"lastSuccessReportTabletsTime":"N/A"} |
| 10002 | default_cluster | 172.16.184.126 | hadoop02.xt.com | 9500 | 9600 | 8400 | 8600 | 2021-11-16 15:12:41 | NULL | true | false | false | 0 | .000 | 277.982 GB | 393.471 GB | 29.35 % | 29.35 % | | | {"lastSuccessReportTabletsTime":"N/A"} |
| 10003 | default_cluster | 172.16.184.127 | hadoop03.xt.com | 9500 | 9600 | 8400 | 8600 | 2021-11-16 15:13:14 | NULL | true | false | false | 0 | .000 | 327.646 GB | 393.471 GB | 16.73 % | 16.73 % | | | {"lastSuccessReportTabletsTime":"N/A"} |
| 11001 | default_cluster | 172.16.184.152 | hadoop07.xt.com | 9500 | 9600 | 8400 | 8600 | NULL | NULL | true | false | false | 0 | .000 | 1.000 B | .000 | 0.00 % | 0.00 % | | | {"lastSuccessReportTabletsTime":"N/A"} |
+-----------+-----------------+----------------+-----------------+---------------+--------+----------+----------+---------------------+---------------+-------+----------------------+-----------------------+-----------+------------------+---------------+---------------+---------+----------------+--------+---------+----------------------------------------+
2 配置高可用
通过将 FE 扩容至 3 个以上节点来实现 FE 的高可用。
# 通过 mysql 客户端登录 Master FE
mysql -hhadoop01 -P 9300 -uroot
SHOW PROC '/frontends';# 增加 FE 节点
ALTER SYSTEM ADD FOLLOWER "hadoop02:9100";
ALTER SYSTEM ADD FOLLOWER "hadoop03:9100";
ALTER SYSTEM ADD OBSERVER "hadoop07:9100";
在hadoop02的
/opt/module/doris14/fe下执行
./bin/start_fe.sh --helper hadoop01:9100 --daemon
在hadoop03的
/opt/module/doris14/fe下执行
./bin/start_fe.sh --helper hadoop02:9100 --daemon
在hadoop07的
/opt/module/doris14/fe下执行
./bin/start_fe.sh --helper hadoop01:9100 --daemon
使用 mysql-client 连接到任一已启动的 FE,并执行:SHOW PROC ‘/frontends’; 可以查看当前已加入集群的 FE 及其对应角色。
mysql -hhadoop01 -P 9300 -uroot
SHOW PROC '/frontends';+-----------------------------------+----------------+-----------------+-------------+----------+-----------+---------+----------+----------+------------+------+-------+-------------------+---------------+----------+--------+---------+
| Name | IP | HostName | EditLogPort | HttpPort | QueryPort | RpcPort | Role | IsMaster | ClusterId | Join | Alive | ReplayedJournalId | LastHeartbeat | IsHelper | ErrMsg | Version |
+-----------------------------------+----------------+-----------------+-------------+----------+-----------+---------+----------+----------+------------+------+-------+-------------------+---------------+----------+--------+---------+
| 172.16.184.127_9100_1637052142079 | 172.16.184.127 | hadoop03.xt.com | 9100 | 8300 | 9300 | 9200 | FOLLOWER | false | 1427440867 | true | true | 3133 | NULL | true | | NULL |
| 172.16.184.125_9100_1637046027642 | 172.16.184.125 | hadoop01.xt.com | 9100 | 8300 | 9300 | 9200 | FOLLOWER | true | 1427440867 | true | true | 3133 | NULL | true | | NULL |
| 172.16.184.152_9100_1637052129601 | 172.16.184.152 | hadoop07.xt.com | 9100 | 8300 | 9300 | 9200 | OBSERVER | false | 1427440867 | true | true | 3133 | NULL | false | | NULL |
| 172.16.184.126_9100_1637049113284 | 172.16.184.126 | hadoop02.xt.com | 9100 | 8300 | 9300 | 9200 | FOLLOWER | false | 1427440867 | true | true | 3135 | NULL | true | | NULL |
+-----------------------------------+----------------+-----------------+-------------+----------+-----------+---------+----------+----------+------------+------+-------+-------------------+---------------+----------+--------+---------+
3 Broker
- 拷贝源码 fs_broker 的 output 目录下的相应 Broker 目录到需要部署的所有节点上。建议和 BE 或者 FE 目录保持同级。
- 将编译好的Broker源码复制到每台主机的
/opt/module/doris14/目录下
- 修改相应 Broker 配置
在相应 broker/conf 目录下对应的配置文件中,可以修改相应配置。此次的从hadoop04的/etc/hadoop/conf.cloudera.hdfs目录下获取core-site.xml/hdfs-site.xml放入 broker/conf 目录
- 启动 Broker
sh bin/start_broker.sh --daemon 启动 Broker。
- 添加 Broker
要让 Doris 的 FE 和 BE 知道 Broker 在哪些节点上,通过 sql 命令添加 Broker 节点列表。
使用 mysql-client 连接启动的 FE,执行以下命令:
ALTER SYSTEM ADD BROKER broker_name "host1:port1","host2:port2",...;
其中 host 为 Broker 所在节点 ip;port 为 Broker 配置文件中的 broker_ipc_port。
ALTER SYSTEM ADD BROKER broker_name "hadoop01:8000","hadoop02:8000","hadoop03:8000","hadoop07:8000";
- 查看 Broker 状态
使用 mysql-client 连接任一已启动的 FE,执行以下命令查看 Broker 状态:
SHOW PROC "/brokers";
至此Doris全部安装完毕
相关文章:
Apache Doris安装部署
Apache Doris安装部署 版本: CentOS 7.6 Apache Doris 0.14.0 编译 选择合适的版本进行下载,此次选择0.14.0版本 下载 | Apache Doris 一、CentOS编译 1 安装依赖 sudo yum groupinstall Development Tools && sudo yum install maven c…...
Excel查询时用vlookup或者xlookup时,虽然用的参数选择的是精确匹配,但是发现不能区分大小写,应该如何解决?
Excel查询时用vlookup或者xlookup时,虽然用的参数选择的是精确匹配,但是发现不能区分大小写,应该如何解决? Index函数解决 INDEX([excel1.xlsx]Sheet1!$E:$E,MATCH(1,EXACT(G5,[excel1.xlsx]Sheet1!$E:$E)*1,0))重点说明&#x…...
4种经典的限流算法
0、基础知识 1000毫秒内,允许2个请求,其他请求全部拒绝。 不拒绝就可能往db打请求,把db干爆~ interval 1000 rate 2; 一、固定窗口限流 固定窗口限流算法(Fixed Window Rate Limiting Algorithm)是…...
<MySQL> 什么是数据库事务?事务该如何使用?
目录 一、事务的概念 二、事务的核心特性 三、事务操作中的常见BUG 3.1 脏读 3.2 不可重复读 3.3 幻读 四、隔离级别 五、使用事务 一、事务的概念 “事务”是指一组操作,在逻辑上是不可分割的,组成这组操作的各个语句,或者全部执行成…...
Linux 网络:PMTUD 简介
文章目录 1. 前言2. Path MTU Discovery(PMTUD) 协议2.1 PMTUD 发现最小 MTU 的过程 3. Linux 的 PMTUD 简析3.1 创建 socket 时初始化 PMTUD 模式3.2 数据发送时 PMTUD 相关处理3.2.1 源头主机发送过程中 PMTU 处理3.2.2 转发过程中 PMTUD 处理 4. PMTUD 观察5. 参考链接 1. 前…...
BatchNormalization:解决神经网络中的内部协变量偏移问题
ICML2015 截至目前51172引 论文链接 代码连接(planing) 文章提出的问题 减少神经网络隐藏层中的”内部协变量偏移”问题。 在机器学习领域存在“协变量偏移”问题,问题的前提是我们划分数据集的时候,训练集和测试集往往假设是独立同分布(i.i.d)的,这种独立同分布更有利于…...
DAC实验(DAC 输出三角波实验)(DAC 输出正弦波实验)
DAC 输出三角波实验 本实验我们来学习使用如何让 DAC 输出三角波,DAC 初始化部分还是用 DAC 输出实验 的,所以做本实验的前提是先学习 DAC 输出实验。 使用 DAC 输出三角波,通过 KEY0/KEY1 两个按键,控制 DAC1 的通道 1 输出两种…...
许多网友可能还不知道,升级到Windows 11其实没那么复杂,只要符合几个条件可以了
如果你的Windows 10电脑可以升级Windows 11,现在怎么办?有几种方法可以免费安装新的操作系统。以下是你的选择。 如果你想升级到Windows 11,你可以随时购买一台已经安装了操作系统的新电脑。然而,如果你目前的Windows 10 PC满足所有必要的升级要求,那么在Windows 11免费的…...
ubuntu下载conda
系统:Ubuntu18.04 (1)下载安装包 wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.11-Linux-x86_64.sh 报错错误 403:Forbidden 解决方法 wget -U NoSuchBrowser/1.0 https://mirrors.tuna.tsingh…...
重磅 | 进一步夯实生态建设,朗思科技与阿里龙蜥完成兼容性认证
近日,北京朗思智能科技有限公司(以下简称“朗思科技”)自主研发的数字员工产品与OpenAnolis龙蜥社区龙蜥操作系统(Anolis OS)8完成兼容性认证。测试结果显示,双方产品相互兼容,功能正常…...
Qt给控件添加图片
双击qrc文件,选择下面的addFiles,将图片添加进来,然后选中图片右键Select All 设置控件字符: ui.btnSet->setText(""); 设置资源: ui.btnSet->setStyleSheet("QPushButton{background-image:…...
3.6-Dockerfile语法梳理及最佳实践
WORKDIR是设置当前docker的工作目录 ADD 和 COPY 为了将本地的一些文件添加到docker image里面,ADD 和 COPY的作用特别像,但是ADD 和 COPY还有一些区别,ADD不仅可以添加本地文件到docker里面,还可以将文件在添加到docker image里面…...
springboot集成nacos并实现自动刷新
目录 1.说明 2.示例 3.自动刷新的注意点 1.说明 springboot项目中存在好多配置文件,比如配置数据信息,redis信息等等,配置文件可以直接放在代码,也可以放在像nacos这样的组件中,实现动态的管理,修改配置…...
java面试八股文2023完整版详解110题附带答案
以下是一份Java面试八股文2023,涵盖了Java编程语言的核心概念和常用技术,帮助你更好地准备面试。 1. Java语言有哪些特点? Java语言是一种面向对象的编程语言,具有简单、面向对象、分布式、多线程、动态等优点。它是一种跨平台的…...
微服务实战系列之Token
前言 什么是“Token”? 它是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便返回给客户端;以后客户端只携带此Token请求数据即可。 简言之,Token其实就是用户身…...
DRF纯净版项目搭建和配置
一、安装模块和项目 1.安装模块 pip install django pip install djangorestframework pip install django-redis # 按需安装 2.开启项目和api (venv) PS D:\pythonProject\env_api> django-admin startproject drf . (venv) PS D:\pythonProject\env_api> python ma…...
AUTODL云服务器使用大致步骤(适合本人版)
(一)在官网上创建一个服务器 (二)远程连接指令: 改为: (三)连接后,可在中进行代码运行 输入一些指令 python .........
无需云盘,不限流量实现Zotero跨平台同步:内网穿透+私有WebDAV服务器
🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 无需云盘,不限流量实现Zotero跨平台同步:内网穿透私有WebDAV服务器 文章目…...
简朴博客系统测试报告
文章目录 一. 项目简介二. 测试概要三. 测试环境四. 测试执行概况及功能测试1. 手工测试1.1 手动测试用例编写1.2 执行的部分测试用例 2. 自动化测试Selenium2.1 编写测试用例2.2 自动化测试代码 3. 测试结果 五. 发现的问题 一. 项目简介 简朴博客系统是采用前后端分离的方式…...
Qt遇到常见问题记录
1.Qt版本选择 Qt4.8.7是Qt4的终结版本,是Qt4系列版本中最稳定最经典的 (很多嵌入式板子还是用Qt4.8),其实该版本是和Qt5.5差不多时间发布的。 参考链接 Qt 5.5 Released Qt5.6.3最最后支持xp系统的长期支持版本,Q…...
Python原生AOT编译实战指南(2026 LTS版正式启用倒计时)
第一章:Python原生AOT编译的演进脉络与2026 LTS战略意义Python长期以来以解释执行和字节码(.pyc)为核心运行范式,而原生AOT(Ahead-of-Time)编译的探索始于2010年代中期的Nuitka、Cython等工具,但…...
CMB2前端集成教程:将元框和表单带到网站前台
CMB2前端集成教程:将元框和表单带到网站前台 【免费下载链接】CMB2 CMB2 is a developers toolkit for building metaboxes, custom fields, and forms for WordPress that will blow your mind. 项目地址: https://gitcode.com/gh_mirrors/cm/CMB2 想要在Wo…...
Buildroot工具链内核版本号快速查询:3步搞定LINUX_VERSION_CODE解析
Buildroot工具链内核版本号快速查询:3步搞定LINUX_VERSION_CODE解析 在嵌入式开发中,工具链与内核版本的匹配问题常常让开发者头疼不已。想象一下这样的场景:你花费数小时编译的代码突然报错,仅仅因为工具链使用的内核头文件版本与…...
Figma全中文界面解决方案:从安装到精通的实战指南
Figma全中文界面解决方案:从安装到精通的实战指南 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 作为一名中文设计师,你是否曾因Figma全英文界面而在操作时频繁…...
Qwen3.5-2B保姆级教程:20亿参数模型端侧部署与图文对话实操
Qwen3.5-2B保姆级教程:20亿参数模型端侧部署与图文对话实操 1. 模型简介 Qwen3.5-2B是阿里云推出的轻量化多模态基础模型,属于Qwen3.5系列的小参数版本(20亿参数)。这个模型专为低功耗、低门槛部署场景设计,特别适合在端侧和边缘设备上运行…...
OpenClaw安全指南:gemma-3-12b-it本地化部署的权限管控策略
OpenClaw安全指南:gemma-3-12b-it本地化部署的权限管控策略 1. 为什么需要特别关注OpenClaw的权限管控? 上周我在调试一个自动化文档整理任务时,差点酿成大祸——OpenClaw误将我的工作目录/Documents/ProjectX识别为临时文件夹,…...
智慧树自动刷课插件:三步实现网课自动化学习的完整指南
智慧树自动刷课插件:三步实现网课自动化学习的完整指南 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台冗长的网课视频而烦恼吗࿱…...
Matlab GUI计时器:自动更新的数字时钟与恢复/暂停功能的定时器对象实现
Matlab图形用户界面计时器:使用定时器对象自动更新的MatlabGUI,一个数字时钟,作为显示基本组件的快速演示,带有一个按钮,用于恢复/暂停执行更新 实验室配了新酶标仪孵箱但总有人(比如同组摸鱼的小师妹顺便…...
快速验证模型服务:AutoGen Studio中连接vLLM部署的Qwen3-4B
快速验证模型服务:AutoGen Studio中连接vLLM部署的Qwen3-4B 1. 环境准备与快速部署 1.1 镜像启动与基础检查 首先确保已成功启动AutoGen Studio镜像,该镜像已预置vLLM部署的Qwen3-4B-Instruct-2507模型服务。验证模型服务是否正常运行: c…...
Spring AI实战:5分钟搞定豆包TTS语音合成(附完整Java代码)
Spring AI实战:5分钟集成豆包TTS语音合成(附完整Java代码) 语音合成技术正在重塑人机交互的边界。作为Java开发者,你可能已经注意到Spring AI生态的快速崛起——它正成为企业级AI应用开发的新标准。本文将带你用最短时间完成豆包T…...
