• 【信创】麒麟v10(arm)-mysql8-mongo-redis-oceanbase


    Win10/Win11 借助qume模拟器安装arm64麒麟v10
    前言

        近两年的国产化进程一直在推进,基于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

    安装虚拟机

    步骤

    1. 镜像获取

    银河麒麟v10下载(服务器版 桌面版) - 2022-11-24更新_银河麒麟v10镜像iso下载-CSDN博客

    1. 安装 qume

    https://qemu.weilnetz.de/w64/2021/qemu-w64-setup-20210505.exe

    直接安装,没有硬性要求

    1. 创建一个虚拟环境

    qemu-img create -f qcow2 E:\kylin\kylindisk.qcow2 40G

    1. 安装

    注意替换路径

    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

    1. 启动(不用指定镜像位置)

    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

    安装mysql
    1. 安装包获取(可以直接使用提供的)

    根据资料与实际测试,发现

    8.0.33-1.el8.aarch64 版本最合适,该版本可以直接通过官网获取。

    1. 安装:

    实测在模拟环境中,需要以下依赖(可以借助在能连接外网的环境下,使用yundownloader获得)

    依次rpm 安装依赖包

    然后rpm mysql系列的包

    1. 修改安装包位置

    mv -f /var/lib/mysql /data/      -----> 放到本地挂载硬盘中

    ln -s  /data/mysql/ /var/lib/mysql

    如果遇到权限问题,记得

    chown -R mysql:mysql   /data/mysql

    1. 实测arm版本不需要初始化

    mysqld --initialize --console

    1. 获取临时密码

    grep  'temporary password' /var/log/mysqld.log |awk -F ' root@localhost: ' '{print $2}'

    1. 修改root密码: mysql -uroot -p 输出临时密码

    ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '你的密码';

    flush privileges;

    然后退出重新登录

    1. 创建root@%

    Use mysql;

    CREATE USER ‘root’@'%' IDENTIFIED WITH mysql_native_password BY ‘你的密码’

    GRANT ALL ON *.* TO 'root'@'%';

    flush privileges;  

    安装mongo
    1. 获取安装包

    https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/mongo-4.0.6-1.el7.aarch64.rpm

    https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/mongodb-tools-4.0.6-1.aarch64.rpm

    1. 安装

    rpm -ivh mongo-4.0.6-1.el7.aarch64.rpm

    rpm -ivh mongodb-tools-4.0.6-1.aarch64.rpm

    1. 配置

    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

    1. 编辑脚本

     vim /etc/profile.d/mongodb.sh

    #mongoDB

    export MONGODB_HOME=/usr/local/mongo

    export PATH=$PATH:$MONGODB_HOME/bin

    1. source /etc/profile
    1. vim /etc/systemd/system/mongodb.service

    [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

    安装redis

    0 获取安装包

    华为开源镜像站_软件开发服务_华为云 arm类别 华为鲲鹏 依次去找,或者直接下载如下地址

    wget https://repo.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/bigdata/redis-5.0.5-1.el7.aarch64.rpm

    1. 安装

    rpm -ivh redis-5.0.5-1.el7.aarch64.rpm

    1. 配置

    vim /etc/redis.conf

    将bind 127.0.0.1 改成了 bind 0.0.0.0

    把6379改成自己想要的端口

    启动守护进程

    daemonize no 改为 daemonize yes

    修改Redis密码

    requirepass foobared 改为  requirepass 你的密码

    1. 启动

    redis-server /etc/redis.conf

    1. 登录

    redis-cli

    auth 你的密码

    安装OceanBase社区版

    0 获取安装包(OceanBase All in One)

    https://open.oceanbase.com/softwareCenter/community

    选择arm版本

    1. 解压到 /data/oceanbase/oceanbase-all-in-one

    mkdir /data/oceanbase

    tar -xzf oceanbase-all-in-one.4.0.0.0-beta-100120221102135736.el7.x86_64.tar.gz -C /data/oceanbase

    1. 切换到 /data/oceanbase

    执行 ./install.sh

    1. cp mini-local-example.yaml ~

    复制配置文件到home路径,且cd ~

    /data/oceanbase/oceanbase-all-in-one/obd/usr/obd/example

    1. 按需修改配置
    1. 部署单机版本

    obd cluster deploy lo -c mini-local-example.yaml

    1. 启动

    obd cluster start lo

    1. 登录

    obclient -h127.0.0.1 -P2881 -uroot -Doceanbase

    报错及处理方案:

    问题1: open files must not be less than 20000

    临时:
    echo 1048576 > /proc/sys/fs/file-max 和 ulimit -HSn 1048576

    永久:

    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

  • 相关阅读:
    iptables实现docker容器动态端口映射实操
    Elasticsearch docker-compose 使用 Logstash 从 JSON 文件中预加载数据
    LVGL学习笔记
    node.js学习之数据库及基本操作、SQL语句
    SQL 插入数据库表(表名为动态表名@tablename+年+月)
    21.Python函数(六)【函数式编程 下半篇】
    流水的数字内容,铁打的内容风控
    微信转账到零钱2种实现方式,SDK和API对接
    记录一次脚本安装程序
    2024上海国际合成生物学与绿色生物制造展览会8月7-9号上海举办
  • 原文地址:https://blog.csdn.net/qq_26834611/article/details/133342783