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

国产数据库达梦Dm8部署

数据库干货铺 2023-10-27
470
点击上方蓝字关注我


1.  部署前工作

1.1 介质下载

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

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

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 能够正确安装和运行。用户可以使用以下命令检查操作系统基本信息。如下图所示:


        获取系统位数:getconf LONG_BIT

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

        查询系统信息:cat etc/issue

        查询系统名称:uname -a



        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 进行查询


              参数使用限制:

              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


                    1.6 .检查存储空间

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

                    查询目录/mount_point/dir_name可用空间


                      df -h data/dm

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

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


                        mkdir -p data/dm/dminstall


                        DM_INSTALL_TMPDIR=/data/dm/dminstall
                        export DM_INSTALL_TMPDIR


                        1.7 检查 NUMA

                        操作步骤

                        步骤 1: 以 root 用户登陆。

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

                          # numastat
                          # numactl --hardware

                          步骤 3: 查看 CPU。

                            # lscpu

                            步骤 4: 关闭 NUMA。

                              # vi etc/default/grub

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

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

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

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

                                  步骤 6: 重启操作系统。

                                    # reboot

                                    1.7 检查 SELinux

                                    操作步骤

                                    步骤 1: 以 root 用户登陆。

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

                                      # vi etc/selinux/config
                                      # SELINUX=disabled

                                      步骤 3: 生效。

                                        # etenforce 0

                                        1.8  检查 Transparent HugePages

                                        步骤 1: 以 root 用户登陆。

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

                                          # grep AnonHugePages proc/meminfo
                                          # cat sys/kernel/mm/redhat_transparent_hugepage/enabled
                                          # 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

                                              fs.file-max = 6815744
                                              fs.aio-max-nr = 1048576
                                              kernel.shmall = 2097152
                                              kernel.shmmax = 2147483648
                                              kernel.shmmni = 4096
                                              kernel.sem = 250 32000 100 128
                                              net.ipv4.ip_local_port_range = 9000 65500
                                              net.core.rmem_default = 4194304
                                              net.core.rmem_max = 4194304
                                              net.core.wmem_default = 262144
                                              net.core.wmem_max = 1048576vm.swappiness = 0
                                              vm.dirty_background_ratio = 3
                                              vm.dirty_ratio = 80
                                              vm.dirty_expire_centisecs = 500
                                              vm.dirty_writeback_centisecs = 100
                                              参考参数:
                                              # kernel.shmall = _PHYS_PAGES / 2 # See Shared Memory Pages
                                              kernel.shmall = 197951838
                                              # kernel.shmmax = kernel.shmall * PAGE_SIZE
                                              kernel.shmmax = 810810728448
                                              kernel.shmmni = 4096
                                              vm.overcommit_memory = 2 # See Segment Host Memory 确定可以为进程分配多少内

                                              vm.overcommit_ratio = 95 # See Segment Host Memory 用于应用程序进程的 RAM 的
                                              百分比,其余部分保留给操作系统。在 Red Hat Enterprise Linux 上,默认值为 50
                                              net.ipv4.ip_local_port_range = 10000 65535 # See Port Settings
                                              kernel.sem = 500 2048000 200 4096
                                              kernel.sysrq = 1
                                              kernel.core_uses_pid = 1
                                              kernel.msgmnb = 65536
                                              kernel.msgmax = 65536
                                              kernel.msgmni = 2048
                                              net.ipv4.tcp_syncookies = 1
                                              net.ipv4.conf.default.accept_source_route = 0
                                              net.ipv4.tcp_max_syn_backlog = 4096
                                              net.ipv4.conf.all.arp_filter = 1
                                              net.core.netdev_max_backlog = 10000
                                              net.core.rmem_max = 2097152
                                              net.core.wmem_max = 2097152
                                              vm.swappiness = 10
                                              vm.zone_reclaim_mode = 0
                                              vm.dirty_expire_centisecs = 500vm.dirty_writeback_centisecs = 100
                                              #more than 64GB of memory
                                              vm.dirty_background_ratio = 0
                                              vm.dirty_ratio = 0
                                              vm.dirty_background_bytes = 1610612736 #1.5GB
                                              vm.dirty_bytes = 4294967296 # 4GB
                                              #64GB of memory or less
                                              vm.dirty_background_ratio = 3
                                              vm.dirty_ratio = 10

                                              计算方式:

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

                                                步骤 3: 生效。

                                                  # sysctl -p

                                                  1.10 检查 limit.conf

                                                  操作步骤

                                                  步骤 1: 以 root 用户登陆。

                                                  步骤 2: 修改配置文件。

                                                    # vi /etc/security/limits.conf
                                                    * soft nproc 65536
                                                    * hard nproc 65536
                                                    * soft nofile 65536
                                                    * hard nofile 65536
                                                    dmdba soft nofile 4096
                                                    dmdba hard nofile 65536




                                                    2. 部署Dm8(开发版)

                                                    2.1 执行软件安装

                                                    步骤1:安装包准备

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

                                                      2.2 命令行安装

                                                      步骤1:选择安装语言

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

                                                      步骤3:是否设置时区

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

                                                      步骤5:选择安装目录

                                                      步骤6:安装过程

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

                                                      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


                                                      2.5 启动数据库

                                                      systemctl  start DmServiceDMSERVER



                                                      3. 兼容性参数修改

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

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

                                                      完成后重启数据库。


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




                                                      往期精彩回顾

                                                      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数据备份及还原(二)

                                                      扫码关注     


                                                      文章转载自数据库干货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                      评论