[rCore学习笔记 028] Rust 中的动态内存分配

简介: [rCore学习笔记 028] Rust 中的动态内存分配

今天我们将继续深入探讨KES的单机安装,依然围绕Docker的使用展开。这一部分的内容将涵盖一些常见的陷阱以及在遇到问题时如何进行有效的反馈和解决。首先,我们需要找到官方的安装教程,确保以官方指南为主,同时结合我们自己的使用习惯。

为什么我们如此青睐Docker,而不是选择传统的命令行安装呢?在当今的云计算时代,Docker已经成为一种几乎必备的技能,它能够大大简化环境配置和应用部署的流程,使得开发和运维工作更加高效。

接下来,我们将详细讲解具体的安装步骤和注意事项,帮助大家顺利完成KES的安装。让我们开始吧!
单机安装

在这里,我想与大家分享官方的安装步骤,您可以通过以下链接访问详细的安装指南:官方安装步骤。同时,如果您需要下载相关的软件或资源,请前往官方的下载地址:官方下载页面。

这些链接提供了全面的文档和工具,帮助您更顺利地进行安装和配置。建议大家在安装之前先仔细阅读官方指南,以便更好地理解每个步骤的具体操作和注意事项。

image

我已经为大家准备好了相关的下载链接,您可以通过以下地址获取所需文件:下载地址。

需要特别提醒的是,虽然这个链接中包含了中文字符,这并不会对下载过程产生实质性的影响,但从规范性和可读性角度来看,这样的链接格式并不太理想。因此,建议官方在未来的链接命名中尽量避免使用中文,以提高链接的清晰度和一致性。

image

我们将继续使用宝塔面板进行直接安装,因为我选择了 Docker 版本,这样我们可以直接导入镜像进行使用。需要注意的是,官方尚未对外公开可用于公网的官方镜像,因此这种方式是当前最方便的选择。
导入镜像

最初,我打算通过宝塔面板的导入镜像功能直接进行导入,但不幸的是,这一方法未能成功。因此,我只能转而使用命令行的方式进行导入。具体的命令如下:docker load -i kingbase.tar

image

此时,经过命令行的操作,本地环境中将成功生成所需的镜像,方便后续的使用和部署。

image

我们决定直接采用 Compose 模板来启动服务,而不是使用官方提供的命令行形式。这种方式不仅能够简化配置过程,还能提高我们在多容器应用管理上的灵活性和效率。

version: "2"
services:
kingbase:
image: kingbase_v009r001c001b0030_single_x86:v1
container_name: kingbase
privileged: true # 注意这里的缩进与前面的键值对对齐
environment:

  - ENABLE_CI=yes    # yes(默认 大小写不敏感)/no 大小写敏感
  - NEED_START=yes    # yes(默认 启动数据库)/ no(不启动数据库)
  - DB_USER=system # 默认用户名
  - DB_PASSWORD=12345678ab  # 默认密码
  - DB_MODE=oracle    # 支持oracle/pg/mysql
volumes:
  - /mnt/kingbase/data:/home/kingbase/userdata
ports:
  - 4321:54321
restart: unless-stopped
command: /usr/sbin/init

编排模式的创建过程已经圆满完成,所有相关配置和设置已成功应用。
[box.4007775257.com)
[box.yzc-fa.com)
[box.hflihun.com)
[box.hzmanuli.com)
[box.fscsdcdq.com)
[box.ecotronsci.com)
[box.tianshunda.net)
[box.zzsanying.com)
image

接下来,我们将启动相应的模板,以便迅速搭建所需的环境和服务。

image
启动服务

接下来,我们只需启动系统即可,相关的日志信息也非常清晰明了,有助于我们进行故障排查和性能监控。然而,我在这里遇到了一些问题,启动过程未能成功完成。

image

需要特别注意的是,由于我之前已经安装过一次 Kingbase,但在这次安装时忘记清空先前挂载的持久化目录,这导致了启动失败的情况。对于新手用户而言,通常在进行初次安装时,系统能够顺利启动并成功运行。

在成功安装的过程中,相关的日志信息清晰地显示了各项步骤和状态,以下是安装成功时的日志输出:

image

在成功启动后,我们可以直接进入容器内部进行免密码连接,以测试数据库的正常运行情况。首先,我们需要确认数据库服务是否已顺利启动:

sys_ctl -D /home/kingbase/userdata/data/ status

其次,我们将进行免密码登录操作,以确保能够无缝地访问数据库:

kql

我根据官方文档的指导进行操作,但直接显示为失败。

image
问题反馈

不过在安装过程中,您不必感到担忧,因为金仓官方提供了相应的问题论坛。在遇到任何困难时,您可以直接在论坛上发帖求助,寻求专业的支持与解答,论坛地址为:https://bbs.kingbase.com.cn/forum。

image

那么我们暂时不使用免密登录的方式,而是直接使用刚才设定的默认账户和密码进行登录。

ksql -Usystem -d test -p54321

image

既然不存在相关数据库,我们可以直接登录后创建一个名为“system”的数据库,随后使用ksql命令进行免密登录。这种方法不仅简便,还能提高我们的工作效率。

至于我不太喜欢使用命令行的原因,是因为命令行操作需要配置多种环境信息,增加了出错的可能性。此外,命令行方式在未来的集群管理中可能会带来不便。目前,所有运维同事都倾向于使用Kubernetes来进行管理,因此Docker成为了主流的安装方式。这不仅简化了部署流程,还能更好地适应现代化的运维需求。
镜像推送

可以看出,官方并没有将镜像上传到Docker官方库,这意味着我们每次都需要到官网下载镜像。这种方式在操作时非常不便,尤其是在不同机器之间频繁切换时。因此,我们决定维护一个自己的镜像仓库,以便更高效地管理和部署。

这不仅可以大大简化我们的操作流程,还能确保在需要时能够快速获取所需镜像。目前,我以腾讯云为主要平台,而且个人实例的使用是免费的。

image

创建一下镜像仓库:

image

我们在自己本地宝塔面板配置好仓库地址:

image

将我们已经导入好的镜像推送到自己的仓库是一个相对简单但至关重要的步骤。通过这一过程,我们可以确保这些镜像能够在需要时快速访问,从而大大提高工作效率。

image
公有仓库

我已经成功地将镜像推送到了自己的公有仓库。这意味着在未来的操作中,如果你不愿意直接从官网下载镜像,也可以选择将所需的镜像直接下载。

version: "2"
services:
kingbase:
image: ccr.ccs.tencentyun.com/kingbase/database:v030
container_name: kingbase-v030
privileged: true # 注意这里的缩进与前面的键值对对齐
environment:

  - ENABLE_CI=yes    # yes(默认 大小写不敏感)/no 大小写敏感
  - NEED_START=yes    # yes(默认 启动数据库)/ no(不启动数据库)
  - DB_USER=system # 默认用户名
  - DB_PASSWORD=12345678ab  # 默认密码
  - DB_MODE=oracle    # 支持oracle/pg/mysql
volumes:
  - /mnt/kingbase/data:/home/kingbase/userdata
ports:
  - 4322:54321
restart: unless-stopped
command: /usr/sbin/init

由于我们已经拥有一个正在运行的数据库实例,这导致当前的新服务无法正常启动。

image
总结

在这个过程中,我们深刻感受到Docker作为现代开发与运维工具的重要性。从单机安装到镜像管理,每一步都体现出其高效性和灵活性。面对技术的快速迭代,保持对新工具的敏感和适应能力显得尤为关键。Docker不仅简化了环境配置,更为团队协作和资源共享提供了便利。

在实际操作中,虽会遇到各种问题,如镜像导入失败或启动过程中的小插曲,但这些都是成长过程中的必经之路。通过有效的问题反馈和社区支持,我们可以迅速找到解决方案,避免重复的错误。

我是努力的小雨,一名 Java 服务端码农,潜心研究着 AI 技术的奥秘。我热爱技术交流与分享,对开源社区充满热情。同时也是一位腾讯云创作之星、阿里云专家博主、华为云云享专家、掘金优秀作者。

💡 我将不吝分享我在技术道路上的个人探索与经验,希望能为你的学习与成长带来一些启发与帮助。

🌟 欢迎关注努力的小雨!🌟

相关文章
|
24天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
16天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
20天前
|
机器学习/深度学习 算法 大数据
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
2024“华为杯”数学建模竞赛,对ABCDEF每个题进行详细的分析,涵盖风电场功率优化、WLAN网络吞吐量、磁性元件损耗建模、地理环境问题、高速公路应急车道启用和X射线脉冲星建模等多领域问题,解析了问题类型、专业和技能的需要。
2577 22
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
|
18天前
|
人工智能 IDE 程序员
期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
在云栖大会上,阿里云云原生应用平台负责人丁宇宣布,「通义灵码」完成全面升级,并正式发布 AI 程序员。
|
3天前
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
阿里云百炼产品月刊【2024年9月】
|
2天前
|
存储 人工智能 搜索推荐
数据治理,是时候打破刻板印象了
瓴羊智能数据建设与治理产品Datapin全面升级,可演进扩展的数据架构体系为企业数据治理预留发展空间,推出敏捷版用以解决企业数据量不大但需构建数据的场景问题,基于大模型打造的DataAgent更是为企业用好数据资产提供了便利。
164 2
|
20天前
|
机器学习/深度学习 算法 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
2024年中国研究生数学建模竞赛C题聚焦磁性元件磁芯损耗建模。题目背景介绍了电能变换技术的发展与应用,强调磁性元件在功率变换器中的重要性。磁芯损耗受多种因素影响,现有模型难以精确预测。题目要求通过数据分析建立高精度磁芯损耗模型。具体任务包括励磁波形分类、修正斯坦麦茨方程、分析影响因素、构建预测模型及优化设计条件。涉及数据预处理、特征提取、机器学习及优化算法等技术。适合电气、材料、计算机等多个专业学生参与。
1576 16
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
|
22天前
|
编解码 JSON 自然语言处理
通义千问重磅开源Qwen2.5,性能超越Llama
击败Meta,阿里Qwen2.5再登全球开源大模型王座
978 14
|
4天前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
221 2
|
17天前
|
人工智能 开发框架 Java
重磅发布!AI 驱动的 Java 开发框架:Spring AI Alibaba
随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。同时,提供了完整的开源配套,包括可观测、网关、消息队列、配置中心等。
735 9