首页/新闻资讯/正文详情

Apache Pulsar 裸机集群部署实战:从 ZooKeeper 到 Broker 的完整指南

发布时间:2026/9/25 5:33:35 来源:云帆数科 栏目:资讯中心
Apache Pulsar 裸机集群部署实战:从 ZooKeeper 到 Broker 的完整指南
消息队列后端流处理【免费下载链接】pulsarApache Pulsar - distributed pub-sub messaging system项目地址https://gitcode.com/gh_mirrors/pulsar28/pulsar点击查看免费下载本文档基于 Apache Pulsar 官方文档中的裸机Bare Metal部署指南系统讲解如何从零搭建一个生产级 Pulsar 集群从环境规划、二进制包安装、ZooKeeper 与 BookKeeper 集群部署到集群元数据初始化、Broker 启动与客户端连通性验证。读完本文你将掌握完整的裸机部署流程、关键配置文件conf/zookeeper.conf、conf/bookkeeper.conf、conf/broker.conf、conf/client.conf的核心参数含义以及如何验证集群各组件是否正常工作。部署前须知在动手部署之前先了解 Pulsar 集群的整体拓扑与三个官方建议单集群优先单集群的 Pulsar 安装足以满足绝大多数使用场景。如果只是实验、在创业公司或单个团队中使用官方建议直接采用单集群只有当确实需要运行多集群 Pulsar 实例时才参考多集群裸机部署指南。内置连接器Pulsar IO如果希望在部署中使用全部内置 Pulsar IO 连接器需要额外下载apache-pulsar-io-connectors包并确保其安装在每个 broker 节点的 pulsar 目录下的connectors目录中如果你为 Pulsar Functions 单独运行了 function worker 集群则安装在每个 function-worker 节点上。分层存储Tiered Storage如果希望启用分层存储特性需要下载apache-pulsar-offloaders包并确保其安装在每个 broker 节点的 pulsar 目录下的offloaders目录中具体配置可参考分层存储 cookbook。部署一个 Pulsar 集群的整体步骤按顺序执行部署 ZooKeeper 集群可选已有集群可复用初始化集群元数据部署 BookKeeper 集群部署一个或多个 Pulsar Broker部署准备环境要求目前 Pulsar 支持 64 位macOS、Linux和Windows。使用 Pulsar 需要安装 64 位 JRE/JDK 8 或更高版本。如果你已经有现成的 ZooKeeper 集群并希望复用则无需为运行 ZooKeeper 准备机器。裸机部署 Pulsar 的推荐硬件规划至少6 台 Linux 机器或虚拟机VM3 台运行 ZooKeeper3 台运行一个 Pulsar broker 以及一个 BookKeeper bookie一个覆盖所有 Pulsar broker 主机的单一 DNS 名称如果机器数量不足或只是想以集群模式试用 Pulsar后续再扩容也可以把 Pulsar 部署在单台节点上——zookeeper、bookie 和 broker 运行在同一台机器中。集群中的每台机器都需要安装Java 8 或更高版本。下图展示了基本的部署拓扑图中客户端通过一个单一 URL示例中为pulsar-cluster.acme.com与 Pulsar 集群通信该 URL 抽象了所有处理消息的 broker。Pulsar broker 与 BookKeeper bookie 运行在同一批机器上broker 和 bookie 又都依赖 ZooKeeper 完成协调与元数据管理。硬件选型建议做容量规划时以下基本建议可供参考。ZooKeeper运行 ZooKeeper 的机器建议使用较轻量的机型或 VM。Pulsar 只在周期性协调与配置相关任务中使用 ZooKeeper不用于基本的数据读写操作。例如在 Amazon Web ServicesAWS上一个 t2.small 实例通常就足够了。Bookie 与 Broker运行 bookie 和 Pulsar broker 的机器建议使用性能更强的机型。例如在 AWS 上i3.4xlarge 实例可能是合适的。这些机器上还建议快速的 CPU 和 10Gbps NIC供 Pulsar broker 使用小而快的固态硬盘SSD或带 RAID 控制器和电池供电写缓存battery-backed write cache的机械硬盘HDD供 BookKeeper bookie 使用安装 Pulsar 二进制包你需要在集群中的每台机器上都安装 Pulsar 二进制包包括运行 ZooKeeper 和 BookKeeper 的机器。开始裸机部署前需要通过以下方式之一下载二进制 tarball 发布包点击下面的链接直接触发下载对应 Pulsar 发布版本Pulsar 二进制发布包从 Pulsar 官方下载页面下载从 Pulsar 的 GitHub releases 页面下载最新版本使用 wget 下载$ wget https://archive.apache.org/dist/pulsar/pulsar-2.3.0/apache-pulsar-2.3.0-bin.tar.gz说明当前仓库是 Apache Pulsar 2.3.0 版本的镜像上例以 2.3.0 为例实际操作时请以你选定的具体发布版本号为准替换文件名中的版本号即可。下载 tarball 后解压并进入生成的目录$ tar xvzf apache-pulsar-2.3.0-bin.tar.gz $ cd apache-pulsar-2.3.0解压后的目录包含以下子目录目录内容binPulsar 的命令行工具例如pulsar和pulsar-adminconfPulsar 的配置文件包括 broker 配置、ZooKeeper 配置 等dataZooKeeper 和 BookKeeper 使用的数据存储目录libPulsar 使用的 JAR 文件logs安装产生的日志在当前仓库中这些配置文件与目录结构可以一一对应conf/zookeeper.conf、conf/bookkeeper.conf、conf/broker.conf、conf/client.conf都位于仓库根目录的 conf 目录下bin目录下的 CLI 工具源码则分布在 pulsar-client-tools、pulsar-broker 等模块中。安装内置连接器可选自2.1.0-incubating版本起Pulsar 单独发布一个包含全部builtin连接器的二进制发行版。如果需要启用这些builtin连接器按下面的说明操作否则可以跳过本节。使用内置连接器前需要在每个 broker 节点上以下列方式之一下载连接器 tarball点击链接从 Apache 镜像下载连接器发布包从 Pulsar 官方下载页面下载从 Pulsar 的 GitHub releases 页面下载使用 wget$ wget https://archive.apache.org/dist/pulsar/pulsar-2.3.0/connectors/{connector}-2.3.0.narnar 文件下载完成后将其复制到 pulsar 目录下的connectors目录。例如下载了连接器文件pulsar-io-aerospike-2.3.0.nar$ mkdir connectors $ mv pulsar-io-aerospike-2.3.0.nar connectors $ ls connectors pulsar-io-aerospike-2.3.0.nar ...仓库中对应的连接器实现源码可以在 pulsar-io 目录下找到例如 pulsar-io/aerospike、pulsar-io/kafka、pulsar-io/rabbitmq 等每个连接器最终被打包为一个独立的.nar文件。安装分层存储 Offloaders可选自2.2.0版本起Pulsar 单独发布包含分层存储 offloaders 的二进制发行版。如果需要启用分层存储特性按下面的说明操作否则可以跳过本节。使用分层存储 offloaders 前需要在每个 broker 节点上以下列方式之一下载 offloaders tarball点击链接从 Apache 镜像下载 offloaders 发布包从 Pulsar 官方下载页面下载从 Pulsar 的 GitHub releases 页面下载使用 wget$ wget https://archive.apache.org/dist/pulsar/pulsar-2.3.0/apache-pulsar-offloaders-2.3.0-bin.tar.gztarball 下载完成后在 pulsar 目录下解压 offloaders 包并将 offloaders 复制为 pulsar 目录下的offloaders$ tar xvfz apache-pulsar-offloaders-2.3.0-bin.tar.gz // 在 pulsar 目录中会找到一个名为 apache-pulsar-offloaders-2.3.0 的目录 // 然后复制 offloaders $ mv apache-pulsar-offloaders-2.3.0/offloaders offloaders $ ls offloaders tiered-storage-jcloud-2.3.0.nar分层存储特性的详细配置方式可参考分层存储 cookbook。仓库中分层存储的实现位于 tiered-storage 目录包括 tiered-storage/jcloud 和 tiered-storage/file-systemoffloaders 的打包配置在 distribution/offloaders 模块中。部署 ZooKeeper 集群如果你已经有现成的 ZooKeeper 集群并希望复用可以跳过本节。ZooKeeper 为 Pulsar 管理一系列关键的协调与配置相关任务。部署 Pulsar 集群需要先于所有其他组件部署 ZooKeeper。官方推荐部署一个 3 节点的 ZooKeeper 集群。由于 Pulsar 对 ZooKeeper 的使用并不重运行 ZooKeeper 使用较轻量的机器或 VM 即可。首先将所有 ZooKeeper 服务器添加到 Pulsar 目录下 conf/zookeeper.conf对应官方配置参考中的 zookeeper 一节指定的配置中。示例server.1zk1.us-west.example.com:2888:3888 server.2zk2.us-west.example.com:2888:3888 server.3zk3.us-west.example.com:2888:3888如果只有一台机器部署 Pulsar只需在配置文件中添加一条 server 条目。仓库中的 conf/zookeeper.conf 还给出了 ZooKeeper 的核心基础参数部署时可结合调整tickTime2000每个 tick 的毫秒数是 ZooKeeper 中最基本的时间单元initLimit10初始同步阶段最多可经过的 tick 数syncLimit5请求发送到得到确认之间最多可经过的 tick 数dataDirdata/zookeeper快照存储目录即默认的myid文件所在位置clientPort2181客户端连接端口admin.serverPort9990ZooKeeper admin 服务器端口autopurge.snapRetainCount3与autopurge.purgeInterval1快照自动清理策略保留数量与清理间隔小时数metricsProvider.httpPort8000Prometheus 指标导出端口。在每个主机上需要在各节点的myid文件中指定该节点的 ID该文件默认位于每个服务器的data/zookeeper目录下可通过dataDir参数修改。关于myid及更多细节请参考 ZooKeeper 官方文档中的多服务器设置指南。例如在zk1.us-west.example.com这个 ZooKeeper 服务器上可以这样设置myid$ mkdir -p data/zookeeper $ echo 1 data/zookeeper/myid在zk2.us-west.example.com上命令为echo 2 data/zookeeper/myid以此类推注意server.N中的 N 与myid中的数字必须一一对应。当每台服务器都已写入zookeeper.conf配置并设置了相应的myid后就可以在所有主机上使用pulsar-daemonCLI 工具后台、nohup 方式启动 ZooKeeper$ bin/pulsar-daemon start zookeeper如果计划在同一节点上同时部署 ZooKeeper 与 bookie需要用不同的 stats 端口启动 ZooKeeper。使用pulsar-daemon时可通过PULSAR_EXTRA_OPTS指定其他 stats 端口$ PULSAR_EXTRA_OPTS-Dstats_server_port8001 bin/pulsar-daemon start zookeeper初始化集群元数据部署完集群的 ZooKeeper 后需要为实例中的每个集群向 ZooKeeper 写入一些元数据。该元数据只需写入一次。可以使用pulsarCLI 工具的initialize-cluster-metadata命令初始化这些元数据。该命令可以在 ZooKeeper 集群中的任意一台机器上运行。示例$ bin/pulsar initialize-cluster-metadata \ --cluster pulsar-cluster-1 \ --zookeeper zk1.us-west.example.com:2181 \ --configuration-store zk1.us-west.example.com:2181 \ --web-service-url http://pulsar.us-west.example.com:8080 \ --web-service-url-tls https://pulsar.us-west.example.com:8443 \ --broker-service-url pulsar://pulsar.us-west.example.com:6650 \ --broker-service-url-tls pulsarssl://pulsar.us-west.example.com:6651从上面的示例可以看出需要指定以下参数Flag描述--cluster集群的名称--zookeeper集群的 local ZooKeeper 连接串。该连接串只需包含 ZooKeeper 集群中的一台机器即可--configuration-store整个实例的 configuration store 连接串。与--zookeeper一样只需包含 ZooKeeper 集群中的一台机器--web-service-url集群的 web 服务 URL带端口。该 URL 应为标准 DNS 名称。默认端口为 8080不建议改用其他端口--web-service-url-tls如果使用 TLS还需要指定集群的 TLS web 服务 URL。默认端口为 8443不建议改用其他端口--broker-service-url用于与集群中 broker 交互的 broker 服务 URL。该 URL 应使用与 web 服务 URL 相同的 DNS 名称但 scheme 应使用pulsar。默认端口为 6650不建议改用其他端口--broker-service-url-tls如果使用 TLS还需要为集群指定 TLS broker 服务 URL。默认端口为 6651不建议改用其他端口从源码结构看该命令的实现在仓库的 PulsarClusterMetadataSetup.java 中它负责在元数据存储中写入集群级信息如ClusterData、租户与命名空间策略、BookKeeper 流存储初始化等是集群上电前的一次性引导步骤后续所有 broker 启动时都会从元数据存储读取这些信息。部署 BookKeeper 集群BookKeeper 负责 Pulsar 中所有持久化数据的存储。要使用 Pulsar需要部署一个 BookKeeper bookie 集群官方推荐运行一个3-bookie 的 BookKeeper 集群。BookKeeper bookie 可以使用 conf/bookkeeper.conf对应官方配置参考中的 bookkeeper 一节配置文件进行配置。这里最重要的步骤是确保zkServers设置为 ZooKeeper 集群的连接串。示例zkServerszk1.us-west.example.com:2181,zk2.us-west.example.com:2181,zk3.us-west.example.com:2181仓库中 conf/bookkeeper.conf 的默认值为zkServerslocalhost:2181zkTimeout30000ZooKeeper 客户端会话超时毫秒数请务必按你的 ZooKeeper 集群地址修改zkServers。修改好zkServers参数后可以按需提供其他配置修改。可以在官方配置参考中找到完整的 BookKeeper 配置参数列表更深入的指南建议参考 BookKeeper 官方文档。仓库中 conf/bookkeeper.conf 里值得留意的几个默认项部署时可结合实际调整bookiePort3181bookie 监听端口journalDirectorydata/bookkeeper/journal预写日志write-ahead log目录ledgerDirectoriesdata/bookkeeper/ledgersledger 数据目录可配置多个用逗号分隔理想情况下 journal 目录与 ledger 目录应分属不同磁盘设备allowLoopbackfalse默认禁止使用回环接口作为主接口VPS 环境下 hostname 解析到 127.0.0.1 时需要显式设置监听接口journalSyncDatatrue/journalWriteDatatrue默认启用 journal 数据同步与写入以保证写入持久性ledgerStorageClassorg.apache.bookkeeper.bookie.storage.ldb.DbLedgerStorage基于 RocksDB 索引的默认 ledger 存储实现statsProviderClassorg.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider与prometheusStatsHttpPort8000Prometheus 指标导出。在conf/bookkeeper.conf中应用好所需配置后就可以在每台 BookKeeper 主机上启动一个 bookie。每个 bookie 既可以用 nohup 在后台启动也可以在前台启动。后台启动 bookie使用pulsar-daemonCLI 工具$ bin/pulsar-daemon start bookie前台启动 bookie$ bin/bookkeeper bookie可以通过在 bookie 上运行 BookKeeper shell 的bookiesanity命令验证 bookie 是否正常工作$ bin/bookkeeper shell bookiesanity该命令会在本地 bookie 上创建一个临时 BookKeeper ledger写入少量条目读回它们最后删除该 ledger——用一次完整的写读删循环验证单台 bookie 的数据通路。启动所有 bookie 后可以在任意 bookie 节点上使用 BookKeeper shell 的simpletest命令验证集群中所有 bookie 都已正常运行$ bin/bookkeeper shell simpletest --ensemble num-bookies --writeQuorum num-bookies --ackQuorum num-bookies --numEntries num-entries该命令会在集群上创建一个大小为num-bookies的 ledger写入一些条目最后删除该 ledger从集群层面验证多 bookie 的读写与副本协调是否正常。部署 Pulsar BrokerPulsar broker 是 Pulsar 集群中最后需要部署的组件。broker 负责处理 Pulsar 消息并提供 Pulsar 的管理接口。官方推荐运行3 个 broker分别部署在已经运行 BookKeeper bookie 的 3 台机器上。配置 Brokerbroker 配置中最重要的元素是确保每个 broker 都知道已部署的 ZooKeeper 集群。请确保正确设置zookeeperServers和configurationStoreServers参数。本例中只有一个集群、没有独立的 configuration store因此configurationStoreServers指向与zookeeperServers相同的地址zookeeperServerszk1.us-west.example.com:2181,zk2.us-west.example.com:2181,zk3.us-west.example.com:2181 configurationStoreServerszk1.us-west.example.com:2181,zk2.us-west.example.com:2181,zk3.us-west.example.com:2181还需要指定集群名称与初始化集群元数据时提供的名称一致clusterNamepulsar-cluster-1仓库中 conf/broker.conf 里与本节相关的核心参数还包括brokerServicePort6650broker 数据端口、webServicePort8080HTTP 服务端口、bindAddress0.0.0.0与advertisedAddress对外通告地址默认取本机 hostname。单节点部署如果在单节点集群中部署 Pulsar需要将conf/broker.conf中的复制相关参数改为1# Number of bookies to use when creating a ledger managedLedgerDefaultEnsembleSize1 # Number of copies to store for each message managedLedgerDefaultWriteQuorum1 # Number of guaranteed copies (acks to wait before write is complete) managedLedgerDefaultAckQuorum1这三个参数分别控制创建 ledger 时使用的 bookie 数量ensemble、每条消息存储的副本数write quorum、写操作完成前需要等待的确认副本数ack quorum。在 bookie 数量少于 3 的环境中如单节点试运行必须将它们都调整为1否则 ledger 会因凑不齐写入与确认配额而无法正常创建。启用 Pulsar Functions可选如果希望启用 Pulsar Functions可以按以下步骤操作编辑conf/broker.conf通过设置functionsWorkerEnabled为true来启用 function workerfunctionsWorkerEnabledtrue编辑conf/functions_worker.yml将pulsarFunctionsCluster设置为初始化集群元数据时提供的集群名称pulsarFunctionsCluster: pulsar-cluster-1仓库中 conf/functions_worker.yml 还包含其他与 function worker 相关的关键配置例如workerPort: 6750function worker 服务端口、pulsarServiceUrl: pulsar://localhost:6650与pulsarWebServiceUrl: http://localhost:8080worker 连接 broker 的服务地址、pulsarFunctionsNamespace: public/functions函数元数据所在命名空间。请根据实际环境同步修改这些地址。启动 Broker在 conf/broker.conf 文件中完成其他所需配置后就可以启动 Pulsar 集群的 broker 了。与 ZooKeeper 和 BookKeeper 一样broker 既可以在前台启动也可以用 nohup 在后台启动。前台启动 broker$ bin/pulsar broker后台启动 broker使用pulsar-daemonCLI 工具$ bin/pulsar-daemon start broker成功启动所有计划中的 broker 后Pulsar 集群就可以投入使用了。连接运行中的集群集群启动并运行后应该能够使用 Pulsar 客户端连接它。其中一个客户端是随 Pulsar 二进制包提供的pulsar-client工具。pulsar-client可以向 Pulsar topic 发布消息和消费消息因此提供了一种简单的方式来确认集群运行正常。使用pulsar-client工具前先修改二进制包中的客户端配置文件 conf/client.conf对应官方配置参考中的 client 一节。需要修改webServiceUrl和brokerServiceUrl的值把默认的localhost替换为你分配给 broker/bookie 主机的 DNS 名称。示例webServiceUrlhttp://us-west.example.com:8080/ brokerServiceurlpulsar://us-west.example.com:6650/注意仓库中 conf/client.conf 的默认值分别为webServiceUrlhttp://localhost:8080/和brokerServiceUrlpulsar://localhost:6650/并预留了 TLS 场景的写法注释https://localhost:8443/与pulsarssl://localhost:6651/。webServiceUrl用于 Pulsar REST API管理操作brokerServiceUrl用于 Pulsar 二进制协议生产与消费。完成修改后可以向 Pulsar topic 发布一条消息$ bin/pulsar-client produce \ persistent://public/default/test \ -n 1 \ -m Hello Pulsar如果在初始化元数据时指定的集群名称不是pulsar-cluster-1topic 中需要使用对应的集群名称。这会将单条消息发布到 Pulsar topic。另外也可以在发布消息之前在另一个终端中按如下方式订阅该 topic$ bin/pulsar-client consume \ persistent://public/default/test \ -n 100 \ -s consumer-test \ -t Exclusive消息成功发布到 topic 后你会在标准输出中看到它----- got message ----- Hello Pulsar运行 Functions 验证如果已经启用了 Pulsar Functions现在也可以尝试运行 Pulsar Functions。创建一个exclamation感叹号追加函数exclamationbin/pulsar-admin functions create \ --jar examples/api-examples.jar \ --classname org.apache.pulsar.functions.api.examples.ExclamationFunction \ --inputs persistent://public/default/exclamation-input \ --output persistent://public/default/exclamation-output \ --tenant public \ --namespace default \ --name exclamation通过触发函数来检查函数是否按预期运行bin/pulsar-admin functions trigger --name exclamation --trigger-value hello world你会看到如下输出hello world!说明上述示例中的ExclamationFunction是一个在输入字符串末尾追加!的示例函数。仓库中的 Java 函数示例源码位于 pulsar-functions/java-examplesPython 函数示例位于 pulsar-functions/python-examplespulsar-admin functions命令的实现位于 pulsar-client-tools 模块。触发成功意味着函数 worker、broker 与客户端链路全部打通。小结至此你已经按顺序完成了 Pulsar 裸机集群部署的全部四步部署 ZooKeeper、初始化集群元数据、部署 BookKeeper、部署 Pulsar broker并通过pulsar-client完成了生产/消费验证通过pulsar-admin functions trigger验证了 Pulsar Functions 链路。核心配置文件conf/zookeeper.conf、conf/bookkeeper.conf、conf/broker.conf、conf/functions_worker.yml、conf/client.conf与对应官方配置参考reference-configuration、reference-cli-tools均在仓库中可查便于进一步深入调优。后续若要扩展可参考多集群裸机部署指南或在生产环境接入 TLS 传输加密与分层存储能力。赞分享消息队列后端流处理【免费下载链接】pulsarApache Pulsar - distributed pub-sub messaging system项目地址https://gitcode.com/gh_mirrors/pulsar28/pulsar点击查看免费下载相关推荐Apache Pulsar 裸机多集群部署完整指南从 ZooKeeper、BookKeeper 到 Broker 的实战部署Apache Pulsar 裸机多集群部署完整指南从 ZooKeeper、BookKeeper 到 Broker 的实战部署 导读 本文是基于当前 Apach消息队列后端流处理Apache Pulsar 裸机集群部署实战从 ZooKeeper、BookKeeper 到 Broker 的完整安装指南Apache Pulsar 裸机集群部署实战从 ZooKeeper、BookKeeper 到 Broker 的完整安装指南 本文是一份面向 Apache Pu消息队列后端流处理Apache Pulsar 裸机部署实战从零搭建 ZooKeeper、BookKeeper 与 Broker 集群Apache Pulsar 裸机部署实战从零搭建 ZooKeeper、BookKeeper 与 Broker 集群 本文是一份基于官方裸机部署指南 site消息队列后端流处理上一篇核心功能测试下一篇Prowler容器化部署终极指南5步实现云安全扫描自动化 创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

Cloudflare 521错误排查指南:从网络连接到SSL握手的四层诊断法
Cloudflare 521错误排查指南:从网络连接到SSL握手的四层诊断法

1. 521错误不是“网站挂了”,而是Cloudflare与源站之间的一次握手失败你刚刷新页面,浏览器弹出一个灰底白字的错误页:“Error 521: Web server is down”。它不像502那样提示“Bad Gateway”,也不像503那样说“Service Unavailabl… · 2026/9/25 5:33:35

Atlas OS Xbox 登录报 0x89235107?按这 3 条路径修
Atlas OS Xbox 登录报 0x89235107?按这 3 条路径修

Atlas OS Xbox 登录报 0x89235107?按这 3 条路径修 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and usability. 项目地址: https://gitcode.com/GitHub_Trending/atlas1/… · 2026/9/25 5:33:35

Spring Cloud Gateway实战:从路由配置到502排障全解析
Spring Cloud Gateway实战:从路由配置到502排障全解析

最近在帮一个项目组搭微服务网关,又双叒叕遇到Spring Cloud Gateway的各种问题,从路由不生效到502 Bad Gateway,排查下来几乎每一条都能写成一篇血泪史。这篇文章是我这两年实际搭建Spring Cloud Gateway的经验整理,从思路到配置到… · 2026/9/25 5:33:23

廖昌永与岳父母:穷小子逆袭后仍懂感恩,婚姻经营的现实参照
廖昌永与岳父母:穷小子逆袭后仍懂感恩,婚姻经营的现实参照

"丈母娘看女婿,越看越欢喜"这句话放在今天,多少有点理想主义。网上随便一刷,全是为彩礼闹掰的、为婚房署名斗智斗勇的、因为男方原生家庭条件直接被判出局的。所以当"廖昌永:岳父母当年不嫌我穷小子,如… · 2026/9/25 5:55:45

Atlas 300V部署YOLO全攻略:从模型转换到推理加速实战
Atlas 300V部署YOLO全攻略:从模型转换到推理加速实战

提到“atlas”,圈内人第一个想到的往往不是希腊神话里的擎天神,也不是地图册,而是华为昇腾(Ascend)平台上的那套AI计算产品线。如果你正在做边缘视频分析、目标检测或者办公楼宇的智慧化改造,大概率已经听说… · 2026/9/25 5:55:45

RT-Thread RA-Eco-RA4E2-64PIN 开发板 BSP 实战:从硬件资源到 MDK5 编译烧录与源码剖析
RT-Thread RA-Eco-RA4E2-64PIN 开发板 BSP 实战:从硬件资源到 MDK5 编译烧录与源码剖析

操作系统嵌入式物联网嵌入式OSRTOS 【免费下载链接】rt-thread RT-Thread is an open source IoT Real-Time Operating System (RTOS). https://rt-thread.github.io/rt-thread/ 项目地址: https://gitcode.com/gh_mirrors/rt/rt-thread 点击查看 免费下载 本文基于… · 2026/9/25 5:55:39

OpenChamber 1.8.3 深度解析:重构上下文面板与嵌入会话聊天、用户消息渲染控制与模型选择器体验升级
OpenChamber 1.8.3 深度解析:重构上下文面板与嵌入会话聊天、用户消息渲染控制与模型选择器体验升级

AI Agent人工智能代码智能体交互助手 【免费下载链接】openchamber Agentic Development Environment based on OpenCode AI agent 项目地址: https://gitcode.com/gh_mirrors/op/openchamber 点击查看 免费下载 OpenChamber 1.8.3(发布日期 2026-03-02… · 2026/9/25 5:55:39

QualityInspector 工业质检数据集准备实战:以磁砖缺陷数据为例的三种任务格式转换全指南
QualityInspector 工业质检数据集准备实战:以磁砖缺陷数据为例的三种任务格式转换全指南

人工智能计算机视觉预训练 【免费下载链接】PaddleSeg Easy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting,… · 2026/9/25 5:55:39

NLP学术速递工作流:精准筛选与可操作知识提取
NLP学术速递工作流:精准筛选与可操作知识提取

1. 这不是“新闻简报”,而是一份NLP研究者的日常补给清单你有没有过这种体验:早上打开arXiv,看到27篇新上传的NLP论文标题,扫了一眼“LLM-based Reasoning over Knowledge Graphs with Adaptive Prompting”,心里一紧—… · 2026/9/25 5:55:39

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码