-
与某内部MRS集群Hive对接,服务器上部署了Spark,连接云端的Hive,参考的样例代码为mrs-example-mrs-3.3.0中的hive-jdbc-example,通过获取连接url,用spark.read().format("jdbc").options(xxxx)的方式;现在报错内容是:①unable to read HiveServer2 configs from ZooKeeper②KeeperErrorCode=Session closed because client failed to authenticate for /hiveserver2改造的内容是hive-jdbc-example中的USER_NAME的值,usedir的路径为实际路径从报错信息来看,核心问题集中在ZooKeeper 连接与认证失败,这通常与云端 Hive 的服务发现配置、认证机制(如 Kerberos)以及客户端参数匹配有关。一、错误原因分析错误①:unable to read HiveServer2 configs from ZooKeeper原因:Spark 通过 ZooKeeper 自动发现 HiveServer2 地址时失败。可能是 ZooKeeper 集群地址 / 端口错误、ZooKeeper 中 HiveServer2 的注册路径(默认/hiveserver2)被修改,或网络不通(如防火墙阻止 ZooKeeper 端口 2181/2182)。错误②:KeeperErrorCode=Session closed because client failed to authenticate for /hiveserver2原因:ZooKeeper 启用了认证机制(MRS 集群通常默认集成 Kerberos,ZooKeeper 可能依赖 Kerberos 认证),而 Spark 客户端未正确配置认证信息,导致 ZooKeeper 拒绝连接。二、解决步骤(针对 MRS 集群 Hive 的适配)1. 确认 Hive 连接的核心参数(基于 ZooKeeper 的服务发现)MRS 集群的 Hive 通常通过 ZooKeeper 实现 HiveServer2 的高可用,连接 URL 格式为: jdbc:hive2://<zk-quorum>/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;<auth-params> 其中关键参数需与云端 MRS 集群一致:<zk-quorum>:ZooKeeper 集群地址,格式为zk-node1:port,zk-node2:port(MRS 集群的 ZooKeeper 端口通常是 2181,若启用安全模式可能是 2182)。zooKeeperNamespace:HiveServer2 在 ZooKeeper 中的注册根路径(默认hiveserver2,若云端有自定义需同步修改)。<auth-params>:认证相关参数(MRS 默认启用 Kerberos,需添加 Kerberos 认证参数)。2. 配置 Kerberos 认证(解决 ZooKeeper 认证失败)MRS 集群的 Hive 和 ZooKeeper 通常集成 Kerberos 安全认证,客户端必须通过 Kerberos 认证才能访问。需完成以下配置:(1)获取 Kerberos 配置文件从 MRS 集群控制台下载:krb5.conf:Kerberos 的配置文件(包含 KDC 地址、 Realm 等信息)。用于访问 Hive 的keytab文件(如hiveuser.keytab)和对应的principal(如hiveuser@HADOOP.COM)。将这两个文件放置在本地 Spark 服务器的可访问路径(如/etc/krb5.conf、/opt/keytabs/hiveuser.keytab)。(2)Spark 代码中添加 Kerberos 认证参数在spark.read.jdbc的options中添加 Kerberos 相关配置,同时确保 JVM 加载krb5.conf:import org.apache.spark.sql.SparkSession object HiveJdbcExample { def main(args: Array[String]): Unit = { val spark = SparkSession.builder() .appName("Hive-JDBC-Example") // 加载Kerberos配置 .config("spark.driver.extraJavaOptions", "-Djava.security.krb5.conf=/etc/krb5.conf") .config("spark.executor.extraJavaOptions", "-Djava.security.krb5.conf=/etc/krb5.conf") .getOrCreate() // Hive JDBC连接参数 val jdbcOptions = Map( "url" -> "jdbc:hive2://zk-node1:2181,zk-node2:2181,zk-node3:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;authMech=1;principal=hive/_HOST@HADOOP.COM", "dbtable" -> "default.t1", // 目标表 "user" -> "hiveuser", // MRS集群的Hive用户名 "password" -> "", // Kerberos认证时密码可为空,依赖keytab "driver" -> "org.apache.hive.jdbc.HiveDriver" ) // 若需通过keytab自动登录(避免手动kinit),可在代码中添加登录逻辑 import org.apache.hadoop.security.UserGroupInformation UserGroupInformation.setConfiguration(spark.sparkContext.hadoopConfiguration) UserGroupInformation.loginUserFromKeytab("hiveuser@HADOOP.COM", "/opt/keytabs/hiveuser.keytab") // 读取Hive表 val df = spark.read.format("jdbc").options(jdbcOptions).load() df.show() spark.stop() } } 3. 验证 ZooKeeper 连接与路径检查 ZooKeeper 地址和端口:通过telnet zk-node1 2181测试网络连通性,确保本地 Spark 服务器能访问 MRS 的 ZooKeeper 节点。确认 HiveServer2 在 ZooKeeper 的注册路径:若云端 MRS 修改过默认路径(非/hiveserver2),需在 URL 中同步修改zooKeeperNamespace参数(如zooKeeperNamespace=custom-hiveserver2)。4. 依赖包兼容性处理(避免版本冲突)MRS 3.3.0 对应的 Hive 版本通常为 2.x 或 3.x,需确保本地 Spark 的依赖包与 MRS 版本兼容:移除 Spark 默认的低版本hive-jdbc、zookeeper、hadoop-common等 jar 包。添加 MRS 3.3.0 配套的依赖(可从 MRS 集群的/usr/share/hadoop、/usr/share/hive目录拷贝,或通过 MRS 的 maven 仓库引入):hive-jdbc-<version>.jarhive-service-<version>.jarzookeeper-<version>.jarhadoop-common-<version>.jarhadoop-auth-<version>.jar(Kerberos 认证依赖)5. 用 beeline 工具验证连接(排除服务端问题)先通过 Hive 官方的beeline工具测试连接,确认服务端配置正确: beeline -u "jdbc:hive2://zk-node1:2181,zk-node2:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;principal=hive/_HOST@HADOOP.COM" -n hiveuser -k 若beeline能成功连接,说明服务端和认证配置正确,问题在 Spark 客户端;若beeline也失败,需先排查 MRS 集群的 HiveServer2 状态、ZooKeeper 状态及 Kerberos 配置。三、注意一下下MRS 安全模式差异:若云端 MRS 集群未启用 Kerberos(非安全模式),则认证参数简化为authMech=3(用户名密码认证),URL 中添加password=<your-password>。ZooKeeper 认证类型:除 Kerberos 外,部分场景可能使用 ZooKeeper 的 Digest 认证,需在 URL 中添加zookeeper.auth=digest:username:password。日志排查:开启 Spark 的 DEBUG 日志(spark.driver.extraJavaOptions=-Dlog4j.configuration=log4j.properties),查看 ZooKeeper 连接阶段的详细报错(如 “no route to host” 为网络问题,“invalid token” 为 Kerberos 认证失败)。
-
GaussDB 集中式数据库中指定表并行处理在华为GaussDB 集中式数据库(主要指 GaussDB 100,面向集中式部署场景) 中,支持通过表级并行度控制或查询 Hint(提示) 实现 “仅对 SQL 中指定表(如示例中的 t2 表)开启并行处理”,核心思路是通过精细化配置表的并行属性或强制查询计划对目标表启用并行,同时让其他表(如 t1 表)沿用默认串行或低并行策略。一、核心实现原理:表级并行度的可控性GaussDB 集中式的并行查询机制遵循 “全局参数为基础,表级配置 / Hint 为优先” 的规则:全局参数(如enable_parallel_execute)控制是否允许并行查询(默认开启),但仅决定 “是否支持并行”,不指定 “哪些表并行”;表级配置(存储参数PARALLEL)或查询 Hint(如/*+ PARALLEL(表名, 并行度) */)可单独指定某张表的并行处理策略,优先级高于全局参数,从而实现 “指定表单独并行”。二、具体实现方案(针对示例 SQL)示例 SQL 为两表关联查询:select * from t1, t2 where ``t1.id`` = ``t2.id,需仅对t2表开启并行,t1表保持串行。以下是两种常用方案:方案 1:通过 “表级存储参数” 长期配置(适合固定需求)通过CREATE TABLE或ALTER TABLE为t2表设置并行度(DOP,Degree of Parallelism),使该表的所有查询默认启用并行;t1表不设置并行参数,沿用全局默认(串行或低并行)。操作步骤:确认全局并行开关已开启首先确保数据库允许并行查询(默认开启),可通过以下 SQL 验证:SELECT name, value FROM SYS.V\$PARAMETER WHERE name = 'enable\_parallel\_execute'; \-- 若value为1,表示开启;若为0,需执行以下语句开启(需管理员权限): ALTER SYSTEM SET enable\_parallel\_execute = 1 SCOPE = SPFILE; \-- 重启数据库使配置生效(仅修改SPFILE时需重启)为 t2 表设置并行度新建 t2 表时直接指定并行度(推荐):CREATE TABLE t2 (   id INT,   col1 VARCHAR2(50),   ... -- 其他字段 )  PARALLEL 4; -- 并行度设为4(根据CPU核心数调整,通常为CPU核心数的1-2倍)已存在的 t2 表,通过 ALTER TABLE 修改并行度:ALTER TABLE t2 PARALLEL 4; -- 对t2表启用并行,并行度4 ALTER TABLE t1 PARALLEL 1; -- 强制t1表串行(并行度1等效于关闭并行)执行目标 SQL无需修改 SQL,数据库会自动对t2启用并行(按表级配置的并行度),t1按并行度 1 串行处理:select \* from t1, t2 where t1.id = t2.id; 方案 2:通过 “查询 Hint” 临时控制(适合动态需求)若仅需对某一次查询中的t2表启用并行(不影响其他查询),可使用 GaussDB 支持的PARALLEL查询 Hint,直接在 SQL 中指定t2的并行度,优先级最高。操作语法与示例:Hint 格式:/*+ PARALLEL(表名, 并行度) */对t2表启用并行度 4,t1表不指定(默认串行):SELECT /\*+ PARALLEL(t2, 4) \*/ -- 强制t2表并行处理,并行度4   \*  FROM t1, t2  WHERE t1.id = t2.id; (可选)若需明确强制t1串行,可增加t1的串行 Hint:SELECT /\*+ PARALLEL(t2, 4) PARALLEL(t1, 1) \*/ -- t2并行,t1串行   \*  FROM t1, t2  WHERE t1.id = t2.id; 三、关键配置说明与注意事项1. 并行度(DOP)的合理设置并行度并非越高越好,需结合服务器 CPU 核心数、内存大小及业务负载调整:推荐值:并行度 = CPU物理核心数 × 1~2(例如 8 核 CPU,并行度设为 8 或 16);避免过度并行:若并行度过高,会导致线程切换开销增大,反而降低性能(尤其小表查询,并行收益可能覆盖不了开销)。2. 表级并行与全局参数的优先级GaussDB 并行策略的优先级从高到低为:查询Hint > 表级PARALLEL参数 > 全局并行参数(如parallel_degree_limit)若全局参数parallel_degree_limit设置了最大并行度(如 16),则表级或 Hint 指定的并行度不能超过该值。3. 验证并行是否生效可通过查看执行计划确认t2表是否启用并行,执行以下 SQL:EXPLAIN FORMAT=TEXT SELECT /\*+ PARALLEL(t2, 4) \*/ \* FROM t1, t2 WHERE t1.id = t2.id; 若执行计划中包含 PARALLEL SCAN ON t2(并行扫描 t2 表),且degree: 4,说明并行已生效;t1表的扫描计划若为 SCAN ON t1(无 PARALLEL 关键字),说明为串行。四、总结一下下能否实现:GaussDB 集中式(GaussDB 100)完全支持 “仅对指定表开启并行”,核心通过表级 PARALLEL 参数(长期配置)或查询 Hint(临时配置)实现。推荐方案:长期固定需求:用ALTER TABLE t2 PARALLEL 4;配置表级并行;临时动态需求:在 SQL 中加/*+ PARALLEL(t2, 4) */ Hint,灵活且不影响其他查询。核心逻辑:通过精细化控制单表的并行度,让目标表(t2)通过多线程加速扫描 / 关联,其他表(t1)保持串行,兼顾性能与资源利用率。
-
一、一表带你了解防火墙常见的冗余备份方式冗余方式核心原理适用场景1. 主备模式(Active/Standby)两台防火墙一台作为主设备(Active) 承担业务流量,另一台作为备设备(Standby) 处于待命状态;主设备故障时,备设备自动接管业务。对成本敏感、业务连续性要求中等的场景(如中小企业、分支机构),需确保故障时业务不中断,但可接受短暂切换时间。2. 双主模式(Active/Active,负载分担)两台防火墙均处于活跃状态,通过负载均衡算法(如基于源 IP、目的 IP、会话)分担业务流量;单台设备故障时,另一台接管全部流量。高带宽需求、业务流量较大的场景(如数据中心出口、核心骨干网),需同时实现 “冗余备份” 和 “流量分担”,提升资源利用率。3. 集群模式(Cluster,堆叠 / 虚拟化)多台防火墙通过专用协议(如 VRRP、VGMP、IRF)虚拟化为一个逻辑设备,对外呈现单一 IP 和接口;内部自动实现流量分担、故障检测和业务接管。超大规模网络(如大型企业总部、云数据中心),需极致的可靠性和扩展性,支持 10 台以上设备集群,切换时间毫秒级。4. 链路冗余(多链路备份)单台防火墙通过多个物理接口连接不同链路(如双 ISP 出口),利用路由协议(如 BGP、OSPF)或链路检测协议(如 BFD)实现链路故障时的自动切换。单设备部署场景下,需避免 “链路单点故障”(如 ISP 线路中断),确保出口链路可靠性。5. 会话同步冗余(含 HRP 热备)主备 / 双主设备之间通过专用协议(如 HRP、HSRP)实时同步会话表、配置信息、状态信息(如 NAT 表、ACL 策略、连接状态),确保切换后业务不中断(用户无感知)。依赖 “状态检测” 的业务(如 TCP 长连接、VPN、在线交易),需避免故障切换时会话中断导致业务异常。 二、最常用的冗余备份方式:主备模式在所有冗余方式中,主备模式(尤其是基于 HRP 协议的热备主备模式) 是最广泛使用的1. 成本与复杂度平衡只需要 2 台防火墙即可部署,硬件成本低于双主模式(需两台设备均具备高吞吐能力)和集群模式(多台设备 + 专用集群模块)。配置逻辑简单,无需复杂的负载均衡算法或集群虚拟化配置,运维门槛低,适合中小型企业或分支机构的 IT 团队。2. 兼容性与普适性强几乎所有主流厂商(华为、华三、飞塔、 Palo Alto 等)的防火墙均原生支持主备模式,且兼容传统网络架构(如静态路由、VLAN、VPN 等),无需对现有网络进行大规模改造。3. 业务连续性保障到位结合 HRP(Hot Standby Protocol,热备协议)等会话同步技术后,主备切换时可实现配置、会话、状态信息的无缝同步,切换时间通常在 1-3 秒内(部分高端设备可达毫秒级),用户侧(如网页浏览、在线办公)基本无感知。4. 适用场景覆盖广无论是企业出口防火墙、内网分区防火墙,还是数据中心边界防火墙,主备模式均可满足 “避免单点故障” 的核心需求,尤其适合对 “资源利用率” 要求不高、但对 “稳定性” 要求明确的场景。 三、我们常说的镜像模式、主备模式、HRP 热备模式的核心区别三者的本质差异在于核心作用、数据流向、故障处理机制,需明确:HRP 热备模式是主备模式的 “增强版”,而镜像模式并非冗余备份方式,仅用于流量监控。对比维度镜像模式(Mirror Mode)主备模式(Active/Standby,基础版)HRP 热备模式(Active/Standby + HRP)核心作用流量复制与监控,无冗余备份能力。设备级冗余备份,解决设备单点故障。设备 + 会话级冗余备份,解决设备故障 + 会话中断问题。数据流向业务流量仅通过单台防火墙,同时复制一份流量到监控设备(如 IDS/IPS、日志服务器),不影响主流量转发。业务流量仅通过主设备;备设备不转发流量,仅处于 “待命” 状态(仅检测主设备心跳)。业务流量仅通过主设备;备设备实时同步主设备的配置、会话表、NAT 表等,处于 “热待命” 状态。故障处理主设备故障时,业务直接中断(无接管机制),仅监控端能看到故障前的流量日志。主设备故障(如断电、链路中断)时,备设备通过心跳检测(如 VGMP 协议)接管 IP 和业务,但已建立的会话会中断(如用户需重新登录、TCP 连接断开)。主设备故障时,备设备接管业务,由于已同步会话和状态信息,现有会话不中断(用户无感知,业务持续运行)。部署成本低(仅需 1 台防火墙 + 1 台监控设备,无需额外冗余设备)。中(需 2 台同型号防火墙,无需专用协议授权)。中高(需 2 台同型号防火墙,且需支持 HRP 协议(部分厂商需 License))。适用场景网络审计、入侵检测、日志分析(如企业内网行为监控、合规审计)。对会话连续性要求低的场景(如普通办公上网、非实时性业务)。对会话连续性要求高的场景(如 VPN 接入、在线交易、视频会议、云服务访问)。典型厂商实现华为(端口镜像)、华三(Mirroring)、Cisco(SPAN/RSPAN)。华为(基础主备)、华三(IRF 基础模式)、飞塔(Active/Standby)。华为(HRP 协议)、华三(VRRP + 会话同步)、深信服(双机热备)。四、总结一下下冗余备份核心逻辑:所有方式均以 “消除单点故障” 为目标,区别在于对 “资源利用率”“会话连续性”“扩展性” 的侧重。最常用选择:主备模式(含 HRP 热备)凭借 “低成本、易部署、高兼容” 成为主流,尤其适合 80% 以上的企业级场景。模式区分关键:镜像模式≠冗余备份,仅用于流量监控;基础主备模式解决 “设备故障”,但丢失会话;HRP 热备模式是基础主备的升级,通过会话同步实现 “业务无感知切换”。
-
openGauss连接类算子当前支持的连接类型包括Hash Join(哈希连接)、Merge Join(合并连接)和Nested Loop Join(嵌套循环连接)三种。这三种连接算子覆盖了数据库中最常见的表关联场景,每种算子都有其特定的适用场景和优化策略。一、Hash Join(哈希连接)Hash Join是openGauss中处理大数据集连接的核心算子,其实现逻辑基于哈希表的快速查找特性。适用场景:当其中一个输入表(通常为内表)的数据量较小且能完全放入内存时,Hash Join的性能最优。此时,优化器会将内表的数据按连接键构建哈希表,然后扫描外表并通过探测哈希表快速匹配符合条件的行。实现原理:Hash Join的执行过程分为两个阶段:构建阶段:从内表中读取数据,根据连接键计算哈希值,将数据存入内存中的哈希表(若数据量超过内存限制,会溢出到磁盘临时段)。探测阶段:扫描外表的每一行数据,计算连接键的哈希值,探测哈希表中是否存在匹配项。若存在,则输出关联后的行;若不存在,则跳过(内连接场景)。特点:内存依赖度高:若内表数据量过大无法完全放入内存,会导致频繁的磁盘I/O,性能下降。适用于等值连接:仅支持连接条件为等值(如a.id = b.id)的场景,不支持范围查询或非等值条件。二、Merge Join(合并连接)Merge Join是openGauss中处理已排序数据集连接的高效算子,其实现逻辑基于双指针遍历有序数据。适用场景:当两个输入表的数据均已按连接键有序排列(如通过索引扫描或预先排序)时,Merge Join的性能优于Hash Join。此时,无需构建哈希表,直接通过双指针遍历即可完成连接。实现原理:Merge Join的执行过程分为三个阶段:排序阶段:若输入表未排序,需先通过排序算子(如Sort)将两个表的数据按连接键排序(此步骤会增加额外开销,因此仅当数据已排序时使用Merge Join才划算)。初始化指针:为两个有序数据集设置初始指针(指向第一条数据)。双指针遍历:比较两个指针所指数据的连接键值:若键值相等,输出关联后的行,并同时移动两个指针(处理重复键值的情况)。若左表键值小于右表键值,移动左表指针。若左表键值大于右表键值,移动右表指针。特点:无内存依赖:仅需少量内存存储当前指针位置的行数据,适合处理大数据集。仅支持有序数据:若输入数据未排序,排序阶段的开销可能抵消Merge Join的性能优势。适用于等值或范围连接:支持连接条件为等值(如a.id = b.id)或范围(如a.id > b.id)的场景,但范围连接时性能会有所下降。三、Nested Loop Join(嵌套循环连接)Nested Loop Join是openGauss中最基础的连接算子,其实现逻辑基于双重循环遍历两个输入表的所有组合。适用场景:当其中一个输入表(通常为外表)的数据量极小(如几行或几十行)时,Nested Loop Join的性能可接受。此时,外表的小数据量使得双重循环的总迭代次数可控。实现原理:Nested Loop Join的执行过程分为两个循环:外表循环:遍历外表的每一行数据。内表循环:对于外表的每一行,遍历内表的所有行,检查连接条件是否满足。若满足,则输出关联后的行。特点:计算复杂度高:时间复杂度为O(N*M)(N为外表行数,M为内表行数),因此仅适用于小数据集场景。无数据依赖:无需数据排序或构建哈希表,实现简单。适用于笛卡尔积或小表驱动:常用于处理笛卡尔积(如CROSS JOIN)或外表极小的连接场景(如WHERE a.id = b.id AND a.id IN (1,2,3))。四、三种连接算子的对比与选择策略算子类型适用场景性能优势性能劣势Hash Join大数据集、内表可放入内存内存访问快、无排序开销内存依赖度高、仅支持等值连接Merge Join已排序数据集、大数据集无内存依赖、支持范围连接需要排序、仅支持有序数据Nested Loop Join小数据集、外表极小实现简单、无数据依赖计算复杂度高、仅适用于小场景五、总结一下下openGauss的连接类算子通过Hash Join、Merge Join、Nested Loop Join三种类型,覆盖了数据库中几乎所有常见的表关联场景。优化器会根据输入数据的大小、排序状态、连接条件等因素,自动选择最优的连接算子(也可通过enable_hashjoin、enable_mergejoin、enable_nestloop等参数手动调整)。咱们在使用时,可根据数据特征和查询需求,合理设计索引(如为Merge Join创建有序索引)或调整数据分布(如将小表作为内表),以最大化连接查询的性能。
-
在虚拟机上安装 openEuler 时,需要注意以下几个关键兼容性问题,以确保安装和运行的稳定性:虚拟化平台兼容性:openEuler 官方明确支持的虚拟化环境包括其自有的虚拟化组件(如 QEMU/KVM)以及华为公有云的 x86 虚拟化平台。对于 VMware、VirtualBox 或 Proxmox VE (PVE) 等第三方虚拟化软件,虽然通常可以安装,但可能遇到一些驱动或配置问题,需要额外调整。在 VMware 中,创建虚拟机时,客户机操作系统类型建议选择“其他 Linux 5.x 或更高版本内核 64 位”。在 VirtualBox 中安装 openEuler 20.03 时,其默认的 PCnet 网卡可能不被支持,建议更换为 Intel PRO/1000 MT 桌面等型号的网卡。CPU 架构与镜像选择:openEuler 支持 x86_64 和 AArch64 架构。你必须根据宿主机的 CPU 架构以及虚拟化软件所能模拟的架构,下载对应的 ISO 镜像文件。选错架构会导致无法安装。虚拟硬件配置引导方式:在某些虚拟化环境(如 ESXi)中,使用 EFI 引导安装 openEuler 可能会失败,将其修改为传统的 BIOS 引导后往往可以解决问题。显卡与显示:在 VMware Fusion(特别是在 Apple Silicon Mac 上)和某些 VirtualBox 配置中,安装时可能会卡在启动界面。一个有效的解决方法是:在 GRUB 启动菜单选中安装项后按 e 键编辑启动参数,删除 video=efifb:off 这个选项,然后继续安装。网络适配器:如第1点所述,在 VirtualBox 中需注意网卡型号的选择。此外,安装完成后,默认的网络配置可能是关闭的。你需要检查 /etc/sysconfig/network-scripts/ 目录下对应网卡配置文件(如 ifcfg-enp0s3),确保其中的 ONBOOT 参数设置为 yes,以便系统启动时自动激活网络连接。VMware Tools / Open VM Tools:为了实现虚拟机的最佳性能(如显示、鼠标集成、文件共享等),建议安装 VMware Tools。openEuler 最小化安装可能未预置所需工具(如 tar),你需要先配置网络,然后通过 dnf install tar 等命令安装必要工具,再挂载 VMware Tools 镜像进行安装。图形界面安装:如果你想安装图形化界面(如 GNOME, DDE, UKUI),建议在系统安装完成后,通过命令行更新系统 (sudo dnf update),再安装所需的桌面环境组包。确保虚拟机分配了足够的显存(如16MB以上)和内存(≥4GB),以避免安装失败或体验不佳。总结一下下,在虚拟机安装 openEuler 前,请务必确认:① 虚拟化平台和客户机系统类型选择正确;② 下载了对应 CPU 架构的镜像;③ 预先了解可能需要的引导方式或内核参数调整。安装后,记得检查网络配置并考虑安装增强功能工具。
-
在仅依赖出口防火墙的场景下,阻止挖矿行为需结合挖矿程序的技术特征(如依赖外部矿池通信、特定端口 / 协议、异常流量模式等),充分利用防火墙的访问控制、应用识别、流量监控、日志审计等核心功能,分层次构建防御体系。以下是具体可落地的实施步骤,覆盖 “事前阻断、事中监控、事后追溯” 全流程:一、核心思路:明确挖矿行为的 “可被防火墙识别” 特征挖矿行为(尤其是恶意挖矿)通常具备以下可被防火墙捕捉的特征,需针对性防御:通信依赖:必须连接外部矿池服务器(核心特征,无矿池则无法算力贡献和收益结算),常用 TCP/UDP 协议,存在固定端口或动态端口。流量特征:长时间、高频率、持续性的 outbound(出方向)流量,流量包大小相对固定(与矿池心跳、算力提交相关),且通常无明显 inbound 响应(区别于正常业务交互)。应用特征:主流挖矿程序(如 XMRig、CGMiner、Claymore、PhoenixMiner 等)存在可被识别的应用层特征(如协议指纹、通信报文特征)。规避手段:部分挖矿程序会伪装成正常应用(如利用 HTTPS/443 端口、模仿浏览器流量),或通过 P2P 方式去中心化挖矿(无固定矿池,难通过 IP / 端口阻断)。二、基于防火墙的分层防御方案(从易到难落地)1. 第一层:基础访问控制(阻断已知矿池通信,快速见效)利用防火墙的ACL(访问控制列表) 或 “策略路由” 功能,基于 “IP + 端口” 阻断挖矿程序与外部矿池的连接,适用于所有具备基本包过滤功能的防火墙(包括传统防火墙和下一代防火墙 NGFW)。 防御措施具体操作关键依赖 / 注意事项阻断已知矿池 IP / 网段1. 收集公开的矿池 IP 地址库(如知名矿池:F2Pool、AntPool、Poolin、Slush Pool 等的官方 IP 段,可通过威胁情报平台、安全社区获取,例如Blockchain.com 矿池列表、CryptoCompare 矿池数据库);2. 在防火墙出方向配置 **“拒绝策略”**,禁止内部所有 IP 访问这些矿池 IP / 网段(源:内部所有网段,目的:矿池 IP 段,动作:拒绝)。- 需定期更新矿池 IP 库(矿池 IP 可能动态变化,建议每周更新 1 次);- 注意区分 “合法矿池” 与 “恶意矿池”,避免误阻断合法业务(如企业合规挖矿场景)。阻断常见挖矿端口1. 梳理挖矿程序常用端口(见下表);2. 在防火墙出方向配置策略,禁止内部 IP 通过这些端口访问外部网络(源:内部所有网段,目的:任意外部 IP,端口:挖矿常用端口,动作:拒绝)。- 部分挖矿程序会使用 80、443 等常用端口伪装,此策略无法阻断这类 “端口伪装” 的挖矿行为;- 避免阻断业务常用端口(如 8080 可能同时用于业务系统,需确认后排除)。 挖矿程序常见端口列表端口类型常见端口号对应场景通用矿池端口3333、4444、5555、6666、7777、8888多数 CPU/GPU 挖矿程序默认端口特定币种端口14444(门罗币 XMR)、30303(以太坊 ETH)、9999(Zcash)对应币种的专用矿池端口P2P 挖矿端口18080(门罗币 P2P)、30301(以太坊 P2P)去中心化 P2P 挖矿的节点通信端口2. 第二层:应用层精准阻断(针对挖矿程序特征,提升防御精度)若防火墙为下一代防火墙(NGFW),具备 “应用识别” 功能(可基于应用协议指纹、行为特征识别具体程序),可直接针对挖矿类应用进行阻断,比 “IP + 端口” 策略更精准,能防御端口伪装的挖矿行为。具体的一些操作步骤:启用防火墙的 “应用识别库” 并更新:确保防火墙的应用特征库为最新版本(多数厂商会定期更新挖矿程序的特征,如深信服、华为、 Palo Alto 等)。识别并阻断 “挖矿相关应用”:在防火墙的 “应用控制策略” 中,筛选 “挖矿”“ cryptocurrency mining” 等分类下的应用(如 XMRig、CGMiner、Claymore Miner 等);配置出方向策略:“所有内部 IP → 外部网络,阻断挖矿类应用”,并设置动作(如 “拒绝连接”“重置会话”)。针对加密通信的挖矿程序(HTTPS/SSL):若防火墙支持 “SSL 解密” 功能,开启对外部 HTTPS 流量的解密(需提前部署根证书至内部终端,避免证书告警);解密后,防火墙可识别 HTTPS 流量中的挖矿程序通信(如矿池域名、API 交互),进而阻断。3. 第三层:异常流量监控与阻断(发现未知挖矿行为)挖矿程序会产生持续性、高带宽的出方向流量(即使伪装端口,流量特征仍明显),可通过防火墙的 “流量统计”“异常检测” 功能发现未知挖矿行为。 具体操作: 配置流量基线与告警:在防火墙中,针对内部各终端 / 网段,设置出方向流量基线(如 “单 IP 平均出带宽≤10Mbps,并发连接数≤100”);当某 IP 出现 “长时间(如连续 1 小时以上)超出基线流量、且连接目标为非业务 IP” 时,触发防火墙告警(如邮件、短信告警)。阻断异常流量源:告警后,通过防火墙日志定位异常 IP(疑似感染挖矿程序的终端);临时配置 “针对该 IP 的出方向流量限制策略”(如限速 1Mbps、阻断非业务端口连接),避免其占用过多带宽,同时为后续终端排查争取时间。监控 P2P 类异常流量:挖矿程序(尤其是 P2P 挖矿)会产生大量 “随机 IP、小数据包、高频交互” 的流量,可在防火墙中启用 “P2P 流量识别”(如 BitTorrent、eMule 等协议),对异常 P2P 流量进行限速或阻断(需排除内部合法 P2P 业务,如文件分发)。4. 第四层:日志审计与溯源(定位感染终端,彻底清除)仅在防火墙层面阻断,无法解决 “内部终端已感染挖矿程序” 的根本问题,需通过防火墙日志追溯感染源,配合终端处理彻底清除。 具体操作:开启防火墙全量日志记录:确保防火墙记录所有出方向连接日志(包括源 IP、目的 IP、端口、协议、应用类型、流量大小、连接时长等)。分析日志,定位挖矿终端:筛选日志中 “频繁连接外部矿池 IP / 挖矿端口” 的源 IP,或 “长时间高流量连接非业务 IP” 的终端;重点排查 “非工作时间(如夜间、周末)仍有大量出方向流量” 的 IP(挖矿程序通常 24 小时运行)。终端侧处理(关键补充步骤):对定位到的疑似终端,进行本地排查(如查看进程管理器,结束 XMRig.exe、cgminer.exe 等可疑进程;检查启动项、计划任务,删除挖矿程序的自启动配置;使用杀毒软件扫描并清除挖矿程序);若终端无法清除(如挖矿程序嵌入系统进程),建议重装系统,并检查是否存在弱口令、漏洞(挖矿程序多通过弱口令、未修复漏洞入侵)。5. 第五层:结合威胁情报(提升防御时效性,应对新型挖矿)若防火墙支持 “威胁情报联动” 功能(多数 NGFW 支持),可接入第三方威胁情报平台(如奇安信威胁情报、360 威胁情报、IBM X-Force 等),实时获取最新矿池 IP、挖矿程序特征、恶意域名等信息,自动同步至防火墙策略,实现 “动态阻断”。 优势:无需人工频繁更新矿池 IP 库,可快速响应新型挖矿威胁(如新型矿池、变种挖矿程序)。三、局限性与补充建议(仅靠防火墙的不足)需注意:仅依赖出口防火墙,无法完全覆盖所有挖矿场景(如 “内网闭环挖矿”“离线挖矿”“基于容器 / 虚拟机的隐蔽挖矿”),需结合以下补充措施提升防御效果: 终端侧加固(核心补充):部署终端安全软件(如杀毒软件、EDR 终端检测与响应),实时监控并阻断挖矿程序的安装与运行;禁用终端的 USB 端口(防止通过 U 盘植入挖矿程序),限制非管理员账户安装软件。网络层补充(若条件允许):若后续可扩展设备,建议部署 IDS/IPS(入侵检测 / 防御系统),增强对挖矿程序通信特征的深度检测;部署 DNS 防火墙,阻断内部终端对矿池域名的解析(挖矿程序需通过域名解析获取矿池 IP,阻断解析可从源头切断连接)。定期安全检查:定期查看防火墙日志、流量报表,分析是否存在未被阻断的异常流量;定期扫描内部终端,检查是否存在弱口令、未修复的系统漏洞(挖矿程序常通过漏洞入侵,如永恒之蓝、Log4j 等)。总结一下下在仅用防火墙的场景下,阻止挖矿的核心逻辑是:“阻断矿池通信(断网)+ 识别应用特征(精准打靶)+ 监控异常流量(抓漏)+ 溯源终端(根除)”。优先落地 “已知矿池 IP / 端口阻断” 和 “应用识别阻断”(若为 NGFW),快速见效;再通过流量监控和日志审计发现未知挖矿行为,配合终端处理彻底清除。若需应对新型挖矿威胁,建议优先启用防火墙的威胁情报联动功能,提升防御时效性。
-
在数据中心网络架构中,Spine-Leaf(脊柱 - 叶子) 是一种基于 “全互联、扁平化” 理念设计的二层 / 三层混合架构,核心目标是解决传统三层架构(核心 - 汇聚 - 接入)存在的带宽瓶颈、转发延迟高、扩展性差等问题,广泛应用于云计算、大数据、分布式存储等对网络性能(低延迟、高吞吐、高可用)要求极高的场景。 其名称源于架构的物理拓扑形态:Leaf(叶子交换机) 作为接入层,直接连接服务器等终端设备;Spine(脊柱交换机) 作为核心层,连接所有 Leaf 交换机,形成类似 “叶脉” 的全互联结构。 一、Spine-Leaf 架构的核心组件与角色架构由两类交换机(Spine、Leaf)和终端设备(服务器、存储等)组成,各组件职责明确,没有 “汇聚层” 等中间层级,实现 “扁平化” 设计。组件类型核心角色关键特征Leaf(叶子交换机)1. 接入层设备:直接连接服务器、虚拟机(VM)、容器等终端,是终端的 “直接网关”;2. 流量汇聚:收集下联终端的上行流量,转发至 Spine;同时接收 Spine 的下行流量,分发至终端;3. 三层网关:通常配置 Anycast 网关(多 Leaf 共享同一网关 IP),实现终端跨网段通信与高可用。- 端口密度高(多为 48 口 / 96 口千兆 / 万兆电口,适配大量服务器接入);- 需支持三层路由(与 Spine 互联)和 ARP 代理(如 Anycast 网关场景);- 每台 Leaf 必须与所有 Spine直接互联(全互联核心要求)。Spine(脊柱交换机)1. 核心转发层:仅负责 Leaf 之间的流量转发,不直接连接终端设备;2. 流量调度:实现不同 Leaf 下终端的跨 Leaf 通信(如 Leaf A 的服务器访问 Leaf B 的服务器),或终端访问外部网络(需通过 Spine 连接出口网关)。- 端口速率高(多为 16 口 / 32 口 40G/100G/400G 光口,适配 Leaf 的高速上行);- 功能聚焦转发(通常仅需三层路由能力,无需 ARP、DHCP 等接入层功能);- 无 “层级” 概念,所有 Spine 地位平等,实现负载分担。 二、Spine-Leaf 架构的核心特点(与传统架构对比)传统三层架构(核心 - 汇聚 - 接入)存在 “层级转发延迟”“汇聚层瓶颈”“扩展性差” 等问题,而 Spine-Leaf 通过 “扁平化 + 全互联” 设计,从根本上解决这些痛点:1. 全互联拓扑:消除单点瓶颈Leaf 与 Spine 全互联:每台 Leaf 必须通过独立链路连接到所有 Spine(例如:3 台 Spine + 4 台 Leaf,需部署 3×4=12 条互联链路)。优势:避免传统架构中 “汇聚层设备故障导致整个区域断网” 的风险;任意 Leaf 的上行流量可通过多条 Spine 链路分散转发,无单链路 / 单设备瓶颈。2. 扁平化转发:低延迟、高效率转发路径固定为 2 跳:同一 Leaf 下终端通信:1 跳(终端→Leaf→终端,二层转发);跨 Leaf 终端通信:2 跳(终端→Leaf→Spine→Leaf→终端,仅经过 1 台 Spine)。对比传统架构:跨区域通信可能需要 “终端→接入→汇聚→核心→汇聚→接入→终端”(6 跳以上),延迟显著降低。3. 线性扩展:按需扩容,无架构重构横向扩展 Leaf:当服务器数量增加时,新增 Leaf 只需与所有现有 Spine 互联,即可接入新服务器(无需修改其他设备配置)。纵向扩展 Spine:当 Leaf 之间的流量带宽不足时,新增 Spine 只需与所有现有 Leaf 互联,即可分担转发压力(所有 Spine 平等分担流量,负载自动均衡)。传统架构扩展核心 / 汇聚层时,往往需要重构链路拓扑,运维复杂度高。4. 高可用性:故障自动隔离与恢复设备冗余:Spine 和 Leaf 均为集群部署(无单点设备),单台 Spine/Leaf 故障时,流量自动切换至其他互联链路 / 设备。链路冗余:Leaf 与 Spine 之间的链路通常做冗余备份(如 LACP 链路聚合),单条链路中断不影响通信。 三、典型应用场景Spine-Leaf 架构的设计初衷是适配大规模、高并发、低延迟的 IT 环境,主要应用于:云计算数据中心:虚拟化服务器(VM)、容器(K8s 集群)数量庞大,且跨节点通信频繁(如分布式存储、分布式计算),需低延迟和高吞吐。超算中心 / AI 训练集群:GPU 节点之间的海量数据交互(如模型参数同步),对网络延迟和带宽稳定性要求极高。金融核心系统:交易系统、清算系统需高可用(零中断)和低延迟(毫秒级响应),Spine-Leaf 的冗余设计可满足业务连续性要求。 四、关键的技术支撑Spine-Leaf 架构的落地依赖以下核心技术,缺一不可:Anycast 网关:多 Leaf 配置相同网关 IP,结合 ARP 任意代理(如前文问题),实现网关负载均衡与故障切换。三层路由协议:Leaf 与 Spine 之间通常使用 BGP(边界网关协议)或 OSPF(开放式最短路径优先),实现路由动态学习与快速收敛(故障时路由秒级切换)。大二层技术(可选):若需实现跨 Leaf 的二层互联(如 VM 跨 Leaf 迁移),需结合 VxLAN 等 overlay 技术(Leaf 作为 VxLAN 隧道端点 VTEP,Spine 转发隧道流量)。链路聚合(LACP):Leaf 与 Spine 之间的多条物理链路聚合为逻辑链路,提升带宽并实现链路冗余。 五、Leaf 交换机网关配置 ARP 任意代理的核心原因首先明确概念:ARP 任意代理(ARP Proxy Anycast) 是结合 “Anycast 网关” 技术的 ARP 代理机制。在 Spine-Leaf 架构中,多个 Leaf 交换机通常会配置相同的网关 IP 地址(即 Anycast 网关),而 ARP 任意代理允许任意一个 Leaf 交换机主动响应服务器对该网关 IP 的 ARP 请求(返回自身的物理 MAC 地址),从而实现网关的负载均衡与高可用。 其核心目的是解决传统单网关(如单台 Leaf 做网关)的两大痛点,具体原因如下:1. 实现 Anycast 网关的 “负载分担” 与 “就近转发”在数据中心,大量服务器通过 Leaf 接入网络,若所有服务器的网关指向同一台 Leaf,会导致该 Leaf 成为流量瓶颈。通过 Anycast 网关(多 Leaf 共享同一网关 IP)+ ARP 任意代理: 服务器发送 ARP 请求(“谁是网关 IP 192.168.1.1?”)时,接入该服务器的本地 Leaf 会优先响应(返回自身 MAC),将服务器的上行流量 “锚定” 在本地 Leaf。不同服务器的流量会被分配到不同 Leaf(由各自接入的 Leaf 代理 ARP),实现网关层面的负载分担,避免单 Leaf 过载。2. 保障网关的 “高可用性”(故障快速切换)若某台 Leaf 交换机故障(如硬件故障、链路中断),该 Leaf 下的服务器会重新发送 ARP 请求(原 Leaf 无法响应),此时相邻的正常 Leaf 会通过 ARP 任意代理接管响应(返回自身 MAC),服务器的网关流量自动切换到正常 Leaf,无需人工修改配置,实现网关层面的 “无感知故障切换”。3. 简化服务器配置,降低运维成本所有服务器只需配置同一个网关 IP(Anycast 地址),无需根据接入的 Leaf 不同修改网关参数。即使 Leaf 集群扩容(新增 Leaf 节点),服务器侧也无需任何变更,仅需在新 Leaf 上启用 ARP 任意代理并加入 Anycast 网关组即可,大幅降低运维复杂度。 总结一下下配置项核心作用与对方的关系Leaf 网关的 ARP 任意代理实现 Anycast 网关的负载分担、高可用,响应服务器 ARP 请求为服务器提供 “网关 MAC”,让默认路由生效服务器的默认路由指明跨网段流量的转发路径(指向 Anycast 网关 IP)给 ARP 任意代理提供 “请求目标”(网关 IP)Spine-Leaf 架构本质是通过 “扁平化全互联拓扑” 和 “功能分工明确的组件”,解决传统网络的瓶颈与扩展问题。其中,Leaf 聚焦 “终端接入”,Spine 聚焦 “高效转发”,二者配合实现 “低延迟、高吞吐、高可用、易扩展” 的网络能力,是现代数据中心网络的主流架构选择。Leaf 交换机配置 ARP 任意代理,并不是替代服务器的默认路由,而是为了在 Anycast 网关架构下,让默认路由能更高效、可靠地工作;同时,服务器必须配置指向网关的默认路由,否则跨网段通信根本无法发起,ARP 任意代理也失去了作用场景。两者需配合部署,才能实现数据中心接入层的高可用、高吞吐网络。
-
一、硬件与物理链路验证确认接口规格与硬件适配USG12004 的接口模块(如 GE、10GE、40GE)需与实际带宽需求匹配。例如,若需 “拉满” 10GE 接口,需确保:接口模块为 10GE 光模块(如 SFP+),且型号支持 10Gbps 速率(如华为 SFP-10G-SR);光模块与光纤类型匹配(多模光纤对应 SR 模块,单模光纤对应 LR 模块),避免因模块不兼容导致降速;接口插在设备的 “线速插槽”(高端防火墙部分插槽可能存在转发瓶颈,参考设备手册确认)。排查物理链路质量使用display interface <接口名>命令检查接口状态: display interface 10GE1/0/1关注返回的这几个参数:Speed:是否为目标速率(如 10000Mbps);Duplex:是否为全双工(Full-duplex);CRC、Error计数:若持续增长,可能是光纤 / 网线故障、接口松动或光衰过大(光模块收光功率需在手册规定范围内,通常 - 14dBm 至 - 2dBm)。二、基础配置优化关闭接口速率限制若接口被手动配置了速率限制(QoS 限速),会导致带宽无法拉满。检查并删除相关配置: system-view interface <接口名> # 如10GE1/0/1 undo qos lr inbound # 取消入方向限速 undo qos lr outbound # 取消出方向限速 quit配置接口速率与双工模式优先使用手动指定速率(避免自动协商失败导致降速): system-view interface <接口名> speed 10000 # 针对10GE接口,指定10Gbps速率 duplex full # 强制全双工 undo negotiation auto # 关闭自动协商(部分场景需开启,根据链路另一端设备配置适配) quit三、防火墙性能优化(核心)USG12004 的转发性能受安全功能启用状态影响极大,过度启用深度检测功能会消耗 CPU/NP 资源,导致带宽无法跑满。需针对性优化:启用硬件加速(NP 转发)USG12004 搭载网络处理器(NP),可实现硬件线速转发。确保关键业务流量走 NP 加速:检查 NP 状态: display np status # 确认NP芯片正常运行(Status为Up)确保 “快速转发” 功能启用(默认启用,若被关闭需重新开启): system-view firewall fast-forward enable # 启用快速转发(基于流表的硬件加速) quit精简安全功能以下功能会显著消耗性能,非必要场景建议关闭或优化:入侵防御(IPS):若无需深度检测,可关闭或仅对关键流量启用: system-view ips global disable # 全局关闭IPS quit应用识别与管控:复杂的应用识别规则会增加 CPU 负载,简化规则或关闭: system-view app-system global disable # 全局关闭应用识别 quitURL 过滤、邮件过滤:非必要时关闭,或减少过滤规则数量。NAT 转换:若为纯路由场景(无 NAT 需求),关闭 NAT;若需 NAT,确保使用 “快速 NAT”: system-view nat fast-forward enable # 启用NAT硬件加速 quit调整会话表与连接数限制若流量包含大量并发连接(如 P2P、DDoS 测试),会话表满会导致新连接被丢弃,需调大会话表上限: system-view firewall session-table max-number 1000000 # 增大会话表最大条目(根据设备规格调整) quit四、流量与网络架构适配确保流量 “单路径” 转发若 USG12004 工作在双机热备(如 VRRP)或负载均衡模式,需确保测试流量仅通过单接口转发,避免流量被分流到其他接口导致单接口带宽未达满。排除上联 / 下联设备瓶颈USG12004 的接口带宽受限于整个链路的 “短板”:上联交换机 / 路由器的对应接口需支持相同速率(如 10GE),且无带宽限制;测试工具(如 iPerf 服务器 / 客户端)需能产生足够流量(例如,10GE 接口需至少 2 台万兆服务器并发测试,单台服务器可能因 CPU / 内存限制无法打满)。五、性能监控与验证实时监控带宽与资源测试时通过命令行监控接口带宽和设备资源,确认瓶颈位置:# 实时查看接口流量(每秒刷新) display interface <接口名> traffic real-time # 查看CPU使用率(若超过80%,可能是性能瓶颈) display cpu-usage # 查看NP资源使用率(硬件转发瓶颈) display np usage用专业工具测试用 iPerf3 或 IxChariot 等工具生成大流量测试:多线程并发(如 iPerf3 使用-P 10指定 10 个并发流);调整数据包大小(MTU=1500 时,使用-l 1470避免分片)。六、版本和固件的优化升级到官方推荐的稳定版本;参考华为官方 “性能优化指南”,确认是否有针对 USG12004 的特定配置建议(如 NP 队列调整)。总结一下下确保硬件链路无瓶颈 + 关闭不必要的安全功能 + 启用硬件加速。如果是纯路由场景(无复杂安全检测),通过上面的配置可接近线速;如果必须启用 IPS 等深度检测功能,那就要接受一定的性能损耗(通常高端型号可保持 80% 以上线速)。
-
要理解分布式存储与融合存储的区别,首先需明确两者的核心定位:分布式存储是一种存储架构技术,核心是通过多节点集群实现数据的分散存储与协同管理;融合存储是一种资源部署形态,核心是将 “存储” 与 “计算”“网络” 等资源整合到同一硬件 / 软件平台,实现一体化交付与管理。两者并非 “对立关系”,甚至可能存在交叉(如部分融合存储产品底层采用分布式存储架构),但在架构设计、资源整合逻辑、适用场景上存在本质差异。 一、分布式存储与融合存储的核心区别从架构、资源整合、扩展方式、负载适配等 6 个关键维度,可清晰对比两者差异: 对比维度分布式存储(Distributed Storage)融合存储(Converged Storage)核心定义基于 “多节点集群” 的存储架构,数据分散存储在多个节点,通过协议协同实现高可用、高扩展整合 “存储 + 计算 + 网络”(或其中两者)的一体化平台,以 “整机 / 集群” 形式交付资源整合范围仅聚焦 “存储资源”,不包含计算 / 网络(需额外搭配独立计算、网络设备)必然整合 “存储”,通常同时整合 “计算”,部分还集成 “网络交换” 功能架构形态纯存储集群(由存储节点组成,每个节点含硬盘、存储控制器,无通用计算 CPU)一体化集群(每个节点同时具备 “计算 CPU + 内存 + 存储硬盘 + 网络接口”,如超融合)扩展方式横向扩展(Scale-Out):通过增加 “存储节点” 线性提升容量与性能(每节点仅贡献存储能力)整机扩展:通过增加 “融合节点”(含计算 + 存储 + 网络)整体扩展,无法单独扩展某一类资源适用负载特性对 “存储容量 / 性能” 需求高、且计算与存储可分离的场景(如海量数据存储、独立数据库)对 “部署效率 / 管理简化” 需求高、且计算与存储耦合紧密的场景(如虚拟化、容器)管理复杂度需单独管理 “存储集群”,同时需协调计算、网络资源,管理链路较长仅需管理 “一体化集群”,存储、计算、网络配置联动,简化运维典型代表华为 OceanStor Pacific、阿里云 OSS、Ceph、GlusterFS华为 FusionCube、VMware vSAN、Nutanix 超融合、深信服超融合 二、分布式存储的核心特性和一些使用场景分布式存储的核心优势是 “存储资源的弹性扩展与高可靠”,适合 “存储需求独立于计算、且规模持续增长” 的场景。1. 核心特性横向扩展无上限:新增存储节点即可线性提升总容量(PB 级甚至 EB 级)和 IO 性能(节点越多,并发处理能力越强),无传统存储 “单阵列容量瓶颈”;数据高可靠:通过 “多副本”(如 3 副本)或 “纠删码” 技术,将数据分片存储在不同节点,单个节点故障不影响数据可用性;存储与计算解耦:可独立为多个计算集群(如物理机集群、云服务器集群)提供存储服务,资源复用性高;协议兼容性强:支持块存储(iSCSI)、文件存储(NFS/SMB)、对象存储(S3)等多种接口,适配不同类型的应用负载。2. 典型的使用场景海量数据存储场景:如视频监控(需存储 PB 级摄像头录像)、大数据分析(Hadoop/Spark 集群的海量原始数据存储)、云厂商的对象存储服务(如阿里云 OSS 存储用户图片 / 文档)。核心业务独立存储场景:如企业核心数据库(MySQL/Oracle)、ERP 系统的存储需求 —— 计算服务器(数据库服务器)需高性能存储,且存储需独立于计算(避免计算节点故障影响存储),分布式存储可提供低延迟块存储服务,同时通过多节点确保数据库数据可靠。跨地域数据共享场景:如跨国企业的分支机构数据共享,分布式存储支持 “多站点部署”,可实现不同地域节点间的数据同步与共享,满足全球业务的存储需求。三、融合存储的核心特性与使用的场景融合存储的核心优势是 “一体化部署与简化管理”,适合 “计算与存储耦合紧密、追求快速上线与低运维成本” 的场景,其中最主流的形态是超融合存储(Hyper-Converged Infrastructure, HCI)**(整合计算 + 存储 + 网络)。1. 核心特性资源一体化整合:单个节点同时提供计算(CPU / 内存)、存储(本地硬盘)、网络(网卡)能力,无需单独采购存储阵列、交换机,硬件成本更低;部署效率高:通过统一管理平台(如 VMware vCenter、华为 FusionSphere),可一键完成集群部署(含计算、存储、网络配置),传统架构需数天的部署工作可缩短至数小时;管理链路短:运维人员仅需管理 “融合集群”,无需分别维护存储、计算、网络设备,减少跨团队协作成本(如无需单独的存储管理员);资源耦合紧密:存储资源直接来自计算节点的本地硬盘,数据读写无需跨设备传输,延迟更低,适合虚拟化 / 容器等 “计算与存储强关联” 的负载。2. 典型使用场景中小企业虚拟化 / 私有云场景:中小企业 IT 团队规模小(通常 1-2 人运维),需快速搭建虚拟化平台(如运行 ERP、OA、文件服务器等虚拟机),融合存储(超融合)可一站式满足 “计算 + 存储 + 网络” 需求,无需单独配置存储阵列,运维简单。例:某 200 人规模的制造企业,需部署 5 台虚拟机运行 ERP 和 OA 系统,采用超融合集群(3 个节点),可快速上线,且运维人员仅需通过统一平台管理所有资源。边缘计算场景:如工厂车间的工业控制、偏远地区的基站数据处理 —— 边缘节点空间有限、无专业运维人员,融合存储(如边缘超融合)体积小(1U/2U 机架式),可本地化处理计算任务(如工业设备数据采集分析),同时存储本地数据,无需依赖远程数据中心。快速业务上线场景:如互联网创业公司的测试环境、临时项目(如营销活动的后台系统),需在 1-2 天内搭建 IT 架构,融合存储可通过 “整机交付 + 一键部署” 快速满足需求,项目结束后可灵活扩容或缩减节点,资源利用率高。四、总结一下下 决策维度优先选分布式存储优先选融合存储1. 资源是否需要分离计算与存储需独立扩展(如计算需求稳定,存储容量持续增长)计算与存储需求同步增长(如虚拟机数量增加,存储需求也同步增加)2. 业务规模与团队能力大规模部署(PB 级以上)、有专业存储运维团队中小规模部署(TB 级 - PB 级)、运维团队规模小(1-3 人)3. 负载类型独立数据库、海量数据存储、跨集群共享存储虚拟化(VMware/KVM)、容器(K8s)、边缘本地化处理4. 部署与管理需求可接受分步骤部署(先搭存储,再搭计算)、需灵活适配多场景追求 “即插即用”、希望简化管理、减少跨设备协调成本 分布式存储是 “专注存储的弹性架构”,解决 “海量数据存储、存储与计算解耦” 的问题;融合存储是 “整合多资源的交付形态”,解决 “部署慢、管理繁、中小规模场景成本高” 的问题;两者并非互斥:部分超融合产品(如华为 FusionCube)底层采用分布式存储架构,本质是 “用分布式存储技术实现融合存储的形态”,需根据具体业务需求判断核心诉求,再选择对应的技术方案。
-
Atune(Automatic Tuning)是华为开发的系统自动调优工具,核心目标是通过算法分析系统负载特征,自动优化 OS、应用等参数以提升性能。 Atune 的算法核心模块(Engine = 引擎),是实现 “自动调优” 的关键。一些核心逻辑包括:分析系统负载特征(如 CPU 密集型、IO 密集型应用);调用内置的优化算法(如机器学习模型、启发式算法),结合负载特征计算最优参数(如内核参数、应用配置);生成可执行的优化方案,传递给 atuned 执行。 他和 “算法优化” 的关系是:直接承担 “用算法计算优化参数” 的核心职责 Atune-engine 主要通过在线静态调优和离线动态调优两种方式实现算法优化: 在线静态调优数据采集与打标签:在离线情况下采集系统运行数据,包括 CPU 使用率、内存占用、磁盘 I/O 等,最高支持 52 维数据采集,并为每个数据集打标签。模型训练:利用双层分类模型进行训练,第一层分类器识别出默认类型和高吞吐类型;第二层分类器识别到具体的应用。通过训练,使模型能够根据采集的数据识别出不同的业务类型和负载情况。负载识别与配置下发:在线时,基于训练好的模型,对运行环境进行负载识别,根据识别结果从优化配置库中选取最优配置下发,实现对系统的调优,整个过程速度可达分钟级别。优化配置库中的参数一部分来自资深工程师在实际环境中调优得到的人工经验,一部分是通过 atune 提供的离线动态调优功能得到的最优参数。离线动态调优参数选择:对于工程师给定的众多参数,使用 LHS(拉丁超立方抽样算法)算法和 Traverse 算法,均匀采集几个点,自动选择最重要的几个参数进行调优,减少不必要的参数调整,提高调优效率。贝叶斯算法迭代优化:采用贝叶斯优化算法对筛选出的重要参数空间进行迭代搜索,不断优化参数值。在这个过程中,根据贝叶斯算法的原理,迭代次数越多,模型越准确,直到算法收敛,获取到最优配置,最终返回给服务器。该过程可能以天为单位,主要面向专业工程师,需要给定配置参数和评价指标,如对于性能越高越好的应用,评价指标可能就是吞吐量。
-
在华为云CCE(云容器引擎)中,通过Web界面创建负载能成功而直接在计算节点后台使用containerd命令拉取镜像失败,通常是由于Web界面创建负载时,系统会自动处理镜像拉取所需的网络、认证和配置,而手动在节点上使用containerd命令则可能缺乏这些必要的配置或环境。 1. Web界面创建负载成功的原因通过CCE控制台创建负载(如Deployment)时,系统会自动完成以下操作,确保镜像拉取成功:镜像拉取策略(Image Pull Policy):在创建工作负载时,您可以配置镜像拉取策略(如Always、IfNotPresent)。如果未显式设置,Kubernetes默认策略为Always,即每次启动容器时都会尝试从镜像仓库拉取最新镜像。但Web界面创建时,系统会智能处理策略,避免因本地镜像缺失导致失败。自动使用镜像拉取密钥(ImagePullSecrets):如果镜像来自私有仓库(如华为云SWR或第三方仓库),Web界面创建负载时会自动注入认证密钥(如default-secret用于华为云SWR仓库)。这提供了必要的身份凭证,使拉取操作得以授权。而手动命令若未指定密钥,会因认证失败被拒绝。网络代理或加速器配置:CCE集群可能配置了镜像加速器或代理(如通过修改containerd的config.toml或设置image-pull-progress-timeout参数),以优化拉取过程或绕过网络限制。Web界面创建的负载会利用这些集群级配置,而手动命令可能未应用这些设置。节点网络权限:集群节点可能通过NAT网关、弹性IP或VPN访问公网或特定镜像仓库。Web界面创建的负载继承集群网络设置,而手动命令可能因节点网络配置问题(如路由缺失、防火墙规则)导致超时或连接失败。2. 手动使用containerd命令失败的原因及解决方案在节点后台直接使用ctr(containerd的命令行工具)拉取镜像时,常见失败原因包括:镜像地址错误或不存在:确保镜像地址完整且正确(包括仓库URL、命名空间、镜像名和标签)。例如,拉取华为云SWR镜像需使用完整格式:swr.<region>.myhuaweicloud.com/<namespace>/<image>:<tag>。操作建议:核对镜像地址,尝试通过Web界面获取准确的拉取指令。认证问题(私有镜像):手动命令需显式提供认证信息。若未登录或未指定密钥,会返回denied或401 Unauthorized错误。解决方案:对于华为云SWR镜像,使用crictl或ctr时通过--user参数指定用户名和密码(通常为IAM用户名和令牌):ctr -n k8s.io images pull --user <username>:<password> <image-url>对于第三方私有仓库,需先在集群中创建Secret,并在命令中引用或直接配置认证文件。网络连接问题:手动拉取可能因节点网络配置不当(如DNS解析失败、路由缺失或防火墙拦截)而失败,错误信息可能包含dial tcp timeout或no such host。解决方案:检查节点网络:确保节点可访问镜像仓库(例如,通过ping或curl测试连通性)。若集群使用代理或加速器,手动配置containerd以应用这些设置。具体步骤:编辑/etc/containerd/config.toml,在[plugins."io.containerd.grpc.v1.cri".registry.mirrors]下为仓库添加镜像端点(如加速器地址)。重启containerd:systemctl restart containerd。对于公网镜像,确保节点有公网访问能力(如绑定EIP或配置SNAT)。磁盘空间不足:节点磁盘空间耗尽会导致拉取失败,错误信息可能提示no space left on device。解决方案:清理节点磁盘(如删除未使用的容器或镜像),或扩容磁盘。containerd兼容性问题:某些旧格式镜像(如使用application/octet-stream mediaType的层)可能不被containerd支持。解决方案:重新使用高版本Docker(>=v1.11)打包镜像,确保使用现代格式。3. 问题排查步骤若手动拉取持续失败,建议按以下顺序排查:检查镜像地址和标签:确认镜像存在且地址正确。验证网络连通性:ping <registry-host> # 测试网络可达性nslookup <registry-host> # 检查DNS解析检查认证配置:对于私有镜像,确保使用正确的用户名/密码或Secret。在CCE控制台查看负载配置中使用的imagePullSecrets。查看containerd配置:确认/etc/containerd/config.toml中是否配置了正确的镜像加速器或代理。检查image-pull-progress-timeout参数是否设置过短(建议延长超时时间)。检查节点资源:使用df -h查看磁盘空间。使用crictl ps -a或docker ps -a检查是否有残留容器占用资源。查看详细错误日志:使用ctr -n k8s.io images pull --debug <image-url>获取详细错误信息。在节点上查看containerd日志:journalctl -u containerd --no-pager -n 100。总结一下下通过Web界面创建负载能成功拉取镜像,是因为CCE自动处理了认证、网络加速、资源调度等底层细节。而手动使用containerd命令失败,通常是由于:缺乏自动注入的认证密钥(imagePullSecrets)未应用集群配置的镜像加速器或网络代理命令参数或环境配置不正确1、确认镜像地址正确性:使用与 web 界面相同的完整镜像地址(如包含 SWR 地域域名的地址)。 2、配置仓库认证:通过nerdctl login swr.cn-xxx.myhuaweicloud.com输入 SWR 的访问密钥(AK/SK),或通过ctr credentials set配置认证。 3、检查网络连通性:在节点执行curl -v https://镜像仓库地址,确认网络和端口(443)是否通畅。 4、指定 namespace:CCE 中容器通常运行在k8s.io命名空间下,拉取时可指定ctr -n k8s.io images pull 镜像地址。
-
GaussDB(尤其是华为 GaussDB (for PostgreSQL)、GaussDB 300 等企业级分布式版本)作为面向高可用场景的数据库,其 DN(Data Node,数据节点)的主备同步是保障数据一致性与服务连续性的核心机制。根据不同版本和部署场景,GaussDB 支持物理同步和逻辑同步两大类主备同步方式。 一、核心的同步方式:物理的同步(主流的高可用选择)物理同步是 GaussDB DN 主备同步的默认且最常用方式,其核心是基于 “物理数据块复制” 实现主备数据一致性,本质是主库将物理变更(如数据页修改、事务日志)实时同步到备库,备库以 “物理镜像” 方式恢复数据,确保主备数据完全一致(字节级一致)。1. 具体实现原理物理同步依赖 GaussDB 的WAL(Write-Ahead Logging,预写日志)机制,全流程可拆解为 3 个关键步骤:步骤 1:主库生成 WAL 日志主库上所有数据修改操作(如 INSERT/UPDATE/DELETE、DDL 语句),会先写入 WAL 日志(顺序写入,性能高效),再落盘到实际数据文件。WAL 日志记录的是 “物理层面的变更指令”(如 “修改数据页 X 的偏移量 Y 为值 Z”),而非逻辑 SQL 语句。步骤 2:WAL 日志同步到备库主库通过专用的 “日志发送进程(WALSender)”,将实时生成的 WAL 日志按 “段(Segment)” 或 “流式(Stream)” 方式推送到备库;备库则通过 “日志接收进程(WalReceiver)” 监听并接收 WAL 日志,暂存到本地的 “备库 WAL 缓冲区”。步骤 3:备库恢复 WAL 日志备库的 “恢复进程(Startup Process)” 读取本地暂存的 WAL 日志,按照与主库相同的物理顺序 “重放(Replay)” 日志中的变更指令 —— 即还原主库的数据修改操作,将变更应用到备库的数据文件中,最终实现主备数据的物理一致。 2. 关键的特性(适配高可用场景)数据强一致性:备库是主库的物理镜像,无数据语义偏差,支持 “故障无缝切换”(主库故障后,备库可直接接管服务,无需数据修复);低延迟:采用 “流式同步” 时,主库生成 WAL 日志后会实时推送给备库,同步延迟通常在毫秒级,适配金融、电商等对实时性要求高的场景;支持 “同步 / 异步” 模式切换:同步模式:主库需等待备库确认 WAL 日志已接收并落盘后,才向应用返回 “事务提交成功”,确保数据零丢失(RPO=0);异步模式:主库提交事务后立即返回,WAL 日志异步推送给备库,牺牲少量一致性换取更低的主库响应延迟(适用于非核心业务)。 二、补充的同步方式:逻辑同步(灵活的场景适配)逻辑同步是基于 “逻辑数据变更” 的同步方式,核心是主库将数据修改操作解析为 “逻辑事件”(如 “对表 T 插入一行数据(id=1, name='A')”),备库通过解析逻辑事件重建数据,不依赖物理数据块结构。1. 具体实现原理逻辑同步依赖 GaussDB 的逻辑解码(Logical Decoding)功能,实现流程与物理同步差异显著:步骤 1:主库逻辑解码 WAL 日志主库开启 “逻辑解码” 后,WAL 日志不再仅记录物理变更,而是会被 “逻辑解码插件”(如 GaussDB 内置的pg_logical插件)解析为 “逻辑变更事件”—— 即提取 SQL 操作的语义(表名、字段、变更值等),生成结构化的逻辑日志(如 JSON/ProtoBuf 格式)。步骤 2:逻辑日志传输主库的 “逻辑日志发送进程” 将解析后的逻辑变更事件,通过专用协议(如基于 TCP 的逻辑复制协议)发送到备库(或其他目标端,如异构数据库、数据仓库)。步骤 3:备库应用逻辑事件备库的 “逻辑日志应用进程” 接收逻辑变更事件后,根据事件中的表结构和变更内容,生成对应的 SQL 语句(如 INSERT/UPDATE),并执行该 SQL 以修改备库数据,最终实现主备数据的逻辑一致。 2. 关键的特性(适配灵活场景)跨版本 / 跨结构同步:逻辑同步不依赖物理数据页格式,支持主备库不同 minor 版本(如主库 2.0、备库 2.1),甚至可同步到表结构略有差异的备库(如备库比主库多非关键字段);支持 “部分数据同步”:可指定同步某几张表、某类数据(如按分区过滤),无需同步整个 DN 的所有数据(适用于数据分片、读写分离场景,如备库仅同步查询高频表);兼容异构目标端:逻辑日志可同步到非 GaussDB 的系统(如 Elasticsearch、Hadoop),用于数据备份、数据分析等场景,但数据一致性弱于物理同步(可能存在语义解析偏差)。 三、一些个特殊的场景:混合同步策略(部分版本支持)为了平衡 “一致性” 和 “灵活性”,部分 GaussDB 版本(如 GaussDB 100)支持 “物理 + 逻辑” 混合同步,典型场景如:主备库用物理同步(保障核心数据一致):核心业务的 DN 主备采用物理同步,确保故障切换无数据丢失;从备库用逻辑同步(扩展数据用途):在备库上开启逻辑解码,将部分表的逻辑变更同步到只读节点或数据仓库,用于报表查询、数据分析,避免影响主库性能。 对比一下下对比维度物理同步逻辑同步同步对象物理 WAL 日志(数据块变更指令)逻辑变更事件(SQL 语义)数据一致性强一致(物理镜像,RPO=0)弱一致(逻辑重建,可能有语义偏差)延迟性能低延迟(毫秒级,流式同步)中延迟(需解码 + 生成 SQL,毫秒~秒级)适用场景高可用主备切换(金融、核心业务)部分数据同步、跨系统集成跨版本兼容性低(依赖物理页格式,同版本优先)高(不依赖物理格式,跨 minor 版本) 总结一下下GaussDB 的 DN 主备同步以物理同步为核心保障高可用,以逻辑同步为补充适配灵活场景,用户可根据业务的 “一致性要求、实时性需求、跨系统需求” 选择对应的同步方式。
-
GaussDB 的自动统计信息收集策略设计得比较精细,它并不是简单的定时任务,而是结合了实时监测和阈值触发的机制,目的是在保证统计信息准确性的同时,尽量减少对系统资源的消耗。一、自动统计信息收集策略概览GaussDB 采用了三种统计信息收集方式协同工作:收集方式触发机制主要特点锁级别目标动态采样 (前台)查询开始时实时检查阈值轻量、实时、统计信息存于内存一级锁保证查询优化时信息的实时性轮询采样 (后台)Autovacuum 线程定期轮询持久化统计信息至系统表,非实时四级锁保证统计信息的持久化和最终一致手动采样用户显式执行 ANALYZE完全可控,可定制采样率四级锁用于特殊场景或主动维护这三种方式相辅相成,共同构成了 GaussDB 的自动统计信息收集体系。 二、触发条件与监测机制触发条件:自动收集主要在查询开始时被触发。其核心条件是:无统计信息:表从未被分析过。数据变化超过阈值:自上次统计信息收集后,表的修改量(INSERT, UPDATE, DELETE)达到设定的阈值。默认阈值公式为:50 + 表大小 * 10%。这意味着小表只要有几十条修改就可能触发,而大表需要累积足够的变化量。监测机制:监测并非真正的“实时”轮询,而是由 autovacuum后台线程定期(可配置间隔)扫描所有表,检查其元数据中记录的逻辑修改计数(pg_stat_get_tuples_changed)。当查询执行时,优化器会实时检查该表在内存中的修改计数是否超过阈值。如果超过,且计划使用 Stream 算子(多数分布式查询会使用),则会触发轻量的前台动态采样(Autoanalyze)。 三、表结构变化 (DDL) 的处理对于大多数 DDL 操作,GaussDB 会将其记录为一个巨大的修改计数,从而确保能立即触发统计信息收集。这些操作包括:TRUNCATE TABLETRUNCATE / EXCHANGE / DROP PARTITIONALTER COLUMN TYPEALTER DISTRIBUTE这是因为协调节点(CN)无法准确获取数据节点(DN)上执行 DDL 后的具体数据变化量,因此采用一种保守但安全的策略,直接标记为需要分析。 四、分区表统计信息管理GaussDB 对分区表统计信息的高级管理功能提及较少,但可以基于其原理推断:分区级别统计信息拷贝:搜索到的资料未明确提及支持直接将一个分区的统计信息拷贝到另一个分区。通常,每个分区的统计信息是独立收集和存储的。分区级别统计信息锁定:资料中提到了表级统计信息冻结(frozen_stats=true),但未明确说明是否支持分区级别。理论上,可以通过对特定分区子表设置该属性来实现类似效果,但建议在实际使用前进行测试验证。五、主要相关参数参数默认值作用autoanalyzeon总开关,是否开启查询触发的动态采样autovacuumon总开关,是否开启后台 autovacuum 线程autovacuum_analyze_threshold50触发分析的最小修改条数autovacuum_analyze_scale_factor0.1触发分析的修改比例(表大小的10%)autoanalyze_modelight动态采样模式,推荐 light(一级锁,轻量)enable_extrapolation_statsoff统计信息推算,当数据变化未达阈值时,尝试用历史统计信息推算新数据特征random_function_version1使用随机性更好的函数,避免采样偏差这些参数支持全局设置,也支持通过 ALTER TABLE ... SET (parameter_name = value)为单个表设置特定值。六、数据变化与收集的敏感性新建表并插入1行:新表没有统计信息,下次查询该表时就会触发动态采样。因此,插入后立即查询,通常会触发收集。凌晨3点几百条,早上9点上百万条却未更新:这种统计信息严重滞后的情况通常由以下原因导致:阈值设置不合理:对于急速膨胀的表,默认的 10%比例阈值可能过高。例如,表从 1000 行增长到 100 万行,需要增长 10万行(1000 * 0.1=100)才会触发。解决方案:对此类表设置更激进的表级阈值,例如 ALTER TABLE fast_growth_table SET (autovacuum_analyze_scale_factor = 0.01);(1%)。后台线程繁忙或延迟:后台 autovacuum线程数量不足(autovacuum_max_workers)或轮询间隔(autovacuum_naptime)设置太长,导致来不及处理。长事务阻塞:一个长时间运行的事务可能持有表的锁,阻止了 autovacuum或 autoanalyze对其进行分析。参数未开启或模式不对:确保 autoanalyze=on且 autoanalyze_mode='light'。资源争用:系统负载极高,CPU、内存或IO资源不足,导致统计信息收集任务无法及时执行或排队过长。 总结一下下哦GaussDB 的自动统计信息收集是一个以查询触发为主、后台轮询为辅的混合机制。它通过实时监测数据变化并比对阈值来决定是否收集,力求在准确性和开销之间取得平衡。保持默认开启:一般情况下,保持 autoanalyze和 autovacuum为 on,并采用 light模式。关注特殊表:对于快速增长的表(如事实表),调低其表级触发比例(如 scale_factor=0.01)。对于数据分布不均匀或查询计划极其重要的表,可在数据加工完成后手动执行 ANALYZE 以确保最优。考虑开启 enable_extrapolation_stats,让优化器在统计信息轻微过期时也能做出较好估算。监控与诊断:查询 pg_stat_all_tables视图,关注 n_tup_ins, n_tup_upd, n_tup_del和 last_analyze时间,手动判断统计信息是否及时。如果遇到性能问题,检查执行计划,首先怀疑的就是统计信息是否准确。
-
各位社区的小伙伴们,大家好呀!不知不觉又到了8月 在华为云技术社区这个充满活力与创新的平台上,每一个月都是知识的盛宴,而刚刚过去的 8 月更是如此。8 月里,社区成员们积极探索,在不同的技术领域开疆拓土,收获满满。本月,社区聚焦云计算、人工智能、大数据等前沿领域,开展了丰富多样的活动,包括线上直播、线下研讨会以及实战案例分享。通过这些活动,成员们不仅拓宽了技术视野,还深入掌握了一系列实用的新技术、新方法。在云计算领域,成员们深入学习了华为云开发者空间 —— 云开发环境。这一远程云开发环境,让开发者能够在本地通过工具和浏览器多种形式接入开发环境,轻松完成编码开发、远程操作、项目部署及本地访问等作业,实现本地 PC 开发环境到云开发环境的无缝切换。大家在实际操作中,切实感受到了云开发环境带来的便捷与高效,提升了开发效率。人工智能方面,8 月 7 日举办的 “松山湖开发者村 AI 创享会数字化专场”,为成员们打开了新世界的大门。华为 AI 专家董军在会上分享了 “华为 xDeepSeek:AI 大模型驱动工业智造转型,激活产业升级新动能”,让大家看到了 AI 大模型在工业领域的巨大潜力。博纳德集团副总裁兼 CTO 欧阳治平介绍的【薪起程】平台基于大模型的全场景智能服务,以及薪企服 AI Agent 这一前沿的数智人力管理实践成果,更是让成员们深刻认识到 AI 技术在不同行业的创新应用。成员们纷纷表示,通过这次活动,对 AI 技术在实际业务中的应用有了更清晰的思路,也激发了自己在相关领域探索创新的热情。大数据领域同样成果丰硕。在社区组织的相关活动中,成员们深入学习了数据处理、分析和可视化的新工具、新方法。大家通过实际案例操作,掌握了如何从海量数据中提取有价值的信息,并运用可视化手段清晰地呈现出来,为企业决策提供有力支持。这些技能的提升,将在未来的工作和项目中发挥重要作用。此外,8 月 15 日举办的 “HCDG・沈阳站 | ‘软件赢得未来’华为云开发者社区第一课”,以及 8 月 8 日举办的 “HCDG 城市行贵阳站 - 华为云技术精髓应用创新论坛”,也为社区成员带来了丰富的知识盛宴。在这些活动中,专家们分享了鸿蒙系统、软件开发的前沿科技创新,解读了华为云的云技术精髓内容,并指导开发者进行实验实操。成员们积极参与互动,与专家和其他开发者交流心得,解决了自己在技术学习和实践过程中遇到的问题。8 月即将结束,但社区成员们学习的脚步不会停歇。大家纷纷表示,将继续在华为云技术社区这个大家庭中,不断学习、探索,将所学知识运用到实际工作中,创造更多的价值。同时,也期待着未来社区能够举办更多精彩的活动,带来更多前沿的技术知识,让大家在技术的道路上越走越远,共同推动华为云技术的发展与创新。
-
GaussDB锁阻塞源头查询方法总结cid:link_0 x2openEuler的https冷知识cid:link_1 Oracle 和 GaussDB 中的 VARCHAR2 类型对比cid:link_9 一文带你学会GaussDB与兼容activiti 5.14的兼容配置cid:link_10 解决华为USG设备不支持堆叠的替换方案cid:link_11 IPV6 双栈优化cid:link_12 CNN处理一维信号的有效性cid:link_13 在目标检测中CNN结合区域提议方法的结合cid:link_2 激活函数的妙趣作用cid:link_14 一招选择合适的激活函数cid:link_3 一文带你了解IPsec安全隧道和安全联盟的区别cid:link_4 几招搞定Redis如何高效安全的遍历所有keycid:link_15 CNN中Stride的影响cid:link_5 CCN能够减少模型参数量的原理详解cid:link_16 带你走进CNN的未来突破方向cid:link_6 多尺度特征对目标检测中的CNN重要性cid:link_7 带你了解我们常说的GaussDB数据库引擎版、内核引擎版……到底是什么【华为根技术】cid:link_17 多外网地址出口组网方案分享cid:link_8 Redisson看门狗失效场景cid:link_18 Redisson 废弃 RedLock后的替代方案cid:link_19 Redis Cluster 中使用事务和 Iua 限制cid:link_20 快速解决Watchdog 机制在解锁失败cid:link_21
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签