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

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

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

单机安装

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

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

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

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

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

导入镜像

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

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

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

  1. version: "2"
  2. services:
  3. kingbase:
  4. image: kingbase_v009r001c001b0030_single_x86:v1
  5. container_name: kingbase
  6. privileged: true # 注意这里的缩进与前面的键值对对齐
  7. environment:
  8. - ENABLE_CI=yes # yes(默认 大小写不敏感)/no 大小写敏感
  9. - NEED_START=yes # yes(默认 启动数据库)/ no(不启动数据库)
  10. - DB_USER=system # 默认用户名
  11. - DB_PASSWORD=12345678ab # 默认密码
  12. - DB_MODE=oracle # 支持oracle/pg/mysql
  13. volumes:
  14. - /mnt/kingbase/data:/home/kingbase/userdata
  15. ports:
  16. - 4321:54321
  17. restart: unless-stopped
  18. command: /usr/sbin/init

编排模式的创建过程已经圆满完成,所有相关配置和设置已成功应用。

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

启动服务

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

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

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

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

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

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

kql

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

问题反馈

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

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

ksql -Usystem -d test -p54321

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

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

镜像推送

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

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

创建一下镜像仓库:

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

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

公有仓库

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

  1. version: "2"
  2. services:
  3. kingbase:
  4. image: ccr.ccs.tencentyun.com/kingbase/database:v030
  5. container_name: kingbase-v030
  6. privileged: true # 注意这里的缩进与前面的键值对对齐
  7. environment:
  8. - ENABLE_CI=yes # yes(默认 大小写不敏感)/no 大小写敏感
  9. - NEED_START=yes # yes(默认 启动数据库)/ no(不启动数据库)
  10. - DB_USER=system # 默认用户名
  11. - DB_PASSWORD=12345678ab # 默认密码
  12. - DB_MODE=oracle # 支持oracle/pg/mysql
  13. volumes:
  14. - /mnt/kingbase/data:/home/kingbase/userdata
  15. ports:
  16. - 4322:54321
  17. restart: unless-stopped
  18. command: /usr/sbin/init

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

总结

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

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


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

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

欢迎关注努力的小雨!

掌握Docker:简化KES单机安装与管理的最佳实践的更多相关文章

  1. 在CentOS 7.6 以 kubeadm 安装 Kubernetes 1.15 最佳实践

    前言 Kubernetes作为容器编排工具,简化容器管理,提升工作效率而颇受青睐.很多新手部署Kubernetes由于"scientifically上网"问题举步维艰,本文以实战经 ...

  2. kubeadm安装Kubernetes 1.14最佳实践

    前言 Kubernetes作为容器编排工具,简化容器管理,提升工作效率而颇受青睐.很多新手部署Kubernetes由于“上网”问题举步维艰,本文以实战经验详解kubeadm不用“翻墙”部署Kubern ...

  3. Docker基础概念与安装

    Docker是什么? Docker最初是dotCloud公司的创始人Solomon Hyks在法国期间发起的一个公司内部项目,它是基于dotCloud公司多年云服务技术的一次革新,并于2013年3月以 ...

  4. Docker入门-介绍和安装

    Docker容器 Docker是什么 Docker最初是dotCloud公司创建人Solomon Hykes在法国期间发起的一个公司内部项目,它是基于dotCloud公司多年云服务技术的一次革新,并于 ...

  5. Docker教程:docker的概念及安装

    http://blog.csdn.net/pipisorry/article/details/50754385 Why docker 对于运维来说,Docker提供了一种可移植的标准化部署过程,使得规 ...

  6. Zookeeper Windows版的服务安装和管理工具

    以前研究过负载均衡,最近正在项目上实施(从来没做过小项目以上级别的东西,哈).然后遇到了多个一模一样但是同时运行的服务.不同服务但依赖同相同的配置数据(前端网页服务:Nginx+IIS+nodejs. ...

  7. cenots7单机安装Kubernetes

    关于什么是Kubernetes请看另一篇内容:http://www.cnblogs.com/boshen-hzb/p/6482734.html 一.环境搭建 master安装的组件有: docker ...

  8. Docker 技术系列之安装Docker Desktop for Mac

    终于要进入到Docker技术系列了,感谢大家的持续关注. 为什么要选择Docker?因为Docker 轻巧快速,提供了可行.经济.高效的替代方案.举个例子,安装Nginx,Mysql,Redis等常用 ...

  9. kind:Kubernetes in Docker,单机测试 Kubernetes 群集的最佳方案

    请访问原文发布链接:https://sysin.org/article/kind/,查看最新版. 作者:gc(at)sysin.org,主页:www.sysin.org 2021.04.28 更新,k ...

  10. (原) 1.1 Zookeeper单机安装

    本文为原创文章,转载请注明出处,谢谢 zookeeper 单机安装配置 1.安装前准备 linux系统(此文环境为Centos6.5) Zookeeper安装包,官网https://zookeeper ...

随机推荐

  1. 【ue源码】定制-蓝图部分

    今天在更新UE的伤害系统的时候出现了一个问题: 多个地方频繁调用一个函数,而这个函数肯定做优化,具体就是,把对应数据放入到队列,另外一个地方慢慢消费这个队列, 那么问题出现了,我使用的UE只有Sing ...

  2. 错误记录java: JDK isn't specified for module

    跑苍穹外卖的时候遇到了 java: JDK isn't specified for module 'sky-pojo'这一问题 解决办法是通过修改JDK版本,这个项目用的springboot比较早,可 ...

  3. python高性能计算:cython使用openmp并行(示例)

    y.pyx import cython from cython import parallel from cython.parallel import prange cdef int i cdef i ...

  4. 【转载】 arXiv论文提交流程

    原文地址: https://blog.csdn.net/u010705932/article/details/105834469 =================================== ...

  5. 一群伪专家讨论“motherland”和“fatherland”,说说个人的观点

    看了一个视频: 中国的文化里在找妈,美国的文化里在找爸!如何真正教育子女? ============================================= ================ ...

  6. 解决 Docker CE 在无根模式(rootless)下无法通过 IPv6 拉取映像的问题

    折腾一天快把我逼疯了 本来 Docker 对 IPv6 的支持就不好,再来个 rootless,雪上加霜 首先,我们要区分 Docker Engine 和 里面的 Image. 拉取映像是 Docke ...

  7. Linux-mknod命令

    mknod 创建块设备或者字符设备文件.此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 用法: mknod [选项]... 名称 类型 ...

  8. 2022 CCPC 广州站 Alice and Her Lost Cat

    1 #include <bits/stdc++.h> 2 using namespace std; 3 #define rg register 4 #define ll long long ...

  9. java_基本类型

    1. 所有的基本类型都是小写 例如  int 2. 所有的类  类型首字母大写  例如String

  10. Vue Element-ui Table实现动态新增和删除

    达到效果:1.点击添加动态添加一行表格数据 2.点击移除删除一行 templete部分代码 <el-tab-pane label="股东情况"> <el-row& ...