國產(chǎn)數(shù)據(jù)庫達(dá)夢Dm8部署

1. 部署前工作
1.1 介質(zhì)下載
下載地址:https://www.dameng.com/list_103.html
結(jié)合服務(wù)器類型選擇對應(yīng)版本:

1.2 環(huán)境檢查
硬件環(huán)境要求
用戶應(yīng)根據(jù) DM 及應(yīng)用系統(tǒng)的需求來選擇合適的硬件配置,如 CPU 的指標(biāo)、內(nèi)存及磁盤容量等。檔次一般應(yīng)盡可能高一些,尤其是作為數(shù)據(jù)庫服務(wù)器的機(jī)器,基于 Java 的程序運(yùn)行時最好有較大的內(nèi)存。其它設(shè)備如 UPS 等在重要應(yīng)用中也應(yīng)考慮。下面給出安裝 DM 所需的硬件基本配置:
| 名稱 | 要求 |
|---|---|
| CPU | Intel Pentium4(建議 Pentium 41.6G 以上)處理器 |
| 內(nèi)存 | 256M(建議 512M 以上) |
| 硬盤 | 5G 以上可用空間 |
| 網(wǎng)卡 | 10M 以上支持 TCP/IP 協(xié)議的網(wǎng)卡 |
| 光驅(qū) | 32 倍速以上光驅(qū) |
軟件環(huán)境要求
| 名稱 | 要求 |
|---|---|
| 操作系統(tǒng) | Windows(簡體中文服務(wù)器版 sp2 以上)/Linux(glibc2.3 以上,內(nèi)核 2.6,已安裝 KDE/GNOME 桌面環(huán)境,建議預(yù)先安裝 UnixODBC 組件) |
| 網(wǎng)絡(luò)協(xié)議 | TCP/IP |
| 系統(tǒng)盤 | 至少 1G 以上的剩余空間 |
檢查 Linux(Unix)系統(tǒng)信息
如果用戶的 DM 軟件安裝包是經(jīng)過數(shù)字簽名的,請參照以下步驟進(jìn)行操作,其他情況請忽略此步驟。
軟件安裝包的數(shù)字簽名校驗(yàn):
導(dǎo)入達(dá)夢公司的公鑰,命令如下:
gpg --import dm-pub-key
將達(dá)夢公司的公鑰添加到絕對信任列表:
gpg --edit-key 武漢達(dá)夢數(shù)據(jù)庫有限公司 trust
驗(yàn)證達(dá)夢安裝包的數(shù)字簽名
gpg --verify dm.sign dm8_setup_xxx.iso
輸出結(jié)果是“完好的簽名”(“Good Signature”)則表示安裝包文件完好無損。
用戶在安裝 DM 前,需要檢查當(dāng)前操作系統(tǒng)的相關(guān)信息,確認(rèn) DM 安裝程序與當(dāng)前操作系統(tǒng)匹配,以保證 DM 能夠正確安裝和運(yùn)行。用戶可以使用以下命令檢查操作系統(tǒng)基本信息。如下圖所示:

獲取系統(tǒng)位數(shù):getconf LONG_BIT
查詢操作系統(tǒng)release信息:lsb_release -a
查詢系統(tǒng)信息:cat /etc/issue
查詢系統(tǒng)名稱:uname -a

1.3 創(chuàng)建安裝用戶
為了減少對操作系統(tǒng)的影響,用戶不應(yīng)該以 root 系統(tǒng)用戶來安裝和運(yùn)行 DM。用戶可以在安裝之前為 DM 創(chuàng)建一個專用的系統(tǒng)用戶。
創(chuàng)建安裝用戶組 dinstall
groupadd -g 12349 dinstall
創(chuàng)建安裝用戶 dmdba
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
初始化用戶密碼
passwd dmdba
注意:創(chuàng)建安裝系統(tǒng)用戶完成后,安裝手冊之后的操作默認(rèn)使用安裝系統(tǒng)用戶進(jìn)行操作。
1.4 Linux(Unix)下檢查操作系統(tǒng)限制
運(yùn)行 ulimit -a 進(jìn)行查詢

參數(shù)使用限制:
data seg size
data seg size (kbytes, -d)
建議用戶設(shè)置為 1048576(即 1GB)以上或 unlimited(無限制),此參數(shù)過小將導(dǎo)致數(shù)據(jù)庫啟動失敗。
file size
file size(blocks, -f)
建議用戶設(shè)置為 unlimited(無限制),此參數(shù)過小將導(dǎo)致數(shù)據(jù)庫安裝或初始化失敗。
open files
open files(-n)
建議用戶設(shè)置為 65536 以上或 unlimited(無限制)。
virtual memory
virtual memory (kbytes, -v)
建議用戶設(shè)置為 1048576(即 1GB)以上或 unlimited(無限制),此參數(shù)過小將導(dǎo)致數(shù)據(jù)庫啟動失敗。
如果用戶需要為當(dāng)前安裝用戶更改 ulimit 的資源限制,請修改文件/etc/security/limits.conf。
1.5 檢查系統(tǒng)內(nèi)存與存儲空間
檢查內(nèi)存
為了保證 DM 的正確安裝和運(yùn)行,要盡量保證操作系統(tǒng)至少 1GB 的可用內(nèi)存(RAM)。如果可用內(nèi)存過少,可能導(dǎo)致 DM 安裝或啟動失敗。用戶可以使用以下命令檢查操作內(nèi)存:
獲取內(nèi)存總大小
grep MemTotal /proc/meminfo
獲取交換分區(qū)大小
grep SwapTotal /proc/meminfo
獲取內(nèi)存使用詳情
free

1.6 .檢查存儲空間
DM 完全安裝需要 1GB 的存儲空間
查詢目錄/mount_point/dir_name可用空間
df -h /data/dm
DM 安裝程序在安裝時將產(chǎn)生臨時文件,臨時文件需要 1GB 的存儲空間,臨時文件目錄默認(rèn)為**/tmp**。用戶可以使用以下命令檢查存儲空間。如下圖所示:

如果/tmp 目錄不能保證 1GB 的存儲空間,用戶可以擴(kuò)展/tmp 目錄存儲空間或者通過設(shè)置環(huán)境變量 DM_INSTALL_TMPDIR 指定安裝程序的臨時目錄。具體命令如下所示:
mkdir -p /data/dm/dminstallDM_INSTALL_TMPDIR=/data/dm/dminstallexport DM_INSTALL_TMPDIR
1.7 檢查 NUMA
操作步驟
步驟 1: 以 root 用戶登陸。
步驟 2: 檢查操作系統(tǒng)版本。
# numastat# numactl --hardware
步驟 3: 查看 CPU。
# lscpu
步驟 4: 關(guān)閉 NUMA。
# vi /etc/default/grub
在 GRUB_CMDLINE_LINUX 參數(shù)的末尾增加 :numa=off
# cat /etc/default/grubGRUB_TIMEOUT=5GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"GRUB_DEFAULT=savedGRUB_DISABLE_SUBMENU=trueGRUB_TERMINAL_OUTPUT="console"GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/rootrd.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: 重啟操作系統(tǒng)。
# reboot
1.7 檢查 SELinux
操作步驟
步驟 1: 以 root 用戶登陸。
步驟 2: 檢查操作系統(tǒng) 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: 關(guān)閉透明大頁。
grubby --update-kernel=ALL --args="transparent_hugepage=never"
步驟 4: 重啟服務(wù)器。
1.9 檢查 sysctl.conf
操作步驟
步驟 1: 以 root 用戶登陸。
步驟 2: 檢查操作系統(tǒng)版本。
# vi /etc/sysctl.conf
fs.file-max = 6815744fs.aio-max-nr = 1048576kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 4194304net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576vm.swappiness = 0vm.dirty_background_ratio = 3vm.dirty_ratio = 80vm.dirty_expire_centisecs = 500vm.dirty_writeback_centisecs = 100參考參數(shù):# kernel.shmall = _PHYS_PAGES / 2 # See Shared Memory Pageskernel.shmall = 197951838# kernel.shmmax = kernel.shmall * PAGE_SIZEkernel.shmmax = 810810728448kernel.shmmni = 4096vm.overcommit_memory = 2 # See Segment Host Memory 確定可以為進(jìn)程分配多少內(nèi)存vm.overcommit_ratio = 95 # See Segment Host Memory 用于應(yīng)用程序進(jìn)程的 RAM 的百分比,其余部分保留給操作系統(tǒng)。在 Red Hat Enterprise Linux 上,默認(rèn)值為 50net.ipv4.ip_local_port_range = 10000 65535 # See Port Settingskernel.sem = 500 2048000 200 4096kernel.sysrq = 1kernel.core_uses_pid = 1kernel.msgmnb = 65536kernel.msgmax = 65536kernel.msgmni = 2048net.ipv4.tcp_syncookies = 1net.ipv4.conf.default.accept_source_route = 0net.ipv4.tcp_max_syn_backlog = 4096net.ipv4.conf.all.arp_filter = 1net.core.netdev_max_backlog = 10000net.core.rmem_max = 2097152net.core.wmem_max = 2097152vm.swappiness = 10vm.zone_reclaim_mode = 0vm.dirty_expire_centisecs = 500vm.dirty_writeback_centisecs = 100#more than 64GB of memoryvm.dirty_background_ratio = 0vm.dirty_ratio = 0vm.dirty_background_bytes = 1610612736 #1.5GBvm.dirty_bytes = 4294967296 # 4GB#64GB of memory or lessvm.dirty_background_ratio = 3vm.dirty_ratio = 10
計(jì)算方式:
kernel.shmall = ( _PHYS_PAGES / 2)kernel.shmmax = ( _PHYS_PAGES / 2) * PAGE_SIZEecho $(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 65536dmdba soft nofile 4096dmdba hard nofile 65536
2. 部署Dm8(開發(fā)版)
2.1 執(zhí)行軟件安裝
步驟1:安裝包準(zhǔn)備
mkdir -p /data/dm/dm_isounzip dm8_20231011_x86_rh6_64.zipmount dm8_20231011_x86_rh6_64.iso dm_iso

2.2 命令行安裝
步驟1:選擇安裝語言

步驟2:是否輸入Key文件路徑

步驟3:是否設(shè)置時區(qū)

步驟4:安裝類型選擇:選擇自定義安裝

步驟5:選擇安裝目錄

步驟6:安裝過程

步驟7:使用root命令執(zhí)行腳本


2.3 創(chuàng)建數(shù)據(jù)庫
使用dminit 工具創(chuàng)建數(shù)據(jù)庫,數(shù)據(jù)頁 PAGE_SIZE 大小為 16 K,默認(rèn)的數(shù)據(jù)庫名為 db_name=DAMENG
cd /data/dm/dmdbms/bin
./dminit PATH=/data/dm/dmdbms PAGE_SIZE=16
2.4 創(chuàng)建服務(wù)
cd /data/dm/dmdbms/script/root
./dm_service_installer.sh -t dmserver -dm_ini /data/dm/dmdbms/DAMENG/dm.ini -p DMSERVER

2.5 啟動數(shù)據(jù)庫
systemctl start DmServiceDMSERVER

3. 兼容性參數(shù)修改
修改參數(shù)文件,部分兼容MySQL
修改/data/dm/dmdbms/DAMENG/dm.ini文件

完成后重啟數(shù)據(jù)庫。
注:本文檔參考官方手冊進(jìn)行整理,如有錯誤歡迎溝通交流
2. mysql8.0新增用戶及加密規(guī)則修改的那些事
3. 比hive快10倍的大數(shù)據(jù)查詢利器-- presto
4. 監(jiān)控利器出鞘:Prometheus+Grafana監(jiān)控MySQL、Redis數(shù)據(jù)庫
5. PostgreSQL主從復(fù)制--物理復(fù)制
6. MySQL傳統(tǒng)點(diǎn)位復(fù)制在線轉(zhuǎn)為GTID模式復(fù)制
