近两年的国产化进程一直在推进,基于arm架构的国产系统也在积极发展,这里记录一下基于麒麟v10arm版安装常见数据库的方案。
麒麟软件介绍: 银河麒麟高级服务器操作系统V10 - 国产操作系统、银河麒麟、中标麒麟、开放麒麟、星光麒麟——麒麟软件官方网站
arm与x86_64架构存在差异,故无法通过vmware,virtualbox等虚拟机软件直接安装arm版本的麒麟v10,可以通过qume模拟器来模拟。网上方案比较多,这里以win11,qume7.1.0进行演示。
如果不进行OceanBase的安装演示,qume的虚拟硬盘可以少分一点,比如20G,内存8G即可。如果要实验oceanbase 推荐60G以上,内存16G,否则会出现问题。
宿主机器: win11,32G,Intel11代i7,64位 |
Qume软件版本: 7.1.0 |
麒麟v10版本: 4.19.90-24.4.v2101.ky1,aarch64 |
Mysql 8.0.33-1.el8.aarch64 |
Redis redis-5.0.5-1.el7.aarch64 |
Mongo mongo-4.0.6-1.el7.aarch64 |
Oceanbase oceanbase-all-in-one-4.2.0.0-100120230915135249.el7.aarch64 |
步骤 |
|
https://qemu.weilnetz.de/w64/2021/qemu-w64-setup-20210505.exe 直接安装,没有硬性要求 |
qemu-img create -f qcow2 E:\kylin\kylindisk.qcow2 40G |
注意替换路径 qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 8,sockets=4,cores=2 -M virt -bios E:\kylin\QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=E:\kylin\kylindisk.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=E:\mirror\Kylin-Server-10-SP2-Release-Build09-20210524-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -net nic -net user,hostfwd=tcp::2222-:22 |
qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 8,sockets=4,cores=2 -M virt -bios E:\kylin\QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=E:\kylin\kylindisk.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -net nic -net user,hostfwd=tcp::2222-:22 |
参考文献: WIN10 x86环境部署ARM虚拟机(银河麒麟)实例_kylin-server-10-sp2-aarch64-release-build09-202105-CSDN博客 https://itas109.blog.csdn.net/article/details/109453945 |
根据资料与实际测试,发现 8.0.33-1.el8.aarch64 版本最合适,该版本可以直接通过官网获取。
实测在模拟环境中,需要以下依赖(可以借助在能连接外网的环境下,使用yundownloader获得) 依次rpm 安装依赖包 然后rpm mysql系列的包 |
mv -f /var/lib/mysql /data/ -----> 放到本地挂载硬盘中 ln -s /data/mysql/ /var/lib/mysql 如果遇到权限问题,记得 chown -R mysql:mysql /data/mysql |
mysqld --initialize --console |
grep 'temporary password' /var/log/mysqld.log |awk -F ' root@localhost: ' '{print $2}' |
ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '你的密码'; flush privileges; 然后退出重新登录 |
Use mysql; CREATE USER ‘root’@'%' IDENTIFIED WITH mysql_native_password BY ‘你的密码’ GRANT ALL ON *.* TO 'root'@'%'; flush privileges; |
https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/mongodb-tools-4.0.6-1.aarch64.rpm |
rpm -ivh mongo-4.0.6-1.el7.aarch64.rpm rpm -ivh mongodb-tools-4.0.6-1.aarch64.rpm |
vim /etc/mongod.conf |
storage: dbPath: "/data/mongo" #数据存放位置 systemLog: destination: file path: "/data/mongo/mongodb.log" #日志存放位置 net: bindIp: 0.0.0.0 #对远程连接ip不限制 port: 27017 #端口号 processManagement: fork: true #后台启动 security: authorization: enabled |
vim /etc/profile.d/mongodb.sh #mongoDB export MONGODB_HOME=/usr/local/mongo export PATH=$PATH:$MONGODB_HOME/bin |
|
[Unit] Description=mongodb-service After=network.target [Service] Type=forking ExecStart=/usr/local/mongo/bin/mongod --config /etc/mongod.conf PrivateTmp=true [Install] WantedBy=multi-user.target |
systemctl daemon-reload |
启动 systemctl start mongodb.service 加入自启动 systemctl enable mongodb.service |
0 获取安装包 华为开源镜像站_软件开发服务_华为云 arm类别 华为鲲鹏 依次去找,或者直接下载如下地址 wget https://repo.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/bigdata/redis-5.0.5-1.el7.aarch64.rpm |
rpm -ivh redis-5.0.5-1.el7.aarch64.rpm |
vim /etc/redis.conf 将bind 127.0.0.1 改成了 bind 0.0.0.0 把6379改成自己想要的端口 启动守护进程 daemonize no 改为 daemonize yes 修改Redis密码 requirepass foobared 改为 requirepass 你的密码 |
redis-server /etc/redis.conf |
redis-cli auth 你的密码 |
0 获取安装包(OceanBase All in One) https://open.oceanbase.com/softwareCenter/community 选择arm版本 |
mkdir /data/oceanbase tar -xzf oceanbase-all-in-one.4.0.0.0-beta-100120221102135736.el7.x86_64.tar.gz -C /data/oceanbase |
执行 ./install.sh |
复制配置文件到home路径,且cd ~ /data/oceanbase/oceanbase-all-in-one/obd/usr/obd/example |
|
obd cluster deploy lo -c mini-local-example.yaml |
obd cluster start lo |
obclient -h127.0.0.1 -P2881 -uroot -Doceanbase |
报错及处理方案: 问题1: open files must not be less than 20000 临时: 永久: vim /etc/profile ulimit -HSn 1048576 source /etc/profile |
问题2: 卡initial 通常不超过5分钟,如果超过5分钟,请检查资源 |
一些命令: obd cluster list 查看集群列表 obd cluster deploy <集群名称> 销毁集群 |
华为信创镜像: https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/ mv /etc/yum.repos.d/ /etc/yum.repos.d-bak mkdir /etc/yum.repos.d echo -e "[kunpeng]\nname=CentOS-kunpeng - Base - mirrors.huaweicloud.com\nbaseurl=https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/\ngpgcheck=0\nenabled=1" > /etc/yum.repos.d/CentOS-Base-kunpeng.repo 鲲鹏使能: https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/MongoDB/openmind_mangodb3613_03_0025.html |