暂无图片
暂无图片
10
暂无图片
暂无图片
暂无图片

MacBook使用虚拟机搭建kingbase

原创 彭冲 2025-02-21
574

上周末顺利的在MacBook下使用虚拟机把kingbase数据库环境搭建成功了,本周非常开心的跟麦麦女士分享了这个消息,在此整理成文章(问了下社区,没有重复造轮子),有需要的朋友可以参考。

image.png

用了两年多的MacBook Air(M2芯片),目前主要遇到ARM架构下虚拟机的使用问题,除此之外整体操作体验非常舒适。

安装虚拟机软件

现在MacBook ARM架构下可以使用的免费软件有VBox 7.2,几年前VBox 6的版本还不支持,当时能找到的可用软件是VMware Fusion Public Tech Preview 22H2

image.png

本文使用的虚拟机软件为VMware Fusion,周末对比测试比VBox 7.2,个人觉得前者好用一些,也可能是用习惯了。

安装虚拟机

使用VMware Fusion在ARM架构下能安装成功的虚拟机并不多,目前安装成功的有Centos 7.9、Centos 8.4、Rocky 9,但这些操作系统都不能正常安装kingbase,因为一些系统依赖包的关系。

今年一月份萧老师的公众号发了一篇文章<<用ARM芯片的MacBook测试国产OS>>,参考GRUB的配置:

启动镜像时,按键盘 e 进入到 GRUB 的编辑界面,删除video=vesa:off后,按键Ctrl+x即可正常安装

参照上面的指示,openEuler 22.03 SP3顺利完成安装。

image.png

image.png

安装kingbase数据库

安装完openEuler 22.03版本的虚拟机之后,kingbase才可顺利部署,经测试V8和V9可以同时部署独立运行。

下面是具体的安装过程

1.数据库的ISO文件通过新增CD/DVD设置进行挂载

这样设置可以避免虚拟机磁盘空间不够的问题

$ cat /etc/fstab ... /dev/sr0 /media iso9660 defaults,ro,loop 0 0 /dev/sr1 /media1 iso9660 defaults,ro,loop 0 0

/dev/sr0是openEuler系统的iso,/dev/sr1就是新增的kingbase iso

2.新增一个10G大小的磁盘,单独用于数据库安装部署

$ mkfs.xfs /dev/nvme0n2 $ mkdir /database1 $ chmod 777 /database1 $ cat /etc/fstab ... /dev/nvme0n2 /database1 xfs defaults 0 0

新增的分区/database1可以在安装部署完成后,只将必要的目录再转移到第一块磁盘上,数据库安装完成后再可以把这块磁盘卸载返回给宿主机。

3.数据库安装前的宿主用户及目录准备

$ groupadd dbgrp $ useradd kbase -g dbgrp $ mkdir -p /database1/Kingbase/ES/V8 $ mkdir -p /database1/Kingbase/ES/V9 $ chown -R kbase: /database1/Kingbase $ mkdir -p /opt/data8 $ mkdir -p /opt/data9 $ chown -R kbase: {/opt/data8,/opt/data9}

4.执行安装脚本

# su - kbase $ cd /media1/setup/ $ export HOME=/database1 $ ./install.bin

执行install.bin之前先临时修改HOME环境变量为新增的磁盘分区目录/database1,否则在根分区下容易出现磁盘空间不够而安装失败。

  • 阶段一的数据库bin目录更改为/database1/Kingbase/ES/V9
  • 阶段二的数据目录更改为/opt/data9

注意阶段一安装完数据库bin目录后,需要打开一个新窗口执行如下命令,建立两个文件的符号链接:

ln -s /usr/lib64/libldap.so.2.0.200 /database1/Kingbase/ES/V9/Server/lib/libldap-2.4.so.2 ln -s /usr/lib64/libldap.so.2.0.200 /database1/Kingbase/ES/V9/Server/lib/libldap_r-2.4.so.2

安装V8版本也是类似的操作

ln -s /usr/lib64/libldap.so.2.0.200 /database1/Kingbase/ES/V8/Server/lib/libldap-2.4.so.2 ln -s /usr/lib64/libldap.so.2.0.200 /database1/Kingbase/ES/V8/Server/lib/libldap_r-2.4.so.2

如果在阶段一完成后没有执行上面的操作,阶段二初始化数据目录时会出现如下错误提示:

error while loading shared libraries: libldap_r-2.4.so.2: cannot open shared object file: No such file or directory

此时可以参照上面的提示,打开新窗口重新建立那两个文件的符号链接再重试即可。

最后一步可选操作:手工删除暂时不需要的目录来进行瘦身

rm -rf /database1/Kingbase/ES/V9/ClientTools/guitools/* rm -rf /database1/Kingbase/ES/V9/doc/* rm -rf /database1/Kingbase/ES/V9/KingbaseHA/* rm -rf /database1/Kingbase/ES/V9/install/* rm -rf /database1/Kingbase/ES/V9/Uninstall/*

V8版本也是类似的操作

rm -rf /database1/Kingbase/ES/V8/ClientTools/guitools/* rm -rf /database1/Kingbase/ES/V8/doc/* rm -rf /database1/Kingbase/ES/V8/KingbaseHA/* rm -rf /database1/Kingbase/ES/V8/install/* rm -rf /database1/Kingbase/ES/V8/Uninstall/*

瘦身后,V8和V9各占510M

$ du -sh /database1/Kingbase/ES/V* 510M /database1/Kingbase/ES/V8 510M /database1/Kingbase/ES/V9

可选操作:将目录移到第一块磁盘后,卸载第二块磁盘,返还空间给宿主机。

5.配置环境变量

export LD_LIBRARY_PATH=/database1/Kingbase/ES/V9/Server/lib export PATH=/database1/Kingbase/ES/V9/Server/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin

6.启动数据库服务

启动数据库:

sys_ctl -w start -D "/opt/data9" -l "/home/kbase/startup9.log"

访问数据库:

ksql -p 54321 -U system kingbase

停止数据库:

sys_ctl stop -D "/opt/data9"

本文结束~

与我联系

  • 微信公众号:象楚之行
  • 墨天轮:https://www.modb.pro/u/15675
  • 微信:skypkmoon

勤耕细作,用心积微;静待花开,量变质成。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论