自制Apache-Doris 2.0.4镜像Docker部署一Fe和一Be集群及遇到的问题解决

自制Apache-Doris 2.0.4镜像Docker部署一Fe和一Be集群及遇到的问题解决

文章目录

  • 1.前言
  • 2.doris是什么?
    • 2.1简介
    • 2.2介绍
    • 2.3使用场景
    • 2.4架构
  • 3.官网
  • 4.构建部署
    • 4.1 构建环境
    • 4.2 doris2.0.4的fe和be镜像构建
      • 4.2.1 fe2.0.4镜像构建脚本
      • 4.2.2 be2.0.4镜像构建
      • 4.2.3 启动脚本如下
      • 4.2.4 fe挂载文件如下
      • 4.2.5 be挂载文件如下
      • 4.2.6 fe启动日志
      • 4.2.7 be启动日志
  • 5.问题及解决
    • 5.1解决办法
      • 5.1.1 进入be容器启动be
      • 5.1.2进入fe容器手动注册be
  • 6.doris后台
  • 7.使用navicat客户端连接如下
  • 8.本地构建的镜像推送到阿里云镜像仓库如下
  • 6.doris官方管理平台
  • 7.总结

1.前言

    由于之前学习了下doris,看了下官网,然后就自己根据官网提供的构建镜像的步骤,构建了docker镜像,然后就遇到了Be镜像启动不会自动注册到Fe的问题,解决办法是去be里面手动注册即可。本来说搞个docker镜像拉起来耍一耍,没想到遇到了这个奇葩的问题,找了官方的大佬看了下,大佬说估计是be的启动sh脚本有点问题,后面我在doris交流群里面问那个官方大佬,他没有回我,所以不知道后面版本有没有解决了这个问题,我还给官方提了一个问题,地址如下:

https://ask.selectdb.com/questions/D1A3/zi-zhi-doris2-0-4-jing-xiang-docker-bu-shu-yi-fe-he-yi-be-ji-qun-be-qi-dong-bu-hui-zi-dong-zhu-ce-dao-fe

    之前本来说研究下doris的,后面遇到这个问题去联系官方,官方也没有回复,后面就没有搞了,然后就想了下,把之前搞的这个过程记录下,以便后面更好的入门和快速上手。

2.doris是什么?

2.1简介

    Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景,这个简短的指南将告诉你如何下载 Doris 最新稳定版本,在单节点上安装并运行它,包括创建数据库、数据表、导入数据及查询等。

2.2介绍

    Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,Apache Doris 能够较好的满足报表分析、即席查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。

    Apache Doris 最早是诞生于百度广告报表业务的 Palo 项目,2017 年正式对外开源,2018 年 7 月由百度捐赠给 Apache 基金会进行孵化,之后在 Apache 导师的指导下由孵化器项目管理委员会成员进行孵化和运营。目前 Apache Doris 社区已经聚集了来自不同行业数百家企业的 400 余位贡献者,并且每月活跃贡献者人数也超过 100 位。 2022 年 6 月,Apache Doris 成功从 Apache 孵化器毕业,正式成为 Apache 顶级项目(Top-Level Project,TLP)

    Apache Doris 如今在中国乃至全球范围内都拥有着广泛的用户群体,截止目前, Apache Doris 已经在全球超过 2000 家企业的生产环境中得到应用,在中国市值或估值排行前 50 的互联网公司中,有超过 80% 长期使用 Apache Doris,包括百度、美团、小米、京东、字节跳动、腾讯、网易、快手、微博、贝壳等。同时在一些传统行业如金融、能源、制造、电信等领域也有着丰富的应用。

2.3使用场景

    如下图所示,数据源经过各种数据集成和加工处理后,通常会入库到实时数仓 Doris 和离线湖仓(Hive, Iceberg, Hudi 中),Apache Doris 被广泛应用在以下场景中。

在这里插入图片描述

  • 报表分析
    • 实时看板 (Dashboards)
    • 面向企业内部分析师和管理者的报表
    • 面向用户或者客户的高并发报表分析(Customer Facing Analytics)。比如面向网站主的站点分析、面向广告主的广告报表,并发通常要求成千上万的 QPS ,查询延时要求毫秒级响应。著名的电商公司京东在广告报表中使用 Apache Doris ,每天写入 100 亿行数据,查询并发 QPS 上万,99 分位的查询延时 150ms。
  • 即席查询(Ad-hoc Query):面向分析师的自助分析,查询模式不固定,要求较高的吞吐。小米公司基于 Doris 构建了增长分析平台(Growing Analytics,GA),利用用户行为数据对业务进行增长分析,平均查询延时 10s,95 分位的查询延时 30s 以内,每天的 SQL 查询量为数万条。
  • 统一数仓构建 :一个平台满足统一的数据仓库建设需求,简化繁琐的大数据软件栈。海底捞基于 Doris 构建的统一数仓,替换了原来由 Spark、Hive、Kudu、Hbase、Phoenix 组成的旧架构,架构大大简化。
  • 数据湖联邦查询:通过外表的方式联邦分析位于 Hive、Iceberg、Hudi 中的数据,在避免数据拷贝的前提下,查询性能大幅提升。

2.4架构

    Doris整体架构如下图所示,Doris 架构非常简单,只有两类进程

  • Frontend(FE),主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作。
  • Backend(BE),主要负责数据存储、查询计划的执行。

    这两类进程都是可以横向扩展的,单集群可以支持到数百台机器,数十 PB 的存储容量。并且这两类进程通过一致性协议来保证服务的高可用和数据的高可靠。这种高度集成的架构设计极大的降低了一款分布式系统的运维成本。

在这里插入图片描述

    在使用接口方面,Doris 采用 MySQL 协议,高度兼容 MySQL 语法,支持标准 SQL,用户可以通过各类客户端工具来访问 Doris,并支持与 BI 工具的无缝对接。Doris 当前支持多种主流的 BI 产品,包括不限于 SmartBI、DataEase、FineBI、Tableau、Power BI、SuperSet 等,只要支持 MySQL 协议的 BI 工具,Doris 就可以作为数据源提供查询支持。

    在存储引擎方面,Doris 采用列式存储,按列进行数据的编码压缩和读取,能够实现极高的压缩比,同时减少大量非相关数据的扫描,从而更加有效利用 IO 和 CPU 资源。

    Doris 也支持比较丰富的索引结构,来减少数据的扫描:

  • Sorted Compound Key Index,可以最多指定三个列组成复合排序键,通过该索引,能够有效进行数据裁剪,从而能够更好支持高并发的报表场景
  • Min/Max :有效过滤数值类型的等值和范围查询
  • Bloom Filter :对高基数列的等值过滤裁剪非常有效
  • Invert Index :能够对任意字段实现快速检索

    在存储模型方面,Doris 支持多种存储模型,针对不同的场景做了针对性的优化:

  • Aggregate Key 模型:相同 Key 的 Value 列合并,通过提前聚合大幅提升性能
  • Unique Key 模型:Key 唯一,相同 Key 的数据覆盖,实现行级别数据更新
  • Duplicate Key 模型:明细数据模型,满足事实表的明细存储

    Doris 也支持强一致的物化视图,物化视图的更新和选择都在系统内自动进行,不需要用户手动选择,从而大幅减少了物化视图维护的代价。

查询引擎方面,Doris 采用 MPP 的模型,节点间和节点内都并行执行,也支持多个大表的分布式 Shuffle Join,从而能够更好应对复杂查询。

在这里插入图片描述

    Doris 查询引擎是向量化的查询引擎,所有的内存结构能够按照列式布局,能够达到大幅减少虚函数调用、提升 Cache 命中率,高效利用 SIMD 指令的效果。在宽表聚合场景下性能是非向量化引擎的 5-10 倍。

在这里插入图片描述

    Doris 采用了 Adaptive Query Execution 技术, 可以根据 Runtime Statistics 来动态调整执行计划,比如通过 Runtime Filter 技术能够在运行时生成 Filter 推到 Probe 侧,并且能够将 Filter 自动穿透到 Probe 侧最底层的 Scan 节点,从而大幅减少 Probe 的数据量,加速 Join 性能。Doris 的 Runtime Filter 支持 In/Min/Max/Bloom Filter。

    在优化器方面 Doris 使用 CBO 和 RBO 结合的优化策略,RBO 支持常量折叠、子查询改写、谓词下推等,CBO 支持 Join Reorder。目前 CBO 还在持续优化中,主要集中在更加精准的统计信息收集和推导,更加精准的代价模型预估等方面。

3.官网

    官方的文档中文支持友好且非常的详细,仔细研读基本可以学会

https://doris.apache.org/zh-CN/docs/dev/get-starting/quick-start

4.构建部署

4.1 构建环境

    环境使用的是window10专业版安装的 Docker Desktop在wsl2子系统用的是CentOs7.x

4.2 doris2.0.4的fe和be镜像构建

    下载最新的二进制包解压

https://doris.apache.org/download/

4.2.1 fe2.0.4镜像构建脚本

# 选择基础镜像
FROM openjdk:8u342-jdk# 设置环境变量
ENV JAVA_HOME="/usr/local/openjdk-8/"
PATH="/opt/apache-doris/fe/bin:$PATH"# 下载软件至镜像内,可根据需要替换
COPY ./resource/fe /opt/feRUN apt-get update &&
apt-get install -y default-mysql-client &&
apt-get clean &&
mkdir /opt/apache-doris &&
cd /opt &&
mv ./fe/ /opt/apache-doris/RUN chmod 755 /opt/apache-doris/fe/bin/init_fe.shENTRYPOINT ["/bin/bash","/opt/apache-doris/fe/bin/init_fe.sh"]

    resource下放的是2.0.4源码包中的fe文件夹

image.png

    且在fe的bin目录中放入了:

https://ask.selectdb.com/uploads/post/56j2kyebhoC.png

4.2.2 be2.0.4镜像构建

# 选择基础镜像
FROM openjdk:8u342-jdk# 设置环境变量
ENV JAVA_HOME="/usr/local/openjdk-8/"
PATH="/opt/apache-doris/be/bin:$PATH"# 下载软件至镜像内,可根据需要替换
COPY ./resource/be /opt/beRUN apt-get update &&
apt-get install -y default-mysql-client &&
apt-get clean &&
mkdir /opt/apache-doris &&
cd /opt &&
mv ./be/ /opt/apache-doris/RUN chmod 755 /opt/apache-doris/be/bin/init_be.shENTRYPOINT ["/bin/bash","/opt/apache-doris/be/bin/init_be.sh"]

    同fe一样在reource里放入:

https://ask.selectdb.com/uploads/post/56j2vgD4RaJ.png

    be的bin下放入:

https://ask.selectdb.com/uploads/post/56j2yruDhou.png

    fe和be中的init脚本是从2.0.4的源码包中:

https://github.com/apache/doris/releases

https://ask.selectdb.com/uploads/post/56j4ksSZBzj.png

https://ask.selectdb.com/uploads/post/56j4ng9EATs.png

    拷贝到上面的构建文件中的
    如果是在windows下直接打开复制过去的,会有让shell文件的格式有问题,镜像运行的时候报初始化脚本\r问题,所以需要在wsl进入centOs子系统中执行如下:
sed -i ‘s/\r$//’ filename
将init_fe.sh/init_be.sh格式转为linux下的格式

4.2.3 启动脚本如下

docker network create --subnet=172.10.70.0/24 doris-networkdocker network rm doris-network 这个命令不执行,用于删除自定义的docker网卡,执行其它几个命令即可docker run --privileged -itd --name=fe --env FE_SERVERS="fe1:172.10.70.2:9010" --env FE_ID=1 -p 8030:8030 -p 9030:9030 -v D:\doris\fe\doris-meta:/opt/apache-doris/fe/doris-meta -v D:\doris\fe\log:/opt/apache-doris/fe/log -v D:\doris\fe\conf\fe.conf:/opt/apache-doris/fe/conf/fe.conf --network=doris-network --ip=172.10.70.2 apache-doris:2.0.4-fedocker run --privileged -itd --name=be --env FE_SERVERS="fe1:172.10.70.2:9010" --env BE_ADDR="172.10.70.3:9050" -p 8040:8040 -v D:\doris\be\storage:/opt/apache-doris/be/storage -v D:\doris\be\log:/opt/apache-doris/be/log -v D:\doris\be\conf\be.conf:/opt/apache-doris/be/conf/be.conf --network=doris-network --ip=172.10.70.3 apache-doris:2.0.4-be

4.2.4 fe挂载文件如下

image.png

https://ask.selectdb.com/uploads/post/56j57ZzBSCG.png

4.2.5 be挂载文件如下

https://ask.selectdb.com/uploads/post/56j5c9cVNKj.png

https://ask.selectdb.com/uploads/post/56j5dtVeEgb.png

    fe.conf和be.conf都是从容器中没有挂载启动起来,然后下载下来放到上面的挂载路径中的

4.2.6 fe启动日志

https://ask.selectdb.com/uploads/post/56j5teKP4JG.png

4.2.7 be启动日志

image.png

5.问题及解决

    be日志一直是打印的是be自动注册fe失败

5.1解决办法

5.1.1 进入be容器启动be

    进入be命令行也执行了:
    sysctl -w vm.max_map_count=2000000
    启动bex需要先将swapoff关闭
    swapoff -a

    执行/opt/apache-doris/be/bin/start_be.sh --daemon

5.1.2进入fe容器手动注册be

    进入fe命令行执行了:
    sysctl -w vm.max_map_count=2000000

    进入fe命令行手动注册be如下:
    # 进入一台有mysql的服务器,端口9093,账号root,默认密码是空
    mysql -h 172.10.70.2 -P9030 -uroot
    # 注册be
    ALTER SYSTEM ADD BACKEND “172.10.70.3:9050”;
    # 查看be Alive属性如果是true就ok了
    show PROC ‘/backends’;

±----------±------------±--------------±-------±---------±---------±--------------------±--------------------±------±---------------------±----------±-----------------±-------------------±--------------±--------------±--------±---------------±-------------------±-------------------------±-------±----------------------------±------------------------------------------------------------------------------------------------------------------------------±------------------------±---------+
| BackendId | Host | HeartbeatPort | BePort | HttpPort | BrpcPort | LastStartTime | LastHeartbeat | Alive | SystemDecommissioned | TabletNum | DataUsedCapacity | TrashUsedCapcacity | AvailCapacity | TotalCapacity | UsedPct | MaxDiskUsedPct | RemoteUsedCapacity | Tag | ErrMsg | Version | Status | HeartbeatFailureCounter | NodeRole |
±----------±------------±--------------±-------±---------±---------±--------------------±--------------------±------±---------------------±----------±-----------------±-------------------±--------------±--------------±--------±---------------±-------------------±-------------------------±-------±----------------------------±------------------------------------------------------------------------------------------------------------------------------±------------------------±---------+
| 10114 | 172.10.70.3 | 9050 | 9060 | 8040 | 8060 | 2024-02-28 01:10:51 | 2024-02-28 01:13:39 | true | false | 14 | 0.000 | 0.000 | 8.397 GB | 57.028 GB | 85.28 % | 85.28 % | 0.000 | {“location” : “default”} | | doris-2.0.4-rc06-003a815b63 | {“lastSuccessReportTabletsTime”:“2024-02-28 01:13:03”,“lastStreamLoadTime”:-1,“isQueryDisabled”:false,“isLoadDisabled”:false} | 0 | mix |
±----------±------------±--------------±-------±---------±---------±--------------------±--------------------±------±---------------------±----------±-----------------±-------------------±--------------±--------------±--------±---------------±-------------------±-------------------------±-------±----------------------------±------------------------------------------------------------------------------------------------------------------------------±------------------------±---------+

6.doris后台

image.png

7.使用navicat客户端连接如下

    使用的地址是127.0.0.1/localhost/wifi地址是可以连上的,但是使用docker的桥接内网地址172.10.70.2是连不上的,端口是9030

image.png

image.png

    到此我这种方式是不是就已经将doris镜像构建和部署1fe和1be集群搞好了?

8.本地构建的镜像推送到阿里云镜像仓库如下

registry.cn-hangzhou.aliyuncs.com/bigfei/zlf:apache-doris-2.0.4-fe
registry.cn-hangzhou.aliyuncs.com/bigfei/zlf:apache-doris-2.0.4-be

6.doris官方管理平台

    doris官方提供了一个运维管理doris集群的平台工具

    Cluster Manager for Apache Doris(以下简称 Doris Manager)是 SelectDB 推出的管理运维 Apache Doris、SelectDB Doris 集群的工具

https://docs.selectdb.com/docs/enterprise/cluster-manager-guide/deployment-guide/deployment-guide-23.x

7.总结

    在传统业务中,基本使用的是万年的mysql,一个mysql数据库撸所有,但是在数据量非常庞大的数据体量下,mysql的能力变得越来越垃圾,所以数据量大,查询灰常灰常慢,基本嗝屁了,所以数据就变成了负债,而没有发挥数据真真的价值,此时就需要寻找代替mysql数据库的方案,由于接触到了Apache Doris,它及支持事务,又有强大的数据查询分析能力,数据join能力也挺强的,且支持mysql的协议,可以对海量的数据做存储分析,查询响应在亚秒级(快),它可以代替mysql、ES(es不支持事务,关联查询能力弱,宽表能力强),它是一款新星的开源数据库,性能强悍,功能强大,也可以替换ELK日志手机存储的替代方案,它是java和C++的混合产品,它是一款前沿大数据领域的开源产品,它的生态活跃,支持各种数据产品数据的CDC连接器丰富,支持 Spark、Flink、hive、kafa等大数据领域的组件,还有一款很猛的开源产品,跟doris的架构很相似,它就是StarRocks,这里简单的提一下StarRocks(快得飞起)这个新的技术名词,后面有机会在分享。

https://docs.starrocks.io/zh/docs/introduction/StarRocks_intro/

    Spark、doris、StarRocks及ES这三个都是MPP架构(大规模并行处理),Hadoop就是一种常见的MPP存储与分析工具。以后有机会在项目中使用这两款新大数据产品解决业务问题,到时候我会分享研究学习运用等经验,这里只是做一个简单的分享。到此我的分享结束了,希望对你有所启发和帮助,请一键三连,么么么哒!

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

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

相关文章

Java -- (part16)

一.多线程基础知识 1.进程:在内存中执行的应用程序 2.线程:进程中的一个最小的执行单元 3.并行:在同一时刻,有多个指令在多个CPU上同时执行 4.并发:在同一时刻,有多个指令在单个CPU上交替执行 5.CPU调度 a.分时调度 b.抢占式调度:Java程序 6.主线程:CPU和内存之间开辟的…

C++ CRUD programming for DB

1、ODBC 开放数据库互连,微软主导的关系型数据库接口标准,允许同一代码访问不同DBMS中的数据。小案例:C连接Access数据库----增删改查_c access数据库-CSDN博客 ODBC(Open Database Connectivity,开放数据库连接) ODBC是Microsof…

PCB的通孔、盲孔、埋孔

通孔:是从顶层到底层 盲孔:看不到头,跟井一样,起点永远是第一层 埋孔:是正反都看不到的 总结: 这些孔都是用来切换层的

超详细的Maven安装与使用还有内容讲解

文章目录 作用简介模型仓库 安装配置IDEA配置Maven坐标概念主要组成 IDEA创建Maven项目基本使用常用命令生命周期使用坐标导入jar包 注意事项清理maven仓库更新索引依赖 作用 Maven是专门用于管理和构建Java项目的工具,它的主要功能有: 提供了一套标准化…

力扣HOT100 - 101. 对称二叉树

解题思路: class Solution {public boolean isSymmetric(TreeNode root) {if(root null) return true;return recur(root.left, root.right);}boolean recur(TreeNode L, TreeNode R) {if (L null && R null) return true;if (L null || R null || L.…

基于深度学习网络的十二生肖图像分类matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ............................................................... for i 1:16subplot(4,4,…

第七章 信息系统维护与管理

文章目录 一,概述二,信息系统的使用(一)用户培训(二)系统转换(三)系统运行 三,信息系统的维护(一)信息系统维护过程1,维护组织2&#…

Meta Llama 3本地部署

感谢阅读 环境安装收尾 环境安装 项目文件 下载完后在根目录进入命令终端(windows下cmd、linux下终端、conda的话activate) 运行 pip install -e .不要控制台,因为还要下载模型。这里挂着是节省时间 模型申请链接 复制如图所示的链接 然后…

mongodb 安装问题

1. mongodb启动时显示 Illegal instruction (core dumped) mongodb 5.0之后(包括5.0) 开始使用需要使用 AVX 指令集 2.启动时报错 ERROR: child process failed, exited with 1 通过指令 bin/mongod --repair 查看报错信息 根据报错信息进行修改 3. 配置服务器添加节点时…

【北京迅为】《iTOP-3588开发板系统编程手册》-第19章 V4L2摄像头应用编程

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

企商在线亮相2024中国生成式AI大会,展出多元异构算力服务

4月18—19日,由知名媒体机构智东西与智猩猩共同主办的2024中国生成式AI大会在北京举行,55位重量级产学研投界代表同台分享。企商在线作为算力行业代表企业,参展生成式AI展区,现场展出企商在线AI算力平台及异构算力服务。 大会以“…

三分钟快速理解Flink 作业提交流程(包工头的工程之路)

核心组件 我们先来简单了解一下 flink 作业提交涉及到的组件 同时,如果不了解 Yarn 的同学欢迎跳转到这篇文章,了解一下健鑫集团的工程承包流程(doge): 三分钟快速理解Yarn的工作流程 JobManager JobManager 是整个flink作业的管理者 包含 Dispatch…

“PowerInfer:消费级GPU上的高效大型语言模型推理引擎“

PowerInfer是由上海交通大学IPADS实验室开发的一个高效大型语言模型(LLM)推理引擎,专为个人电脑(PC)上的消费者级GPU设计。它通过利用LLM推理中的高局部性,实现了快速且资源消耗低的模型推理,这…

深入探究图像增强(C语言实现)

我们将从基础出发使用C语言进行图像处理与分析,重点讨论图像增强和平滑技术。图像增强技术旨在通过增加对比度、亮度和整体清晰度来改善图像的视觉质量。另一方面,图像平滑方法则用于减少噪声并减少图像中的突变,使图像更加均匀和视觉上吸引人…

Github Copilot正版的激活成功,终于可以chat了

Github Copilot 代码补全等功能,提高写代码的效率 https://web.52shizhan.cn/activity/copilot 登录授权后,已经可以使用,完美。如图

OpenFE:开启数据特征工程新时代

OpenFE:开启数据特征工程新时代 数据特征工程是机器学习和数据分析领域中至关重要的一环,它涉及对原始数据进行处理和转换,以提取出有用的特征,为模型构建和预测提供更好的输入。在这个领域中,Python库OpenFE为数据科学…

查找两个字符串的最长公共子串

暴力解法 #include <iostream> #include <vector> #include <cstring> using namespace std; string a, b, minn ""; // a和b是我们输入的 // minn存储的是我们最小的那个字符串string cut(int l, int r) {string tmp "";for (int i …

大小端解释以及如何使用程序判断IDE的存储模式

今天让我们来了解一下大小端的概念吧 什么是大小端&#xff1f; 大端&#xff08;存储&#xff09;模式&#xff1a;指的是数据的低位保存在内存的高地址处&#xff0c;而数据的高位则保存在内存的低地址处。 小端&#xff08;存储&#xff09;模式&#xff1a;指的是数据的低位…

Discuz! X系列版本安装包

源码下载地址&#xff1a;Discuz! X系列版本安装包 很多新老站长跟我说要找Discuz! X以前的版本安装包&#xff0c;我们做Discuz! X开发已经十几年了&#xff0c;这些都是官方原版安装包&#xff0c;方便大家使用&#xff08;在官网已经找不到这些版本的安装包了&#xff09; …

新网站上线需要注意什么?

质量保证&#xff1a;确保网站的所有功能和页面都经过了充分的测试&#xff0c;并且在各种不同的浏览器和设备上都能够正常运行。检查所有链接、表单和交互式元素&#xff0c;确保它们都能够按照预期工作。优化性能&#xff1a;确保网站加载速度快&#xff0c;响应迅速。优化图…