人大金仓分析型数据库安装指南(一)

​​​

目录

​​​

前言

一、硬件环境检查

1、内存大小

2、CPU 架构

3、硬盘容量检查

二、软件环境检查

1、操作系统要求

2、内核版本

3、依赖包

4、文件系统推荐

三、操作系统配置

1、关闭 SELinux 和防火墙

2、检查网络

3、修改主机名和 hosts 文件

4、修改 hosts 文件

5、创建用户

6、配置 ssh

7、挂载硬盘

8、配置内核参数

9、配置 limit.conf

10、修改 IO 调度策略

11、禁用 RemoveIPC


前言

这篇向导主要讲述了如何快速安装、初始化和运行一个人大金仓分析型数据库,包括操作的步骤和运行的命令等。包括:安装前准备–安装数据库的前期准备,如软件、硬件环境检查。

一、硬件环境检查

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 LinuxRHEL6.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<

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
        为确保上述所有参数配置生效,重启各台服务器。

你可能感兴趣的:(数据库)