目录
前言
这篇向导主要讲述了如何快速安装、初始化和运行一个人大金仓分析型数据库,包括操作的步骤和运行的命令等。包括:安装前准备–安装数据库的前期准备,如软件、硬件环境检查。
一、硬件环境检查
1、内存大小
内存最小值:16 GB
推荐值:128 GB
以上
可使用下面命令查看内存大小:
# grep MemTotal /proc/meminfo
swap 分区大小推荐为 16 GB
。
查看 swap
分区命令:
# grep SwapTotal /proc/meminfo
或使用 free 命令查看内存和 swap 分区大小。
2、CPU 架构
CPU 架构支持 x86_64、ARM等。
查看 CPU
架构命令:
# uname -m
3、硬盘容量检查
每台主机最少需要 300MB
来安装
数据库集群软件。生产环境中,需根据实际数据量大小选择合适的硬盘空间,推荐至少 16GB
以上。
查看硬盘存储命令:
# df -h
二、软件环境检查
1、操作系统要求
操作系统最低支持:
- CentOS 6.0 或者更高
- Red Hat Enterprise Linux(RHEL)6.0 或者更高
- Linx 6.0 或者更高
- iSoft Server OS 4.2 或者更高
- Kylin 3.2 或者更高
CentOS 和普华系统使用下面命令查看当前操作系统版本:
# cat /etc/redhat-release
凝思系统使用以下命令查看当前操作系统版本:
# cat /etc/linx-release
Kylin 系统使用以下命令查看当前操作系统版本:
# cat /etc/kylin-release
操作系统需要满足:
- 所有主机采用同一种操作系统
- 各主机 root 用户的 密码必须一致
2、内核版本
数据库支持的内核版本参见下表:
系统版本
|
内核版本
|
Red Hat Enterprise Linux 6
|
2.6.32-71.el6.x86_64 or later
|
Red Hat Enterprise Linux 7
|
3.10.0-54.0.1.el7.x86_64 or later
|
CentOS 6.0
|
2.6.32-71.el6.x86_64 or later
|
CentOS 7.0
|
3.10.0-54.0.1.el7.x86_64 or later
|
Linx 6.0
|
4.9.0-0.bpo.1-linx-security-amd64 or later
|
iSoft Server OS 4.2
|
3.10.0-957.21.3.el7.1.x86_64 or later
|
Kylin 3.2
|
2.6.32-754.ky3.kb3.pg.x86_64 or later
|
查看内核版本命令:
# uname -r
3、依赖包
数据库需要下面的依赖包:
bash
|
json-c
|
openssh
|
openssh-clients
|
perl
|
sed
|
sysstat
|
tar
|
vim-minimal
|
zip
|
xfsprogs
|
zlib
|
以上依赖包均整合在
数据库安装包中,不需要额外安装。如果依然存在依赖包缺失的情况可以使用 rpm
包方式安装相应的依赖包:
# rpm -ivh package_name
在凝思系统下也可以使用 deb
包方式安装相应的依赖包:
# dpkg -i package_name
4、文件系统推荐
推荐使用 XFS
文件系统。
XFS
主要特性包括以下几点:
数据完全性:采用
XFS
文件系统,宕机发生后,首先,由于文件系统开启了日志功能, 所以磁盘上的文件不会因意外宕机而损坏。不论目前文件系统上存储的文件与数据有多少, 文件系统都可以根据所记录的日志在很短的时间内迅速恢复磁盘文件内容。
传输特性:XFS
文件系统采用优化算法,日志记录对整体文件操作影响非常小。
XFS 查询与分配存储空间非常快。XFS
文件系统能连续提供快速的反应时间。
可扩展性:XFS
是一个全
64-bit
的文件系统,它可以支持上百万
T
字节的存储空间。 对特大文件及小尺寸文件的支持都表现出众,支持特大数量的目录。 最大可支持的文件大 小为 263 = 9 x 1018 = 9 exabytes
,最大文件系统尺寸为
18 exabytes
。 XFS 使用高的表结构(B+
树
)
,保证了文件系统可以快速搜索与快速空间分配。
XFS
能够持续提供高速操作, 文件系统的性能不受目录中目录及文件数量的限制。
传输带宽:XFS
能以接近裸设备
I/O
的性能存储数据。在单个文件系统的测试中,其吞吐量最高可达 7GB
每秒,对单个文件的读写操作,其吞吐量可达
4GB
每秒。
通过下面命令制作 XFS
文件系统。使用
root
用户:
mkfs.xfs devname
三、操作系统配置
1、关闭 SELinux 和防火墙
集群里所有主机均需要禁用 SELinux
。一般情况下,防火墙也要被禁用(例如在
RHEL6.x 、
CentOS 6.x
或者
Kylin 3.2
上,使用
iptables
服务)。如果需要安全考虑,可以使用防火墙软件,iptables
和
firewalld
的配置和使用请参照操作系统相关文档。
# systemctl stop firewalld
# systemctl disable firewalld
2、检查网络
生产环境里,
数据库集群里每台主机的网卡至少需要为千兆网卡。
使用下面命令查看网卡速度:
# ethtool devname
3、修改主机名和 hosts 文件
数据库推荐使用主机名来管理集群内部的主机。
CentOS 7x 、
Red Hat Enterprise Linux 7x
、
Linux
和普华系统使用
hostnamectl命令设置新主机名,需要 root
用户执行命令:
# hostnamectl set-hostname new_hostname
4、修改 hosts 文件
通常 Master
和
Standby Master
主机都配置外部
IP
和内部
IP
,也即内外网分离,外部 IP
不需要添加到
/etc/hosts
里。
Segment
主机可只配置内部
IP
。 所有主机的/etc/hosts 文件内容必须保持一致。下面的例子里,集群包含了
4
台主机:
192.168.2.113 mdw
192.168.2.114 sdw1
192.168.2.115 sdw2
192.168.2.116 sdw3
5、创建用户
不能以 root
身份启动
数据库。对于生产系统,建议: 指定一个系统帐号作为
数据库安装的属主。
# useradd -m -r mppadmin
# passwd mppadmin
New password: password
Retype new password: password
集群在部署高可用、配置 ODBC
驱动文件或使用
gpcgroup
工具管理
cgroup
时,系统用户 gpadmin
需要有
sudo
免密执行权限。
cat >> /etc/sudoers<<EOF
mppadmin ALL=(ALL) NOPASSWD:ALL
EOF
6、配置 ssh
数据库的管理工具如 gpinitsystem
、
gpexpand
等使用
SSH
完成各种管理任务。集群规模比较大时,若每台机器的 SSH
连接数超过允许的最大连接数,可能会出现错误如:ssh_exchange_identification:Connection closed by remote host。
MaxStartups 10:30:200
# service sshd restart
7、挂载硬盘
XFS 文件系统是
数据库的首选文件系统,在挂载系统前,需要设置如下选项:
rw,nodev,noatime,nobarrier,inode64,allocsize=16m
8、配置内核参数
使用 root
用户在配置文件
/etc/sysctl.conf
文件里追加下面参数:
kernel.shmmax = 500000000
kernel.shmmni = 4096
kernel.shmall = 4000000000
kernel.sem = 250 512000 100 2048
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_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.arp_filter = 1
net.ipv4.ip_local_port_range = 10000 65535
net.core.netdev_max_backlog = 10000
net.core.rmem_max = 2097152
net.core.wmem_max = 2097152
vm.overcommit_memory = 2
重启或执行下面命令生效:
# sysctl -p
9、配置 limit.conf
用户限制 - 操作系统的用户资源限制控制一个用户可以启动多少个进程。在
/etc/security/limits.conf
中设置
如下参数:
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
10、修改 IO 调度策略
系统的 IO
调度策略可以是:
CFQ
,
AS
和
deadline。对于数据库来说,需要设置成 deadline 调度策略。需要执行如下命令设置磁盘的调度策略,并重启系统。
# echo deadline > /sys/block/sbd/queue/scheduler
11、禁用 RemoveIPC
RHEL7.2 、 CenOS7.x 和普华系统,需要禁用
RemoveIPC
。默认的
systemd
设置是 RemoveIPC=yes,意味着当非系统用户登录退出时,删除
IPC
连接。这个会引起
数据库的 gpinitsystem
出错。
禁用 RemoveIPC
特性。在所有的
数据库主机上,修改
/etc/systemd/logind.conf文件, 添加如下参数:
RemoveIPC=no
当重启 systemd-login
服务,或者重启系统后,修改生效。使用如下命令重启这个服务,需要以 root
用户执行:
service systemd-logind restart
为确保上述所有参数配置生效,重启各台服务器。