國(guó)產(chǎn)數(shù)據(jù)庫(kù)達(dá)夢(mèng)Dm8部署,看這篇就夠了
一、部署前工作
1、介質(zhì)下載
下載地址:https://www.dameng.com/list_103.html
結(jié)合服務(wù)器類(lèi)型選擇對(duì)應(yīng)版本:
2、環(huán)境檢查
硬件環(huán)境要求
用戶(hù)應(yīng)根據(jù) DM 及應(yīng)用系統(tǒng)的需求來(lái)選擇合適的硬件配置,如 CPU 的指標(biāo)、內(nèi)存及磁盤(pán)容量等。檔次一般應(yīng)盡可能高一些,尤其是作為數(shù)據(jù)庫(kù)服務(wù)器的機(jī)器,基于 Java 的程序運(yùn)行時(shí)最好有較大的內(nèi)存。其它設(shè)備如 UPS 等在重要應(yīng)用中也應(yīng)考慮。下面給出安裝 DM 所需的硬件基本配置:
名稱(chēng) | 要求 |
CPU | Intel Pentium4(建議 Pentium 41.6G 以上)處理器 |
內(nèi)存 | 256M(建議 512M 以上) |
硬盤(pán) | 5G 以上可用空間 |
網(wǎng)卡 | 10M 以上支持 TCP/IP 協(xié)議的網(wǎng)卡 |
光驅(qū) | 32 倍速以上光驅(qū) |
軟件環(huán)境要求
名稱(chēng) | 要求 |
操作系統(tǒng) | Windows(簡(jiǎn)體中文服務(wù)器版 sp2 以上)/Linux(glibc2.3 以上,內(nèi)核 2.6,已安裝 KDE/GNOME 桌面環(huán)境,建議預(yù)先安裝 UnixODBC 組件) |
網(wǎng)絡(luò)協(xié)議 | TCP/IP |
系統(tǒng)盤(pán) | 至少 1G 以上的剩余空間 |
檢查 Linux(Unix)系統(tǒng)信息
如果用戶(hù)的 DM 軟件安裝包是經(jīng)過(guò)數(shù)字簽名的,請(qǐng)參照以下步驟進(jìn)行操作,其他情況請(qǐng)忽略此步驟。
軟件安裝包的數(shù)字簽名校驗(yàn):
導(dǎo)入達(dá)夢(mèng)公司的公鑰,命令如下:
gpg --import dm-pub-key
將達(dá)夢(mèng)公司的公鑰添加到絕對(duì)信任列表:
gpg --edit-key 武漢達(dá)夢(mèng)數(shù)據(jù)庫(kù)有限公司 trust
驗(yàn)證達(dá)夢(mèng)安裝包的數(shù)字簽名
gpg --verify dm.sign dm8_setup_xxx.iso
輸出結(jié)果是“完好的簽名”(“Good Signature”)則表示安裝包文件完好無(wú)損。
用戶(hù)在安裝 DM 前,需要檢查當(dāng)前操作系統(tǒng)的相關(guān)信息,確認(rèn) DM 安裝程序與當(dāng)前操作系統(tǒng)匹配,以保證 DM 能夠正確安裝和運(yùn)行。用戶(hù)可以使用以下命令檢查操作系統(tǒng)基本信息。如下圖所示:
- 獲取系統(tǒng)位數(shù):getconf LONG_BIT
- 查詢(xún)操作系統(tǒng)release信息:lsb_release -a
- 查詢(xún)系統(tǒng)信息:cat /etc/issue
- 查詢(xún)系統(tǒng)名稱(chēng):uname -a
3、創(chuàng)建安裝用戶(hù)
為了減少對(duì)操作系統(tǒng)的影響,用戶(hù)不應(yīng)該以 root 系統(tǒng)用戶(hù)來(lái)安裝和運(yùn)行 DM。用戶(hù)可以在安裝之前為 DM 創(chuàng)建一個(gè)專(zhuān)用的系統(tǒng)用戶(hù)。
創(chuàng)建安裝用戶(hù)組 dinstall
groupadd -g 12349 dinstall
創(chuàng)建安裝用戶(hù) dmdba
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
初始化用戶(hù)密碼
passwd dmdba
注意:創(chuàng)建安裝系統(tǒng)用戶(hù)完成后,安裝手冊(cè)之后的操作默認(rèn)使用安裝系統(tǒng)用戶(hù)進(jìn)行操作。
4、Linux(Unix)下檢查操作系統(tǒng)限制
運(yùn)行 ulimit -a 進(jìn)行查詢(xún):
參數(shù)使用限制:
data seg size
data seg size (kbytes, -d)
建議用戶(hù)設(shè)置為 1048576(即 1GB)以上或 unlimited(無(wú)限制),此參數(shù)過(guò)小將導(dǎo)致數(shù)據(jù)庫(kù)啟動(dòng)失敗。
file size
file size(blocks, -f)
建議用戶(hù)設(shè)置為 unlimited(無(wú)限制),此參數(shù)過(guò)小將導(dǎo)致數(shù)據(jù)庫(kù)安裝或初始化失敗。
open files
open files(-n)
建議用戶(hù)設(shè)置為 65536 以上或 unlimited(無(wú)限制)。
virtual memory
virtual memory (kbytes, -v)
建議用戶(hù)設(shè)置為 1048576(即 1GB)以上或 unlimited(無(wú)限制),此參數(shù)過(guò)小將導(dǎo)致數(shù)據(jù)庫(kù)啟動(dòng)失敗。
如果用戶(hù)需要為當(dāng)前安裝用戶(hù)更改 ulimit 的資源限制,請(qǐng)修改文件/etc/security/limits.conf。
5、檢查系統(tǒng)內(nèi)存與存儲(chǔ)空間
檢查內(nèi)存
為了保證 DM 的正確安裝和運(yùn)行,要盡量保證操作系統(tǒng)至少 1GB 的可用內(nèi)存(RAM)。如果可用內(nèi)存過(guò)少,可能導(dǎo)致 DM 安裝或啟動(dòng)失敗。用戶(hù)可以使用以下命令檢查操作內(nèi)存:
獲取內(nèi)存總大小
grep MemTotal /proc/meminfo
獲取交換分區(qū)大小
grep SwapTotal /proc/meminfo
free
6、檢查存儲(chǔ)空間
DM 完全安裝需要 1GB 的存儲(chǔ)空間
查詢(xún)目錄/mount_point/dir_name可用空間
df -h /data/dm
DM 安裝程序在安裝時(shí)將產(chǎn)生臨時(shí)文件,臨時(shí)文件需要 1GB 的存儲(chǔ)空間,臨時(shí)文件目錄默認(rèn)為**/tmp**。用戶(hù)可以使用以下命令檢查存儲(chǔ)空間。如下圖所示:
如果/tmp 目錄不能保證 1GB 的存儲(chǔ)空間,用戶(hù)可以擴(kuò)展/tmp 目錄存儲(chǔ)空間或者通過(guò)設(shè)置環(huán)境變量 DM_INSTALL_TMPDIR 指定安裝程序的臨時(shí)目錄。具體命令如下所示:
mkdir -p /data/dm/dminstall
DM_INSTALL_TMPDIR=/data/dm/dminstall
export DM_INSTALL_TMPDIR
7、檢查 NUMA
操作步驟:
步驟 1: 以 root 用戶(hù)登陸。
步驟 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/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: 重啟操作系統(tǒng)。
# reboot
8、檢查 SELinux
操作步驟:
步驟 1: 以 root 用戶(hù)登陸。
步驟 2: 檢查操作系統(tǒng) selinux。
# vi /etc/selinux/config
# SELINUX=disabled
步驟 3: 生效。
# etenforce 0
9、檢查 Transparent HugePages
步驟 1: 以 root 用戶(hù)登陸。
步驟2:檢查是否開(kāi)啟 TH。
# grep AnonHugePages /proc/meminfo
# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
# cat /sys/kernel/mm/redhat_transparent_hugepage/defrag
步驟 3: 關(guān)閉透明大頁(yè)。
# grubby --update-kernel=ALL --args="transparent_hugepage=never"
步驟 4: 重啟服務(wù)器。
10、檢查 sysctl.conf
操作步驟:
步驟 1: 以 root 用戶(hù)登陸。
步驟 2: 檢查操作系統(tǒng)版本。
# 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
參考參數(shù):
# 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 確定可以為進(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)值為 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
計(jì)算方式:
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
11、檢查 limit.conf
操作步驟:
步驟 1: 以 root 用戶(hù)登陸。
步驟 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
二、部署Dm8(開(kāi)發(fā)版)
1、執(zhí)行軟件安裝
步驟1:安裝包準(zhǔn)備。
mkdir -p /data/dm/dm_iso
unzip dm8_20231011_x86_rh6_64.zip
mount dm8_20231011_x86_rh6_64.iso dm_iso
2、命令行安裝
步驟1:選擇安裝語(yǔ)言。
步驟2:是否輸入Key文件路徑。
步驟3:是否設(shè)置時(shí)區(qū)。
步驟4:安裝類(lèi)型選擇:選擇自定義安裝。
步驟5:選擇安裝目錄。
步驟6:安裝過(guò)程。
步驟7:使用root命令執(zhí)行腳本。
3、創(chuàng)建數(shù)據(jù)庫(kù)
使用dminit 工具創(chuàng)建數(shù)據(jù)庫(kù),數(shù)據(jù)頁(yè) PAGE_SIZE 大小為 16 K,默認(rèn)的數(shù)據(jù)庫(kù)名為 db_name=DAMENGcd /data/dm/dmdbms/bin./dminit PATH=/data/dm/dmdbms PAGE_SIZE=16
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
5、啟動(dòng)數(shù)據(jù)庫(kù)
systemctl start DmServiceDMSERVER
三、兼容性參數(shù)修改
修改參數(shù)文件,部分兼容MySQL
修改/data/dm/dmdbms/DAMENG/dm.ini文件。
完成后重啟數(shù)據(jù)庫(kù)。
注:本文檔參考官方手冊(cè)進(jìn)行整理。