目录
前言
这篇向导主要讲述了如何快速安装、初始化和运行一个人大金仓分析型数据库,包括操作的步骤和运行的命令等。包括:初始化数据库。
一、安装数据库软件
1、安装内容简介
数据库集群软件安装成功后,包括下面内容:
- mpp_path.sh - 这个文件包括了数据库的环境变量
- bin - 包含了数据库的管理工具,也包含数据库的客户端和服务器程序。
- demo - 包含了数据库的的实例程序
-
docs - 包含了工具的帮助文档
-
lib - 库文件
-
share - 共享目录
-
sbin - 支持和内部运行的脚本程序
-
include - 头文件
2、安装数据库集群软件
数据库集群软件要先安装到 Master 主机上,然后由 Master 主机安装到其它主机。以管理员用户 mppadmin 安装到 Master 主机的步骤如下:
$ /bin/bash KingbaseAnalyticsDB-V003R002C001B0001-CENTOS6-x86_64.run
Verifying archive integrity... All good.
Uncompressing KingbaseAnalyticsDB Database
...............................................
...............................................
...............................................
...............................................
...............................................
...............................................
Please input target installation directory:
/home/mppadmin/mpp
target directory '/home/mppadmin/mpp' does not exists, create it
(y/N)?
Y
若 sshd 监听的端口号为非默认值 22,需要在文件/home/mppadmin/mpp/mpp_path.sh里修改下面内容:
export SSH_PORT=55555
3、安装到所有主机
运行 gpseginstall,可以从当前主机拷贝数据库的二进制文件到需要安装的主机 。gpseginstall 支持以 mppadmin 用户或 root 用户执行。使用 gpseginstall 命令初始化数据库后,系统会包含一个预先定义的超级用户 mppadmin,也是操作系统用户。这个用户拥有和管理 数据库系统的权限。执行 gpssh-exkeys 交换所有提供的主机的密钥,其中,hostfile_gpssh_allhosts 文件里包含了所有交换公钥的主机列表:
# source /home/mppadmin/mpp/mpp_path.sh
# gpssh-exkeys -f hostfile_gpssh_allhosts
# cat hostlist_seginstall
sdw1
sdw2
sdw3
执行 gpseginstall 安装软件:
# source /home/mppadmin/mpp/mpp_path.sh
# gpseginstall -f hostlist_seginstall -u mppadmin -p changeme
其中 -u 指定操作系统用户,此选项仅在以 root 身份运行 gpseginstall 时可用;-p 指定该用户密码。可把 changeme 改成实际的密码。
二、同步系统时钟
需要使用 NTP(网络时间协议)来同步 MPP 数据库中所有主机的时钟,参见 ww w.ntp.org 获取更多关于 NTP 的信息。
server mdw prefer
server smdw
server mdw prefer
server 10.6.220.20
# gpssh -f hostfile_gpssh_allhosts -v -e 'ntpd'
三、检查系统性能
1、检测网络性能
为了检测网络性能,执行 gpcheckperf 可有以下选项:并行 (-r N),串行 (-r n) 和 矩阵 (-r M)。gpcheckperf 在不同主机间 传输 5 秒的数据流。默认情况,以并行方式测 试不同主机间的网络性能,测试完成后,输出网络最大、最小、和平均值,单位是 MB/s。
$ gpcheckperf -f hostfile_gpchecknet_ic1 -r N -d /tmp > subnet1.out
$ gpcheckperf -f hostfile_gpchecknet_ic2 -r N -d /tmp > subnet2.out
2、检测硬盘 I/O 和内存带宽
$ gpcheckperf -f hostfile_gpssh_segonly -r ds -d /home/mppadmin
四、初始化集群
1、创建数据目录
创建一个本地文件目录,用于 Master 实例存储数据。
# source /home/mppadmin/mpp/mpp_path.sh
# gpssh -h smdw -e 'mkdir -p /data/Master'
创建主机列表文件 hostfile_gpssh_segonly。这个文件应该包含所有 Segment 主机的一个机器名,例如如果有三个主机服务器:
sdw1
sdw2
sdw3
使用上面的配置文件,用 gpssh 来创建主 Segment 和 Segment Mirror 的数据目录。 例如:
# source /home/mppadmin/mpp/mpp_path.sh
# gpssh -f hostfile_gpssh_segonly -e 'mkdir -p /data/primary'
# gpssh -f hostfile_gpssh_segonly -e 'mkdir -p /data/mirror'
2、安装 license 文件
数据库的 license 文件名必须为 license.dat。license.dat 需要放在<$GPHOME>/bin/ 下面。每台主机必须有 license.dat。
3、创建初始化主机列表文件
初始化工具 gpinitsystem 需要一个主机列表文件,包含每个 Segment 的主机地址。工具根据主机文件中指定的每个主机列出的主机地址数,乘以配置文件 gpinitsystem_config中数据目录的个数,计算出每个主机上 Segment 实例的个数。
创建文件 hostfile_gpinitsystem 。在文件中添加 Segment 主机接口名,每个一行,不要有多余空行和空格。例如,有 4 台主机,每台 2 个网卡:
sdw1-1
sdw1-2
sdw2-1
sdw2-2
sdw3-1
sdw3-2
sdw4-1
sdw4-2
4、创建初始化配置文件
打开并编辑文件。一个 MPP 数据库系统必须包含 Master 实例和至少 1 个 Segment 实例。 DATA_DIRECTORY 参数决定每个主机上可以创建多少个 Segment。如果 Segment 主机有多个网卡,并且在主机文件中列出了这些网口,Segment 会在多个网卡上均匀分布。 下面是gpinitsystem_config 文件中必选参数的样例:
ARRAY_NAME="MPP DW"
SEG_PREFIX=mppseg
PORT_BASE=40000
declare -a DATA_DIRECTORY=(/data/primary /data/primary
/data/primary /data/primary /data/primary /data/primary)
MASTER_HOSTNAME=mdw
MASTER_DIRECTORY=/data/Master
MASTER_PORT=5432
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODE
5、运行初始化工具
$ gpinitsystem -c gpconfigs/gpinitsystem_config -h gpconfigs/hostfile_gpssh_segonly -s smdw
若某些步骤发生失败,可能需要清除数据并重新运行工具。例如,一些 Segment 实例 创建成功了,而另一些失败了,需要停止那些 kingbase 进程并删除已经创建了的数据目录。 如有必要,会创建一个撤销脚本辅助清理。下面例子显示如何运行撤销脚本:
$ sh backout_gpinitsystem_gpadmin_20171031_121053
6、设置环境变量
source /home/mppadmin/mpp/mpp_path.sh
export MASTER_DATA_DIRECTORY=/data/Master/mppseg-1
注意 :这个 .bashrc 文件不应有任何输出。如果想要在用户登录时向其显示信息, 请使用 .profile 文件。