• 国产数据库达梦Dm8部署


    点击上方蓝字关注我

    b0a1884b5d164bd9e0151172103c209c.png

    ea880c8905d355ba0eea6369c41f8423.png


    1.  部署前工作

    1.1 介质下载

    下载地址:https://www.dameng.com/list_103.html

    结合服务器类型选择对应版本:

    4766bf7aa701dfc27f44d1e1cbf65aff.png

    1.2 环境检查

    硬件环境要求

    用户应根据 DM 及应用系统的需求来选择合适的硬件配置,如 CPU 的指标、内存及磁盘容量等。档次一般应尽可能高一些,尤其是作为数据库服务器的机器,基于 Java 的程序运行时最好有较大的内存。其它设备如 UPS 等在重要应用中也应考虑。下面给出安装 DM 所需的硬件基本配置:

    名称要求
    CPUIntel Pentium4(建议 Pentium 41.6G 以上)处理器
    内存256M(建议 512M 以上)
    硬盘5G 以上可用空间
    网卡10M 以上支持 TCP/IP 协议的网卡
    光驱32 倍速以上光驱

    软件环境要求

    名称要求
    操作系统Windows(简体中文服务器版 sp2 以上)/Linux(glibc2.3 以上,内核 2.6,已安装 KDE/GNOME 桌面环境,建议预先安装 UnixODBC 组件)
    网络协议TCP/IP
    系统盘至少 1G 以上的剩余空间
    检查 Linux(Unix)系统信息

    如果用户的 DM 软件安装包是经过数字签名的,请参照以下步骤进行操作,其他情况请忽略此步骤。

    软件安装包的数字签名校验:

    导入达梦公司的公钥,命令如下:

    gpg --import dm-pub-key

    将达梦公司的公钥添加到绝对信任列表:

    gpg --edit-key 武汉达梦数据库有限公司 trust

    验证达梦安装包的数字签名

    gpg --verify dm.sign dm8_setup_xxx.iso

     输出结果是“完好的签名”(“Good Signature”)则表示安装包文件完好无损。

    用户在安装 DM 前,需要检查当前操作系统的相关信息,确认 DM 安装程序与当前操作系统匹配,以保证 DM 能够正确安装和运行。用户可以使用以下命令检查操作系统基本信息。如下图所示:

    5972a19ca409192b9b4f59f46edd0f3e.png

    获取系统位数:getconf LONG_BIT

    查询操作系统release信息:lsb_release -a

    查询系统信息:cat /etc/issue

    查询系统名称:uname -a

    45c885ebedc521d78a02928fe9a7be24.png

    1.3 创建安装用户

    为了减少对操作系统的影响,用户不应该以 root 系统用户来安装和运行 DM。用户可以在安装之前为 DM 创建一个专用的系统用户。

    创建安装用户组 dinstall

    groupadd -g 12349 dinstall

    创建安装用户 dmdba

    useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

    初始化用户密码

    passwd dmdba

    注意:创建安装系统用户完成后,安装手册之后的操作默认使用安装系统用户进行操作。

    1.4 Linux(Unix)下检查操作系统限制

    运行 ulimit -a 进行查询

    8bd784195262d74fd0d2aed2f1dee3f2.png

    参数使用限制:

    data seg size

    data seg size (kbytes, -d)

    建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小将导致数据库启动失败。

    file size

    file size(blocks, -f)

    建议用户设置为 unlimited(无限制),此参数过小将导致数据库安装或初始化失败。

     open files

    open files(-n)

    建议用户设置为 65536 以上或 unlimited(无限制)。

    virtual memory

    virtual memory (kbytes, -v)

    建议用户设置为 1048576(即 1GB)以上或 unlimited(无限制),此参数过小将导致数据库启动失败。

    如果用户需要为当前安装用户更改 ulimit 的资源限制,请修改文件/etc/security/limits.conf。

    1.5 检查系统内存与存储空间

    检查内存

    为了保证 DM 的正确安装和运行,要尽量保证操作系统至少 1GB 的可用内存(RAM)。如果可用内存过少,可能导致 DM 安装或启动失败。用户可以使用以下命令检查操作内存:

    获取内存总大小
    grep MemTotal /proc/meminfo
    获取交换分区大小
    grep SwapTotal /proc/meminfo
    获取内存使用详情
    free

    0ac63219b55858254740c0d55bbf6310.png

    1.6 .检查存储空间

    DM 完全安装需要 1GB 的存储空间

    查询目录/mount_point/dir_name可用空间
    df -h /data/dm

    DM 安装程序在安装时将产生临时文件,临时文件需要 1GB 的存储空间,临时文件目录默认为**/tmp**。用户可以使用以下命令检查存储空间。如下图所示:

    de351cedd885ce6c907f66eeea2a1b6b.png

    如果/tmp 目录不能保证 1GB 的存储空间,用户可以扩展/tmp 目录存储空间或者通过设置环境变量 DM_INSTALL_TMPDIR 指定安装程序的临时目录。具体命令如下所示:

    1. mkdir -p /data/dm/dminstall
    2. DM_INSTALL_TMPDIR=/data/dm/dminstall
    3. export DM_INSTALL_TMPDIR

    1.7 检查 NUMA

    操作步骤

    步骤 1: 以 root 用户登陆。

    步骤 2: 检查操作系统版本。

    1. # numastat
    2. # numactl --hardware

    步骤 3: 查看 CPU。

    # lscpu

    步骤 4: 关闭 NUMA。

    # vi /etc/default/grub

    在 GRUB_CMDLINE_LINUX 参数的末尾增加 :numa=off

    1. # cat /etc/default/grub
    2. GRUB_TIMEOUT=5
    3. GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
    4. GRUB_DEFAULT=saved
    5. GRUB_DISABLE_SUBMENU=true
    6. GRUB_TERMINAL_OUTPUT="console"
    7. GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root
    8. rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never numa=off "
    9. GRUB_DISABLE_RECOVERY="true"

    步骤 5: 重置 grub 配置文件。

    # grub2-mkconfig -o /boot/grub2/grub.cfg

    步骤 6: 重启操作系统。

    # reboot

    1.7 检查 SELinux

    操作步骤

    步骤 1: 以 root 用户登陆。

    步骤 2: 检查操作系统 selinux。

    1. # vi /etc/selinux/config
    2. # SELINUX=disabled

    步骤 3: 生效。

    # etenforce 0

    1.8  检查 Transparent HugePages

    步骤 1: 以 root 用户登陆。

    步骤2:检查是否开启 TH。

    1. # grep AnonHugePages /proc/meminfo
    2. # cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
    3. # cat /sys/kernel/mm/redhat_transparent_hugepage/defrag

    步骤 3: 关闭透明大页。

    # grubby --update-kernel=ALL --args="transparent_hugepage=never"

    步骤 4: 重启服务器。

    1.9 检查 sysctl.conf

    操作步骤

    步骤 1: 以 root 用户登陆。

    步骤 2: 检查操作系统版本。

    # vi /etc/sysctl.conf

    1. fs.file-max = 6815744
    2. fs.aio-max-nr = 1048576
    3. kernel.shmall = 2097152
    4. kernel.shmmax = 2147483648
    5. kernel.shmmni = 4096
    6. kernel.sem = 250 32000 100 128
    7. net.ipv4.ip_local_port_range = 9000 65500
    8. net.core.rmem_default = 4194304
    9. net.core.rmem_max = 4194304
    10. net.core.wmem_default = 262144
    11. net.core.wmem_max = 1048576vm.swappiness = 0
    12. vm.dirty_background_ratio = 3
    13. vm.dirty_ratio = 80
    14. vm.dirty_expire_centisecs = 500
    15. vm.dirty_writeback_centisecs = 100
    16. 参考参数:
    17. # kernel.shmall = _PHYS_PAGES / 2 # See Shared Memory Pages
    18. kernel.shmall = 197951838
    19. # kernel.shmmax = kernel.shmall * PAGE_SIZE
    20. kernel.shmmax = 810810728448
    21. kernel.shmmni = 4096
    22. vm.overcommit_memory = 2 # See Segment Host Memory 确定可以为进程分配多少内
    23. vm.overcommit_ratio = 95 # See Segment Host Memory 用于应用程序进程的 RAM 的
    24. 百分比,其余部分保留给操作系统。在 Red Hat Enterprise Linux 上,默认值为 50
    25. net.ipv4.ip_local_port_range = 10000 65535 # See Port Settings
    26. kernel.sem = 500 2048000 200 4096
    27. kernel.sysrq = 1
    28. kernel.core_uses_pid = 1
    29. kernel.msgmnb = 65536
    30. kernel.msgmax = 65536
    31. kernel.msgmni = 2048
    32. net.ipv4.tcp_syncookies = 1
    33. net.ipv4.conf.default.accept_source_route = 0
    34. net.ipv4.tcp_max_syn_backlog = 4096
    35. net.ipv4.conf.all.arp_filter = 1
    36. net.core.netdev_max_backlog = 10000
    37. net.core.rmem_max = 2097152
    38. net.core.wmem_max = 2097152
    39. vm.swappiness = 10
    40. vm.zone_reclaim_mode = 0
    41. vm.dirty_expire_centisecs = 500vm.dirty_writeback_centisecs = 100
    42. #more than 64GB of memory
    43. vm.dirty_background_ratio = 0
    44. vm.dirty_ratio = 0
    45. vm.dirty_background_bytes = 1610612736 #1.5GB
    46. vm.dirty_bytes = 4294967296 # 4GB
    47. #64GB of memory or less
    48. vm.dirty_background_ratio = 3
    49. vm.dirty_ratio = 10

    计算方式:

    1. kernel.shmall = ( _PHYS_PAGES / 2)
    2. kernel.shmmax = ( _PHYS_PAGES / 2) * PAGE_SIZE
    3. echo $(expr $(getconf _PHYS_PAGES) / 2)
    4. echo $(expr $(getconf _PHYS_PAGES) / 2 \* $(getconf PAGE_SIZE))

    步骤 3: 生效。

    # sysctl -p

    1.10 检查 limit.conf

    操作步骤

    步骤 1: 以 root 用户登陆。

    步骤 2: 修改配置文件。

    1. # vi /etc/security/limits.conf
    2. * soft nproc 65536
    3. * hard nproc 65536
    4. * soft nofile 65536
    5. * hard nofile 65536
    6. dmdba soft nofile 4096
    7. dmdba hard nofile 65536

    2. 部署Dm8(开发版)

    2.1 执行软件安装

    步骤1:安装包准备

    1. mkdir -p /data/dm/dm_iso
    2. unzip dm8_20231011_x86_rh6_64.zip
    3. mount dm8_20231011_x86_rh6_64.iso dm_iso

    3f0dc963cb3e9fe2b51a8b0c1e15f9e9.png

    2.2 命令行安装

    步骤1:选择安装语言

    77261b85cbeda9757a3c04341ef7b03e.png

    步骤2:是否输入Key文件路径

    7fa91a6cb5ac9006d3fa59965ad93e8a.png

    步骤3:是否设置时区

    6e492f375e778e9f0d79d75c07aac576.png

    步骤4:安装类型选择:选择自定义安装

    09874b3724b13aa1a71e0c94183d5989.png

    步骤5:选择安装目录

    1bf8cef445eb7c8ec8becc1c1093a3fd.png

    步骤6:安装过程

    3f9e8b7101e39a55a6a25c6e192868ab.png

    步骤7:使用root命令执行脚本

    8262c3517e5b60cab2c3177c3200827b.png

    29bbad1ebf48ebedb131ee250ca81d79.png

    2.3  创建数据库

    使用dminit 工具创建数据库,数据页 PAGE_SIZE 大小为 16 K,默认的数据库名为 db_name=DAMENG

    cd  /data/dm/dmdbms/bin

    ./dminit PATH=/data/dm/dmdbms PAGE_SIZE=16

    2.4  创建服务

    cd    /data/dm/dmdbms/script/root

    ./dm_service_installer.sh -t dmserver -dm_ini /data/dm/dmdbms/DAMENG/dm.ini -p DMSERVER

    9f619c6510fa3f527d437bffea710eaf.png

    2.5 启动数据库

    systemctl  start DmServiceDMSERVER

    5775e7e174f36992063c1cbd959924a0.png



    3. 兼容性参数修改

    修改参数文件,部分兼容MySQL

    修改/data/dm/dmdbms/DAMENG/dm.ini文件

    7691434a388c269396c477f446c8123c.png

    完成后重启数据库。

    注:本文档参考官方手册进行整理,如有错误欢迎沟通交流

    3a0184357a5a8d27ba05b0e2d659a145.png

    往期精彩回顾

    1.  MySQL高可用之MHA集群部署

    2.  mysql8.0新增用户及加密规则修改的那些事

    3.  比hive快10倍的大数据查询利器-- presto

    4.  监控利器出鞘:Prometheus+Grafana监控MySQL、Redis数据库

    5.  PostgreSQL主从复制--物理复制

    6.  MySQL传统点位复制在线转为GTID模式复制

    7.  MySQL敏感数据加密及解密

    8.  MySQL数据备份及还原(一)

    9.  MySQL数据备份及还原(二)

    a3fe2cf801950bd19fdf6f2779a31c88.png

    扫码关注     

    475e2f6399b74307a04121a24733c8ab.jpeg

    d74bb1b0d11c0bfbe55af07b6aadae98.png

    e11f857d5004b391f1f3102e5e8d42bd.png

  • 相关阅读:
    Python获取列表list中的非零数据、第一个非零元素、最后一个非零元素
    万字整理 | 深入理解工作队列
    vue3输入单号和张数,自动生成连号的单号
    Windows系统冗余log的清理bat脚本
    【ES6】
    使用 HTML CSS 和 JavaScript 创建星级评分系统
    Part-DB 配置流程
    大会技术“硬核”资讯来啦!点击预约 IoTDB 现场一对一调优咨询服务
    微服务实战微服务网关Zuul入门与实战
    python setup.py bdist_wheel 报错的处理办法
  • 原文地址:https://blog.csdn.net/gjc592/article/details/134067857