介绍如何初始化Greenplum数据库系统。
本章中的说明假定您已按照配置系统中的说明准备好主机, 并根据安装Greenplum数据库软件中的说明,在系统中的所有主机上安装了Greenplum Database软件。
本章包含以下主题:
因为Greenplum数据库是分布式的,所以初始化Greenplum数据库管理系统(DBMS)的过程涉及初始化几个单独的PostgreSQL数据库实例(在Greenplum中称为segment实例)。
每个数据库实例(Master和所有Segment)都必须在系统中的所有主机之间进行初始化,以便它们可以作为统一的DBMS一起工作。Greenplum提供了它自己的初始化数据库工具,名为 gpinitsystem,它负责在master和每个segment实例上初始化数据库,并以正确的顺序启动每个实例。
在初始化并启动Greenplum数据库数据库系统后,您可以通过连接到Greenplum master,就像在一般的PostgreSQL DBMS中一样,创建和管理数据库。
这些是初始化Greenplum数据库的高-级任务:
$ su - gpadmin
$ source /usr/local/greenplum-db/greenplum_path.sh
创建初始化主机文件
gpinitsystem工具需要一个主机文件,其中包含每个segment主机的地址列表。该初始化工具通过此种方式确定每个主机的segment实例数量:每个主机列出的主机地址数量,乘以gpinitsystem_config 文件中指定的数据目录位置的数量。
该文件应仅包含segment主机地址(而非主master或备用master)。对于具有多个、未绑定网络接口的segment主机,此文件应列出每个接口的主机地址名称——每行一个。
注意: Greenplum数据库segment主机命名约定为sdwN,其中sdw是前缀, N是整数。例如,sdw2等等。如果主机有多个未绑定的NIC,则约定是在前面加上一个破折号(-),然后输入主机名称。例如,sdw1-1 和 sdw1-2 是主机sdw1的两个接口名称。不过,建议使用NIC绑定来创建负载平衡的、容错的网络。
sdw1-1
sdw1-2
sdw2-1
sdw2-2
sdw3-1
sdw3-2
sdw4-1
sdw4-2
2.保存并关闭文件。注意:如果不确定机器所使用的主机名和/或接口地址名称,请查看/etc/hosts文件。
您的Greenplum数据库配置文件告诉 gpinitsystem 工具,您要如何配置Greenplum数据库系统。示例配置文件位于$GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config。
创建一个gpinitsystem_config文件
$ cp $GPHOME/docs/cli_help/gpconfigs/gpinitsystem_config \ 2. /home/gpadmin/gpconfigs/gpinitsystem_config
根据您的环境设置所有必需的参数。更多信息请查阅gpinitsystem。Greenplum数据库系统必须包含一个master实例和至少两个segment实例(即使设置一个单节点系统)。
DATA_DIRECTORY 参数确定每个主机将创建多少segment。如果segment主机具有多个网络接口,并且在主机文件中使用了它们的接口地址名称,则segment数将平均分配到可用的网络接口数上。
要指定 PORT_BASE,请查看/etc/sysctl.conf文件中的参数net.ipv4.ip_local_port_range。请参阅“ 推荐的OS参数设置”。
以下是gpinitsystem_config 文件中的必需参数的一个示例:
ARRAY_NAME="Greenplum Data Platform"
SEG_PREFIX=gpseg
PORT_BASE=6000
declare -a DATA_DIRECTORY=(/data1/primary /data1/primary /data1/primary /data2/primary /data2/primary /data2/primary)
MASTER_HOSTNAME=mdw
MASTER_DIRECTORY=/data/master
MASTER_PORT=5432
TRUSTED SHELL=ssh
CHECK_POINT_SEGMENTS=8
ENCODING=UNICODEMIRROR_PORT_BASE=7000
declare -a MIRROR_DATA_DIRECTORY=(/data1/mirror /data1/mirror /data1/mirror /data2/mirror /data2/mirror /data2/mirror)注意:您可以仅使用主segment来初始化Greenplum系统,然后使用gpaddmirrors 工具来部署镜像。
gpinitsystem 工具使用配置文件中定义的值来创建Greenplum数据库系统。
以下步骤假定您以 gpadmin 用户登录,并已source greenplum_path.sh 文件来设置Greenplum数据库环境变量。
运行初始化工具
$ gpinitsystem -c gpconfigs/gpinitsystem_config -h gpconfigs/hostfile_gpinitsystem对于完全冗余的系统(具有备用master和扩展镜像配置),请包括-s 和 -S选项。例如:$ gpinitsystem -c gpconfigs/gpinitsystem_config -h gpconfigs/hostfile_gpinitsystem \ -s standby_master_hostname -S=> Continue with Greenplum creation? Yy/Nn=> Greenplum Database instance successfully created.解决初始化问题
如果该工具在设置实例时遇到任何错误,则整个过程将失败,并可能留给您一个部分创建的系统。请参考错误消息和日志,以确定故障原因以及故障发生在何处。日志文件创建于~/gpAdminLogs。
根据过程中发生错误的时机,您可能需要清理,然后再次尝试 gpinitsystem工具。例如,如果有些segment实例被成功创建而有些失败,则您可能需要停止Postgres 进行,并从您的数据存储区中,删除所有由该工具创建的数据目录。如有必要,创建一个回退脚本来帮助进行此清理。
使用回退脚本
如果gpinitsystem工具失败,如果它使您的系统处于部分安装状态,那么它将创建以下的回退脚本:
~/gpAdminLogs/backout_gpinitsystem_<user>_<timestamp>
您可以使用此脚本清除部分创建的Greenplum数据库系统。该回退脚本将删除所有由工具创建的数据目录、Postgres进程和日志文件。更正了导致gpinitsystem失败的错误之后,运行回退脚本,准备好重新尝试初始化Greenplum数据库阵列。
以下示例显示了如何运行回退脚本:
$ sh backout_gpinitsystem_gpadmin_20071031_121053作为一个最-佳实践,使用已知的、受支持的时区,配置Greenplum数据库和主机系统。Greenplum数据库使用来自一组内部存储的PostgreSQL时区中的一个时区。设置Greenplum数据库时区可防止Greenplum数据库在每次重新启动集群时,选择并设置此时区为Greenplum数据库master和segment实例的时区。
使用 gpconfig工具来显示和设置Greenplum数据库时区。例如,以下命令显示Greenplum数据库时区,并将时区设置为 美国/太平洋。
$ gpconfig -s TimeZone
$ gpconfig -c TimeZone -v 'US/Pacific'更改时区后,必须重新启动Greenplum数据库。命令gpstop -ra可重启Greenplum数据库。目录视图 pg_timezone_names 提供了Greenplum数据库的时区信息。
有关Greenplum数据库时区的更多信息,请参阅配置时区和本地化设置。
您必须在Greenplum数据库用户(gpadmin)环境下设置环境变量,此用户环境是Greenplum master和备用master主机上运行Greenplum数据库的环境。在Greenplum数据库安装目录中提供了一个greenplum_path.sh 文件,其中包含Greenplum数据库的环境变量设置。
Greenplum数据库管理工具还要求设置环境变量MASTER_DATA_DIRECTORY。它应该指向主数据目录下、由gpinitsystem工具创建的目录。
注:该greenplum_path.sh脚本更改操作环境,以支持运行Greenplum数据库特定的工具。这些对环境的相同更改,可能会对其他系统级程序的运行产生负面影响,例如 ps 或 yum。使用单独的帐户执行系统管理和数据库管理,而不是尝试以gpadmin同时执行这两种功能。
这些步骤确保了系统重启之后,能为gpadmin 用户设置环境变量。
首-次初始化Greenplum数据库后,它将仅允许以 gpadmin 角色(或能运行 gpinitsystem的任何系统用户),从本地连接到数据库。如果您希望其他用户或客户端计算机能够连接到Greenplum数据库,则必须授予他们访问权限。有关更多信息,请参见Greenplum数据库管理员指南。
验证安装后,您可能要开始创建数据库并加载数据。有关在Greenplum数据库中创建数据库,模式,表和其他数据库对象以及加载数据的更多信息,请参见Greenplum数据库管理员指南中的定义数据库对象以及 加载和卸载数据。
本文来源:https://blog.csdn.net/uddiqpl/article/details/106947346
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69953058/viewspace-3136524/ ,如需转载,请注明出处,否则将追究法律责任。