01-正文
本章节下载 (1.46 MB)
目 录
本手册适用于SeaSQL MPP云形态的安装部署操作。
数据库SeaSQL MPP是一种基于PostgreSQL的分布式数据库,其采用Shared-Nothing的海量并行处理(MPP)架构,主机、操作系统、内存、存储都是自我控制的,不存在共享。它具有PB级数据量的快速分析能力,可以支持大数据的超高性能分析查询。
表1-1 SeaSQL MPP相关术语说明
术语 |
说明 |
MPP架构 |
Massive Parallel Processing,大规模并行计算,数据库集群架构中的一种 |
数据库集群 |
用来安装部署数据库服务的一组计算机资源 |
独立集群 |
每个租户可以使用独立集群,网络和资源互相隔离 |
共享集群 |
多个租户之间共享一套数据库集群,可以通过创建多个共享资源来共享集群 |
共享资源 |
租户及其对应的数据库从共享集群中申请系统资源,包括内存、CPU核数、磁盘以及最大并发数等资源 |
图2-1 SeaSQL MPP流程总图
表2-1 SeaSQL MPP部署流程说明
步骤 |
是否必选 |
描述 |
|
开始 |
/ |
/ |
|
安装CloudOS服务器 |
必选 |
CloudOS平台是部署SeaSQL MPP的基础底座,因此在部署SeaSQL MPP之前,必须完成CloudOS服务器的安装和CloudOS平台的部署。 · 关于部署SeaSQL MPP时,对CloudOS平台的部署要求和说明,详情请参见3.1 安装CloudOS服务器和3.2 部署CloudOS平台章节 · 关于CloudOS平台的部署指导,详情请参见H3C CloudOS产品相关文档 |
|
部署CloudOS平台 |
必选 |
||
部署CloudOS IaaS |
必选 |
云形态的SeaSQL MPP还依赖CloudOS IaaS,因此在部署SeaSQL MPP之前,必须首先完成CloudOS IaaS的部署。关于CloudOS IaaS的部署指导,详情请参见H3C CloudOS产品相关文档和3.3 部署CloudOS IaaS章节 |
|
部署Base包 |
必选 |
Base包提供各服务的依赖,因此在部署SeaSQL MPP前,必须首先完成Base包的部署。详情请参见4.2 部署Base包章节 |
|
部署SeaSQL MPP |
上传SeaSQL MPP安装包 |
必选 |
访问管理页面,上传SeaSQL MPP安装包。详情请参见5.1 上传SeaSQL MPP服务安装包章节 |
部署SeaSQL MPP安装包 |
必选 |
访问管理页面,部署SeaSQL MPP安装包。SeaSQL MPP部署成功后,在管理页面中可查看相关SeaSQL MPP云服务。详情请参见5.2 部署SeaSQL MPP服务安装包章节 |
|
配置License |
必选 |
||
部署SeaSQL MPP集群 |
新建集群前准备 |
必选 |
SeaSQL MPP主机资源直接使用CloudOS IaaS纳管的资源,包括裸金属和虚拟机两种,请根据实际情况进行选择。因此部署SeaSQL MPP集群前,需要首先准备主机资源。详情请参见5.3 新建SeaSQL MPP集群前的准备工作章节 |
新建SeaSQL MPP集群 |
必选 |
根据要求进行参数配置,详情请参见5.4 新建SeaSQL MPP集群章节 |
|
结束 |
/ |
SeaSQL MPP集群部署完成后,即可使用SeaSQL MPP的存储、计算等功能,详情请参见产品内嵌的联机帮助和其他相关文档 |
软件采用云形态进行部署。
· 云形态的SeaSQL MPP部署时,依赖CloudOS云操作系统的CloudOS平台、CloudOS IaaS、Base包。
· 主机资源直接使用CloudOS IaaS纳管的资源,包括虚拟机和裸金属两种,根据实际情况进行选择即可。
部署SeaSQL MPP时,需要准备的软件安装包如表2-2所示。
软件 |
安装包名称 |
用途说明 |
获取方式 |
Base安装包 |
cloudos-dbaas-base-<version>.zip |
用于安装服务依赖 |
由H3C提供 |
SeaSQL MPP服务安装包 |
cloudos-dbaas-seasqlmpp-<version>.zip |
用于安装SeaSQL MPP服务 |
由H3C提供 |
访问SeaSQL MPP管理页面时,支持的浏览器如下:
· Chrome 68及以上版本
· 关于CloudOS服务器的安装指导和注意事项,详情请参见H3C CloudOS产品相关文档。
· 部署SeaSQL MPP时,对CloudOS服务器的安装无特别要求。
· 关于CloudOS平台的部署指导,详情请参见H3C CloudOS产品相关文档。
· 在部署CloudOS平台时需要共享存储,用于存放软件包应用部署所需的配置文件和日志,需提前准备外部共享存储卷。关于部署CloudOS 平台时,需准备的共享存储卷类别和建议大小,详情请参见H3C CloudOS产品相关文档。
· 部署SeaSQL MPP时,对CloudOS服务器的安装无特别要求。
对于CloudOS平台部署成功后,即可访问管理页面。在管理页面上,可完成以下操作:
· 部署CloudOS IaaS
· 部署Base包
· 部署SeaSQL MPP服务
· 部署集群、管理集群、管理资源/权限、管理工单/流程、管理日志/告警等
· 关于CloudOS IaaS的部署指导,详情请参见H3C CloudOS产品相关文档。
· 部署CloudOS IaaS时需要共享存储,用于存储虚拟机性能数据和镜像文件,需提前准备外部共享存储卷。关于部署CloudOS IaaS时,需准备的共享存储卷类别和建议大小,详情请参见H3C CloudOS产品相关文档。
· 部署SeaSQL MPP时,对CloudOS IaaS的安装无特别要求。
CloudOS IaaS部署成功后,可提供部署SeaSQL MPP时所需要的裸金属资源或虚拟机资源。关于SeaSQL MPP时所需要的云资源的要求和配置说明,详情请参见5.3 新建SeaSQL MPP集群前的准备工作章节。
· CloudOS DBaaS Base基础依赖包(以下简称Base包)提供集群安装部署依赖、主机监控和HTTP服务等。
· 部署CloudOS DBaaS Base基础依赖包时,需同时配套CloudOS Plat和CloudOS IaaS版本使用,即安装Base包之前需要先完成CloudOS Plat(此时还需保证系统组件包harbor也已经安装成功)和CloudOS IaaS的部署。
· DBaaS产品中多个云服务都依赖Base包,在同一个CloudOS系统中, Base包仅需部署一次,若CloudOS系统中已部署过Base包,直接跳过此章节即可。
· 因所有存储卷均需进行格式化操作,所以请确认存储卷中是否存在需要备份的数据,如果有请联系相关人员将数据迁移至其他设备。
· 对于外部共享存储如iSCSI、FC等,存储设备需与CloudOS平台进行映射操作,否则CloudOS平台将无法识别该存储卷,具体映射存储卷的方式,请参见《H3C CloudOS 5.0 云操作系统部署指导》
Base包采用共享存储,部署Base包前,需要提前准备共享存储卷,用于存储监控数据或日志文件。需准备的共享存储卷和建议大小如表4-1所示。
表4-1 cloudos-dbaas-base包共享存储要求
类别 |
推荐大小 |
说明 |
≥100G |
用于存储云服务安装包 |
|
dbaas-monitor |
DBaaS集群节点数*1G |
用于存储具体服务的监控数据 |
请检查存储卷的容量是否满足要求,不满足要求的存储卷会造成软件运行故障。具体要求如表4-1所示。
部署Base包前,需要添加共享存储卷。根据要求准备共享存储卷后,即可访问管理页面将准备好的2个共享存储卷分别添加到CloudOS系统中,步骤如下:
(1) 在顶部导航栏选择[资源]菜单项进入资源管理页面。
(2) 在左侧导航树中选择[容器/Default],进入默认容器页面。
(3) 在默认容器页面,选择[存储]页签,进入存储管理页面,根据存储卷类型选择PV类型,单击<增加存储卷>按钮,分别将准备好的2个存储卷增加到CloudOS系统中。
图4-1 增加共享存储卷
(3) 配置完成后,单击<确定>按钮,即可增加存储卷成功。
上传cloudos-dbaas-base-<version>.zip安装包,步骤如下:
(1) 访问管理页面,在[系统/服务与组件/部署向导]页面,可查看软件安装包的存放位置(sftp连接服务器IP地址时,用户名root,默认密码Passw0rd@_)。
(2) 按照部署向导页面的提示信息,将软件安装包上传至指定路径下。
(3) 上传完成后,单击<刷新列表>按钮即可在管理页面上查看到软件安装包的相关信息。
图4-2 上传安装包
部署cloudos-dbaas-base-<version>.zip安装包,步骤如下:
(1) 访问管理页面,在[系统/服务与组件/部署向导]页面,勾选OS service下的cloudos-dbaas-base后,可对该服务进行相关配置。
(2) 在高级配置页面根据推荐大小选择已配置的共享存储卷,具体要求如表4-1所示。
(3) 配置完成后,单击页面右下角的<立即部署>按钮,即可启动部署安装包。部署成功后,Base默认为启用状态。
图4-3 部署安装包
Base包部署完成后,在[系统/服务与组件/服务列表]页面,可检查Base版本和服务状态,如图4-4所示。
图4-4 Base包及版本号
(1) 单击服务名称进入云服务详情页面,在[服务]页签中,检查Base包中所含服务状态是否均为正常,如图4-5所示。
上传SeaSQL MPP服务安装包,步骤如下:
(1) 访问管理页面,在[系统/服务与组件/部署向导]页面,可查看软件安装包的存放位置(sftp连接服务器IP地址时,用户名root,默认密码Passw0rd@_)。
(2) 按照部署向导页面的提示信息,将软件安装包上传至指定路径下。
(3) 上传完成后,单击<刷新列表>按钮即可在管理页面上查看到软件安装包的相关信息。
图5-1 上传安装包
部署SeaSQL MPP服务安装包,步骤如下:
(1) 访问管理页面,在[系统/服务与组件/部署向导]页面,勾选OS service下的cloudos-dbaas-seasqlmpp。
(2) 无高级配置参数,此时可直接单击<立即部署>按钮,等待部署成功。
(3) 安装包部署成功后,在[系统/服务与组件/服务列表]页面,可查看云服务的启停状态。安装成功后,SeaSQL MPP默认为启用状态。
图5-2 部署安装包
· 在实际生产环境中,推荐使用裸金属服务器部署,不推荐使用虚拟机部署SeaSQL MPP集群。虚拟机方式部署仅用于功能演示和测试环境。
· 在实际生产环境中,CloudOS平台和SeaSQL MPP集群必须分开部署。
· SeaSQL MPP主机资源直接使用CloudOS IaaS纳管的资源,包括虚拟机和裸金属两种,根据实际情况进行选择即可。SeaSQL MPP集群中的虚拟机或裸金属节点,网络要求和CloudOS集群中主机的网络互通。
· 在SeaSQL MPP集群中,虚拟机的实例规格需要在云平台的[云服务/云主机/服务配置]页面,进入[云主机规格/组合规格]页签进行自定义新增;裸金属的实例规格会根据硬件配置自动获取。
· 端口6000~600x以及7000~700x不能被占用(其中x表示每个Segment节点上的Primary实例个数)。
根据现场实际情况和业务需求进行集群规划时,需关注以下内容:
· 规划集群的类型:选择部署“独立集群”,或部署“共享集群”。
· 根据现场实际情况,规划集群中的主机节点数目。
· 规划集群部署在裸金属还是虚拟机上,根据使用的云资源不同,部署前准备也不同。若云平台上已配置云资源,则SeaSQL MPP集群可直接使用;若云平台上未配置云资源,则在部署SeaSQL MPP集群前,必须首先按要求准备云资源(按实际需求,二选一即可)。
· 建议SeaSQL MPP集群的主机节点与CloudOS平台(CloudOS IaaS)在同一网段。
· 网络带宽要求在10Gb/s以上。
· SeaSQL MPP集群中各节点之间不能跨越防火墙。
在生产环境中,CloudOS平台和SeaSQL MPP集群必须分开部署。
SeaSQL MPP至少部署在3个节点上,合适的节点数量规模为6~100台,当集群规模不满足上述要求时,集群整体性能将不能达到最优状态。
SeaSQL MPP集群包括Master节点和Segment节点。
表5-1 SeaSQL MPP集群节点规划
节点类型 |
服务 |
说明 |
Master节点 |
SeaSQL MPP Master、SeaSQL MPP Standby Master |
Master与Standby Master不能部署在同一节点上 【说明】Master与Segment必须分开部署,Standby Master与Segment可以合并部署 |
Segment节点 |
SeaSQL MPP Segment |
建议Master、Standby Master和Segment均分开部署,否则会造成硬件资源抢占问题 |
下面以不同规模的集群进行部署举例。
以下部署方案仅为SeaSQL MPP集群节点部署举例,不包含CloudOS平台的节点。
(1) 节点数目为3的集群部署方案
表5-2 SeaSQL MPP集群节点部署规划(一)
节点数目 |
部署方案 |
部署细节 |
建议与说明 |
3 |
方案1 |
node1:Master node2:Standby Master + Segment node3:Segment |
3台集群规模部署数据盘建议单个Raid5 |
(2) 节点数目为4~6的集群部署方案
表5-3 SeaSQL MPP集群节点部署规划(二)
节点数目 |
部署方案 |
部署细节 |
建议与说明 |
4 |
方案1 |
node1:Master node2:Standby Master node3:Segment node4:Segment |
数据存储和计算大部分都在Segment节点上,Master和Standby Master占用两个节点对于资源利用率不高 |
方案2 |
node1:Master node2:Segment node3:Standby Master+ Segment node4:Segment |
提高了集群服务器利用率,增加Segment节点相当于增加SeaSQL MPP集群的性能 |
|
5 |
方案1 |
node1:Master node2:Standby Master node3:Segment node4:Segment node5:Segment |
数据存储和计算大部分都在Segment节点上,Master和Standby Master占用两个节点对于资源利用率不高 |
方案2 |
node1:Master node2:Segment node3:Standby Master + Segment node4:Segment node5:Segment |
提高了集群服务器利用率,增加Segment节点相当于增加SeaSQL MPP集群的性能 |
|
6 |
方案1 |
node1:Master node2:Standby Master node3:Segment node4:Segment node5:Segment node6:Segment |
数据存储和计算大部分都在Segment节点上,Master和Standby Master占用两个节点对于资源利用率不高 |
方案2 |
node1:Master node2:Standby Master + Segment node3:Segment node4:Segment node5:Segment node6:Segment |
提高了集群服务器利用率,增加Segment节点相当于增加SeaSQL MPP集群的性能 |
(3) 节点数目大于等于7的集群部署方案(推荐)
表5-4 SeaSQL MPP集群节点部署规划(三)
节点数目 |
部署方案 |
部署细节 |
建议与说明 |
7及以上 |
方案 |
node1:Master node2:Standby Master node3:Segment node4:Segment node5:Segment node6:Segment node7:Segment node8:Segment node9:Segment node10:Segment node11:Segment node12:Segment … |
Master和Standby Master单独使用一个节点,剩余节点全部做Segment |
部署SeaSQL MPP集群前,需要提前将裸金属或虚拟机加入到CloudOS IaaS的纳管中,创建集群成功后,裸金属或虚拟机的root用户密码将被初始化为Passw0rd@_。
SeaSQL MPP主机资源直接使用CloudOS IaaS纳管的云资源,包括虚拟机和裸金属两种,根据使用的云资源不同,部署前准备也不同,同一个集群中仅支持使用一种类型的云资源,根据实际情况进行选择即可,需要注意:
· 集群部署在虚拟机上时,需要关注服务器的硬件配置要求。详情请参见5.3.4 虚拟机要求。
· 集群部署在裸金属上时,需要关注服务器的硬件配置要求、磁盘RAID方案以及裸金属操作系统。详情请参见5.3.5 裸金属要求。
· 在实际生产环境中,建议使用裸金属部署SeaSQL MPP集群,不推荐使用虚拟机部署SeaSQL MPP集群。
· 一个SeaSQL MPP集群至少部署在3个节点上,节点可以是裸金属或虚拟机。根据SeaSQL MPP集群使用的云资源不同,部署前准备也不同。
· 具体虚拟机的配置方式,请参见CloudOS云操作系统在线帮助。
SeaSQL MPP集群支持的虚拟机最小规格为8*32*80(即8核CPU*32GB内存*80GB硬盘),虚拟机的实例规格需要在云平台的[云服务/云主机/服务配置]页面,进入[云主机规格/数据库云主机/组合规格]页签进行自定义新增,超过最小规格要求的实例规格才可被识别到。
· SeaSQL MPP集群至少部署在3个节点上,本章节仅介绍SeaSQL MPP集群部署在裸金属上的服务器硬件配置要求。
· 具体裸金属的配置方式,请参见CloudOS云操作系统在线帮助。
表5-5 服务器硬件配置要求(适用于SeaSQL MPP云服务下的集群)
节点类型 |
服务器硬件要求 |
Master节点 |
CPU:2路10核,推荐5115(注意:为提高整个集群的性能,应尽量使用主频高性能好的CPU) 内存:256GB 硬盘:2块600GB SAS硬盘,不少于6块1.2T SAS硬盘 RAID卡:1GB Raid0/5卡(带超级电容) 网口:2个千兆网口,2个万兆网口 |
Segment节点 |
CPU:2路10核,推荐5115 内存:256GB 硬盘:2块600GB SAS硬盘、不少于12块1.2TB SAS硬盘(注意:硬盘总量相同时,建议使用更多块硬盘) RAID卡:1GB Raid0/5卡(带超级电容) 网口:≥ 2个10 Gbps SFP+ 接口 |
同一集群中的所有裸金属节点,需保证磁盘配置相同。
部署SeaSQL MPP时,SeaSQL MPP集群各节点的磁盘RAID整体原则如下:
表5-6 节点RAID配置方案
配置方案 |
RAID配置和挂载点说明 |
配置说明 |
方案1 |
· 操作系统盘做RAID1 · 单独分配数据磁盘并做RAID5 |
单独配置RAID5时,磁盘性能会优于操作系统盘,也能防止操作系统盘容量到达限额影响SeaSQL MPP数据库性能 【说明】建议使用该方式 |
方案2 |
操作系统盘做RAID1,不单独分配数据磁盘,数据盘和操作系统盘共用 |
为了节省成本可以不单独分配磁盘给Master节点,但是操作系统盘使用RAID1会使性能受到一些影响 |
因不同厂商的硬件服务器设置方式略有不同,这里仅说明部署SeaSQL MPP时配置RAID的建议,对于配置过程不做说明。
· 新建集群前,要求已完成License激活,具体内容请参见6 配置License。
· 新建集群前,要求在云平台中已完成云资源的准备。云资源包括裸金属和虚拟机两种,根据实际使用需求任选其一即可。
· 若具有自定义角色的用户申请集群,需要为该用户的角色配置权限。如该用户为普通用户,创建自定义角色时需要为该角色配置申请创建集群权限;如该用户为管理员用户,创建自定义角色时需要为该角色配置创建集群权限。
· 集群名称具有唯一性,在CloudOS DBaaS的各数据库与中间件云服务之间,不支持创建同名集群。
· 在SeaSQL MPP集群中,虚拟机集群节点的规格要求最小为8*32*80(即8核CPU*32GB内存*80GB硬盘),虚拟机的实例规格可以在云平台的[云服务/云主机]页面,单击服务配置进入[云主机规格/数据库型云主机/组合规格]页面进行自定义新增;裸金属的实例规格根据硬件配置自动获取 。
· 新建集群时,输入的数据库管理员待集群创建完成后,该数据库管理员会自动同步到[系统管理/用户管理]中,且该数据库管理员用户类型会显示为“管理员”,该用户拥有集群中所有数据库的操作权限。
新建SeaSQL MPP集群步骤如下:
(1) 在服务管理页面的左侧导航树中选择[集群管理],进入集群管理页面。
(2) 在集群管理页面,选择[集群列表]页签,单击<新建集群>按钮,跳转至新建SeaSQL MPP集群页面。
(3) 新建集群包括3个配置步骤,根据提示配置对应参数项的值,如下:
第一步:基础配置,参数说明如下:
¡ 集群名称:自定义输入符合命名规则的集群名称。
¡ 集群模式:选择新建集群的模式,包括独立集群和共享集群两种。
¡ 集群描述:自定义添加集群的描述信息,以便于快速了解集群的相关信息。
¡ 资源区域:配置集群使用的资源区域。资源区域需提前在云平台的[资源/可用域/计算可用域]中进行准备。
¡ 虚拟化类型:当前版本中,仅支持CAS、VMware和BareMetal类型。其中:CAS和VMware类型对应的云资源为虚拟机,BareMetal类型对应的云资源为裸金属,请根据实际情况进行选择。
¡ 秘钥对:配置密钥对后可实现通过秘钥文件进行集群主机的免密登录。
¡ 集群节点:
- 节点类型:master节点、Standby节点、Segment节点。
- 节点规格:可以选择对应的规格,虚拟机集群节点的实例规格要求最小为8*32*80(即8核CPU*32GB内存*80GB硬盘)。
- 节点数,Master节点和Standby节点有且只能有一个,Segment节点可以手动输入不小于2的数字(默认为2)。
表5-7 集群节点说明
节点类型 |
是否必选 |
选项说明 |
描述 |
Master节点 |
必选 |
即数据库管理节点,该节点是SeaSQL MPP数据库系统的入口,主要负责处理客户端的请求、下发执行计划以及汇总Segment节点的执行结果等 【说明】该节点仅用于存放数据库的元数据,而不存放实际的业务数据 |
Master节点建议选择CPU核数多的主机节点 |
Standby节点 |
必选 |
即备用数据库管理节点,是Master节点的备份节点。当Master节点故障时,可以接替Master节点进行工作,以确保Master节点的高可用性 |
若Standby和Segment共用节点时,建议Standby配置和其它Segment的配置保持一致;若Standby和Segment不共用节点时,建议Standby配置和Master的配置保持一致 |
Segment节点 |
必选 |
数据节点,存放实际的业务数据,负责业务数据的存储和计算 |
Segment节点建议选择磁盘容量大的主机节点;建议各Segment节点的配置保持一致 |
¡ 节点共享:若开启节点共享,standby节点和segment节点将部署在同一节点上
¡ 网络:配置集群的管理网络。
¡ 获取虚拟IP方式:当前版本中,仅支持自动分配方式。
第二步:参数配置,参数说明如下:
¡ 数据库管理员名称:自定义输入符合命名规则的数据库管理员名称。数据库管理员可以访问、管理数据库中的所有对象,包括数据、用户等。
¡ 数据库管理员密码:自定义输入符合密码规则的数据库管理员密码。该密码用于数据库管理员登录数据库。
¡ 确认数据库管理员密码:重复输入数据库管理员密码进行确认。
¡ ssadmin密码:自定义输入符合密码规则的ssadmin用户密码。ssadmin用户为操作系统用户,用于后台管理和维护SeaSQL MPP数据库服务。
¡ 确认ssadmin密码:重复输入ssadmin用户密码进行确认。
¡ 实例数:配置每个Segment节点的数据库实例数,范围为2~12之间的偶数。数据库实例是单个Segment节点上运行同一个查询时启动的计算存储单元。可以根据Segment服务器的硬件条件来配置Segment节点上的数据库实例数,建议单个实例的内存配置在32GB以上,CPU配置在4核以上。例如,某Segment服务器的硬件配置为256G 32核,通过min(256GB/32GB=8,32/4=8)得出计算结果为8,那么在该Segment节点上配置的数据库实例数需小于等于8。
¡ 最大连接数:配置访问数据库集群的最大连接数,范围为50~2000之间的整数。
¡ 数据库端口号:配置数据库的访问端口,缺省为5434。单击<端口冲突检测>按钮,可检测配置端口是否有占用冲突。
¡ 是否开启FDE加密:选择是否开启透明加密功能。开启透明加密后将自动对整个数据库进行加密,该加密对于客户端是完全透明的。当把数据块写入磁盘时,自动对数据进行加密;当从磁盘读取数据时,自动进行解密。开启透明加密功能需要提前准备LDAP服务器并进行配置,具体内容请参见《H3C SeaSQL MPP安装部署手册》中的附录章节。
- CA证书: CA证书为LDAP服务器下的证书,需首先从LDAP服务器中将证书下载到本地,然后在页面上单击<选择文件>按钮选择该证书上传即可。CA证书默认为LDAP服务器/etc/openldap/cacerts目录下的cacert.pem文件。
- LDAP服务器IP:填写LDAP服务器IP地址。
- LDAP端口号:默认为636端口,需使用支持TLS协议的端口。
- LDAP用户:用来验证LDAP服务的管理员用户,需和LDAP服务器配置的保持一致。
- LDAP密码:LDAP服务管理员用户对应的密码,需和LDAP服务器配置的保持一致。
第三步:确认信息,查看集群基础配置、参数配置的详细信息,若检查配置无误可单击<确认信息并创建>按钮启动创建集群,若检查配置有误可单击图标进行修改。
(4) 创建集群启动后,会跳转至集群列表页面,新建集群的运行状态和服务状态会显示为“初始化中”,等待一段时间集群即可创建完成。
SeaSQL MPP集群部署成功后,请勿删除自带的原生数据库,否则将导致SeaSQL MPP无法正常启动。
SeaSQL MPP部署完成后,可在180天内试用所有功能。超过试用期限后,需要获取License授权才能正常使用。
SeaSQL MPP需要同时拥有功能型和数量型两个授权,服务才可正常运行。关于SeaSQL MPP的License授权详情,请参见《H3C SeaSQL MPP License支持情况说明》。
SeaSQL MPP需通过License Server获取授权,在进行SeaSQL MPP的License配置时,需提前完成License远程授权相关操作,详情请参见《H3C软件产品远程授权License使用指南》。
访问管理页面,成功连接到License Server的客户端后,SeaSQL MPP可以向License Server请求授权并将请求结果展示在页面上。
配置SeaSQL MPP的License的步骤如下:
(1) 访问管理页面,在顶部导航栏选择[系统]菜单项进入系统管理页面。
(2) 在左侧导航树中选择[软件授权],进入License管理页面。
(3) License管理页面上方展示“License Server配置”,页面下方显示“授权信息”,下面对这两部分进行详细介绍。
¡ License Server配置
License Server配置栏显示管理页面与License Server客户端连接时的配置信息。单击左上角的<配置>按钮可对License Server客户端连接信息进行配置,参数说明如下:
- 授权服务IP地址:License Server客户端所在主机的IP地址。
- 授权服务端口:License Server授权服务端口号,缺省为“5555”。
- 客户端名称:License Server中设置的客户端名称。
- 客户端密码:License Server中设置的客户端名称对应的密码。
通过这些配置信息,单击<确定>按钮即可连接到对应的License Server客户端自动获取授权信息。
· License配置时填写的用户名和密码必须为License Server中创建的客户端的名称和密码。
· 单击<连接>按钮后,若无法连接到License Server,会弹出错误提示信息,此时则需要检查输入是否正确或者License Server是否正常运行。
管理页面和License Server定期通信更新授权状态,授权信息栏可查看当前系统中授权使用情况。当License Server上的授权信息变更时,单击<同步>按钮可手动刷新当前授权信息列表。其中:
- 获得授权:从License Server获取到的授权状态。对于数量型授权,该值为实际获取的授权数量;对于功能型授权,该值为yes(获取授权成功)或no(获取授权失败)。
- 使用授权:对于数量型授权,该值表示已经使用的授权数量;对于功能型授权,该值为空。
· 在生产环境中,CloudOS云操作系统的使用也需要相应授权的支持,请确保在License Server上安装相关的授权。
· SeaSQL MPP的授权,对于数量型授权,当可用授权不足时,会影响“新建集群”、“集群扩容”等操作的进行;对于功能型授权,当获取授权失败时,该功能授权相关的 “新建集群”、“系统管理”等会隐藏。
SeaSQL MPP集群部署完成后,进入集群管理页面可进行集群检查和数据库状态检查
访问管理页面,检查某集群运行状态的步骤如下:
(1) 在顶部导航栏选择[云服务/云数据库SeaSQL MPP]菜单项进入SeaSQL MPP数据库的管理页面。
(2) 在左侧导航树中选择[集群管理],进入集群管理页面。
(3) 在[集群列表]页签中,可查看集群运行状态。检查范围包括:
¡ 检查运行状态列是否为“运行中”。
¡ 检查服务状态是否为“已启动”。
图7-1 检查集群状态
访问管理页面,检查某数据库运行状态的步骤如下:
(1) 在顶部导航栏选择[云服务/云数据库SeaSQL MPP]菜单项进入SeaSQL MPP数据库的管理页面。
(2) 在左侧导航树中选择[集群管理],进入集群管理页面。
(3) 在集群管理页面,选择[集群列表]页签,单击某集群操作列的<控制台>按钮,可跳转至对应的集群的Monitor管理页面。
(4) 在Monitor管理页面的首页中,可检查数据库运行状态是否为“正常”。
图7-2 检查数据库状态
· 仅当部署SeaSQL MPP集群选择裸金属主机时,才需要在集群部署完成后进行数据盘检查。
· SeaSQL MPP集群中的数据目录不支持自定义,集群部署成功后也不支持修改。
部署SeaSQL MPP时,系统内置了SeaSQL MPP集群各节点对数据盘的选择策略,即:部署SeaSQL MPP集群时,将同时对主机节点执行安装操作系统、磁盘挂载等操作,系统缺省将裸金属节点上的盘分别挂载到/volume/disk*目录下,然后SeaSQL MPP集群会从集群内的所有主机节点上识别出所有数据目录的交集中容量最大的盘(即在各个节点上都存在的目录)做为SeaSQL MPP数据存储目录。
【注意】部署SeaSQL MPP集群之前,需要按照5.3.5 裸金属要求中裸金属磁盘RAID要求对SeaSQL MPP各节点的裸金属节点配置磁盘RAID,才能实现预期分配目的。
为保证SeaSQL MPP集群数据的正常存储需求,集群部署完成后,需要对SeaSQL MPP数据存储位置做检查。SeaSQL MPP集群数据存储位置检查方法包括两个步骤,如下:
· 通过前端页面查看数据挂载目录
进入SeaSQL MPP集群详情页面,可查看数据库目录,即SeaSQL MPP数据库的数据存储目录。如图7-3所示,SeaSQL MPP集群的数据存储路径为/volume/disk1/opt/SEASQL。
· 通过后台命令查看数据目录对应的磁盘
进入SeaSQL MPP集群,执行df -h /volumes/disk1/opt/SEASQL命令,即可查看SeaSQL MPP数据目录使用的磁盘,确认磁盘空间足够大即可。
图7-4 查看SeaSQL MPP数据目录及空间大小
目前不支持数据目录修改。
共享资源支持多个租户之间共享一套集群,共享网络和集群资源,并且不同租户之间保证资源隔离。
· 管理员用户对共享资源执行新增、扩缩容等操作时,会触发共享资源的相关操作。
· 普通用户对共享资源执行新增、扩缩容等操作时,需要走流程审批,审批通过后才能触发共享资源的相关操作。
· 共享资源名称具有唯一性,在系统中创建多个共享资源时名称不能重复。
· 新增共享资源时,要求系统中必须已成功创建共享集群。关于新建共享集群的方式与独立集群相同,详情请参见5 部署SeaSQL MPP章节。
· 新增共享资源时,输入的用户名须是新创建的用户,待新增共享资源成功后,此新用户会自动同步到[系统管理/用户管理]中。
· 普通用户新增共享资源时,需要走流程审批,审批通过后才能在共享列表中查看到。
新增共享资源的步骤如下:
(1) 在顶部导航栏选择[云服务/云数据库SeaSQL MPP]菜单项进入对应服务的管理页面。
(2) 在左侧导航树中选择[集群管理],进入集群管理页面。
(3) 在集群管理页面,选择[共享资源]页签,单击<新增共享资源>按钮,跳转至新增共享资源页面。
(4) 根据提示配置对应参数项的值,如下:
¡ 共享集群:在下拉列表中选择此共享资源所属的共享集群。单击图标可刷新集群列表。
¡ 资源名称:自定义输入符合命名规则的资源名称。
¡ 数据库名称:在下拉列表中选择使用此共享资源的数据库名称。单击图标可刷新数据库列表。输入的数据库可以是在共享集群后台中已创建的数据库,也可以在此新建数据库。
¡ 选择组件:为共享资源配置具体的共享组件资源及容量,包括内存、CPU核数以及最大并发数。
¡ 用户名:输入符合命名规则的用户名称,需在此新建共享资源的操作用户。
¡ 密码:设置对应用户登录数据库的密码。
¡ 确认密码:确认用户名的密码。
¡ 失效时间:设置共享资源的有效期。永久表示共享资源永不失效。
(5) 配置完成后,单击<确定>按钮即可完成新增共享资源。此时:
¡ 若是管理员执行新增共享资源操作,单击<确定>按钮即可直接触发共享资源的创建动作。
¡ 若是普通用户执行新增共享资源操作,单击<确定>按钮后,还需要走流程审批。只有审批通过后才能触发共享资源的创建动作(流程审批通过后,普通用户可在共享资源列表中查看新增的共享资源,也可在查看审批记录窗口中查看相关审批状态信息)。
新建共享资源成功后,指定用户可使用指定的共享资源。在使用过程中,根据实际需要,共享资源可执行扩/缩容、删除等操作。此时:
· 若是管理员对共享资源执行扩/缩容、删除等操作,可直接触发相关操作动作。
· 若是普通用户对共享资源执行扩/缩容、删除等操作,则需要走流程审批。只有审批通过后才能触发相关操作动作。
共享资源有时间期限,新建共享资源成功后,指定用户可在指定时间期限内使用共享资源。共享资源的具体使用方法,与普通集群资源的使用方式完全一样。
· 删除独立集群表示删除该集群中包含的所有组件、数据库、数据库中的数据,并释放资源。
· 删除共享集群表示删除该集群中包含的所有组件、数据库、数据库中的数据、共享资源及对应的用户,并释放资源。
· 在生产环境中,删除集群功能为高危操作,将删除集群中的所有数据库及数据库中的数据,且不可回退或暂停,请谨慎使用。
· 集群进行扩容或数据重分布操作时,不可以对集群进行删除操作。
· 当集群中有正在运行的任务时,删除集群后集群中的所有任务都将被同步删除。
· 部署在虚拟机上时,删除集群会同步删除该集群包含的所有主机,释放IP地址和所有IaaS资源。部署在裸金属上时,删除集群会释放IP地址和裸金属资源。
集群在使用过程中,根据实际需要,可执行删除集群的操作。
(1) 在顶部导航栏选择[云服务/云数据库SeaSQL MPP]菜单项进入SeaSQL MPP数据库的集群管理页面。
(2) 在集群管理页面,选择[集群列表]页签,单击某集群对应的<删除>按钮并在弹窗中进行确定后,即可删除该集群。
图9-1 删除集群
删除服务表示删除云平台中已安装的云服务。
· 在生产环境中,删除云服务功能为高危操作,且不可回退或暂停,请谨慎使用。
· 删除云服务前(Base包除外),请确保对应云服务的集群已全部删除。
· 若环境中仍有其他服务依赖Base包,则不可删除Base包云服务,以免造成数据丢失以及服务不可用。
(1) 在系统页面的左侧导航树中选择[服务与组件],进入服务列表页面。
(2) 在服务列表页面,选择[云服务]页签,单击某服务对应的<删除>按钮并在弹窗中进行确定后,即可删除该服务。
图9-2 删除服务
如需进入SQL查询详情页面查看执行计划树、执行计划等内容,须提前进行相关配置,操作如下:
(1) 使用ssadmin用户登录主节点,修改参数如下:
gpconfig -c gp_enable_query_metrics -v on
gpconfig -c shared_preload_libraries -v 'perfmon _collector'
(2) 重启SeaSQL MPP数据库,命令如下:
gpstop -arf
(3) 创建perfmon_collector扩展,操作如下:
a. 使用ssadmin用户登录主节点,进入gpperfmon数据库
# psql -d gpperfmon
b. 执行perfmon_collector扩展的创建,命令如下:
gpperfmon=# CREATE EXTENSION IF NOT EXISTS perfmon_collector;
(4) 检查SeaSQL perfmon collector进程是否启动,如果没有则需要启动。操作如下:
a. 检查SeaSQL perfmon collector进程是否启动,命令如下:
ps -eaf|grep 'SeaSQL perfmon collector'
b. 如果SeaSQL perfmon collector进程未启动,则需启动SeaSQL perfmon collector进程,命令如下:
# psql -d gpperfmon
gpperfmon=# select ssmetrics.perfmon_collector_start_worker();
· LDAP服务用来保存SeaSQL MPP数据库透明加密的密钥。
· 如果在部署SeaSQL MPP数据库时开启透明加密功能,数据库初始化进程会通过加密通信与LDAP服务器交互,将密钥写LDAP入服务器。
· 数据库启动时,通过加密通信自动从LDAP服务器上取得密钥进行验证,实现用户无感知加密。
属性 |
最低配置 |
机器数量 |
最少一台服务器,使用自动备份时需准备两台服务器 |
CPU |
2核,2.0 GHz |
内存 |
4 GB |
磁盘 |
50G |
网卡 |
百兆网卡 |
CentOS7.X
和SeaSQL MPP集群保持互通。
(1) 关闭防火墙和SELINUX
执行以下命令关闭防火墙:
systemctl disable firewalld.service
systemctl stop firewalld.service
执行以下命令关闭SELINUX:
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
setenforce 0
yum install -y openldap openldap-servers openldap-clients
(3) 生成密文密码
执行以下命令,生成密码。
说明:文中涉及管理员密码处,均使用“123456”作为密码示例。
slappasswd
New password: #输入密码明文(比如123456)
Re-enter new password:
{SSHA}ChrYrSofelqU6wrzpPmj/qOWzyh2inDx #生成密文密码
(4) 配置slapd服务
说明:文中涉及管理员用户名处,均使用“cn=seasql,dc=h3c,dc=com”作为用户名示例。
新建conf.ldif文件,内容如下:
执行以下命令打开slapd服务:
systemctl start slapd.service
执行以下命令配置slapd服务:
ldapadd -Y EXTERNAL -H ldapi:/// -f conf.ldif
(5) 拷贝数据文件
执行以下命令将数据文件拷贝至路径下
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
修改路径权限
chown -R ldap:ldap /var/lib/ldap
(6) 导入要使用的Schema
cd /etc/openldap/schema/
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f core.ldif//默认有
(7) 添加entry
新建key.ldif文件,内容如下:
执行以下命令添加entry:
ldapadd -x -D "cn=seasql,dc=h3c,dc=com" -w 123456 -f key.dif
执行以下命令确认是否导入成功
ldapsearch -x -D "cn=seasql,dc=h3c,dc=com" -w 123456 -b "dc=h3c,dc=com"
结果如下,说明导入成功:
# h3c.com
dn: dc=h3c,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: h3c
dc: h3c
# seasql, h3c.com
dn: cn=seasql,dc=h3c,dc=com
objectClass: organizationalRole
cn: seasql
# keyManager, seasql, h3c.com
dn: dc=keyManager,cn=seasql,dc=h3c,dc=com
objectClass: domain
dc: keyManager
# aes128, keyManager, seasql, h3c.com
dn: dc=aes128,dc=keyManager,cn=seasql,dc=h3c,dc=com
objectClass: domain
dc: aes128
# sm4, keyManager, seasql, h3c.com
dn: dc=sm4,dc=keyManager,cn=seasql,dc=h3c,dc=com
objectClass: domain
dc: sm4
(1) 生成证书
若有签名的SSL证书,可跳过本章节,直接进行(2)拷贝证书到LDAP配置目录章节操作。
使用以下步骤生成自签名的证书:
cd /etc/pki/CA
a. 生成根秘钥
openssl genrsa -out private/cakey.pem 2048
b. 生成自签名的根证书
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
其中:-days表示根证书的有效期,缺省-days后不设置天数时,有效期为30天
按提示填写以下内容(不可为空):
Country Name (2 letter code) [XX]:cn
State or Province Name (full name) []:hn
Locality Name (eg, city) [Default City]:zz
Organization Name (eg, company) [Default Company Ltd]:h3c
Organizational Unit Name (eg, section) []:kf
Common Name (eg, your name or your server's hostname) []: //填写服务器IP地址
Email Address []:xxx@h3c.com
c. 初始化CA
使用如下命令初始化CA:
touch index.txt serial
echo "00" > serial
d. 生成LDAP服务器的秘钥和根证书
mkdir cacerts
cd /etc/pki/CA/cacerts
生成服务器的私钥:
openssl genrsa -out server.key
为ldap生成证书签署请求:
openssl req -new -key server.key -out server.csr
按照提示填写以下内容,其中Country Name、State or Province Name、Organization Name需要与根证书中填写的内容一致:
Country Name (2 letter code) [XX]:cn
State or Province Name (full name) []:hn
Locality Name (eg, city) [Default City]:zz
Organization Name (eg, company) [Default Company Ltd]:h3c
Organizational Unit Name (eg, section) []:kf
Common Name (eg, your name or your server's hostname) []: //填写服务器IP地址
Email Address []:xxx@h3c.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:123456
An optional company name []:h3c
CA根据请求签发证书,得到.crt证书文件:
openssl ca -in server.csr -out server.crt
(2) 拷贝证书到LDAP配置目录
使用以下命令拷贝证书到LDAP配置目录:
cd /etc/openldap/
mkdir cacerts
cp /etc/pki/CA/cacert.pem /etc/openldap/cacerts
cp /etc/pki/CA/cacerts/* /etc/openldap/cacerts
修改证书权限:
chown -R ldap /etc/openldap/cacerts/server.crt
chmod 644 /etc/openldap/cacerts/server.crt
chown -R ldap /etc/openldap/cacerts/server.key
chmod 400 /etc/openldap/cacerts/server.key
chown -R ldap /etc/openldap/cacerts/cacert.pem
chmod 644 /etc/openldap/cacerts/cacert.pem
(3) 配置证书路径
新建tls_conf.ldif文件,内容如下:
执行以下命令在slapd服务中配置证书路径:
ldapadd -Y EXTERNAL -H ldapi:/// -f tls_conf.ldif
(4) 开启系统加密支持
vim /etc/sysconfig/slapd
SLAPD_URLS=" ldapi:/// ldaps:///"
(5) 重启slapd服务
systemctl restart slapd.service
查看636端口是否启动
netstat -ntulp |grep slapd
(6) 编辑配置文件/etc/openldap/ldap.conf,添加以下内容支持openldap配置命令使用ldaps协议:
如果/etc/openldap/目录下没有ldap.conf文件,需新建该文件并填写配置内容。
yum install openldap openldap-clients
创建目录/etc/openldap/cacerts,将服务器上的CA根证书/etc/pki/CA/cacert.pem拷贝到客户端的/etc/openldap/cacerts目录下。
添加以下内容以支持TSL传输:
如果/etc/openldap/目录下没有ldap.conf文件,新建该文件并填写配置内容。
openssl s_client -connect 10.121.67.214:636 -state -CAfile /etc/openldap/cacerts/cacert.pem
其中:
· 10.121.67.214为LDAP服务器地址。
· /etc/openldap/cacerts/cacert.pem为CA签名的根证书。
出现以下内容说明配置成功:
为了保证透明加密密钥的安全性,需要对LDAP服务进行备份,可选的备份方式包括手动备份、主从模式自动备份、互主模式自动备份,可根据需要选择备份方式。
(1) 备份(导出)
方法一:使用slapcat命令把数据导入到文件ldapbackup.ldif中。
slapcat -v -l ldapbackup.ldif
方法二:使用如下命令将根域“dc=h3c,dc=com”下的内容导入到文件ldapbackup.ldif中。
ldapsearch -x -b 'dc=h3c,dc=com' '(objectClass=*)' -D 'cn=seasql,dc=h3c,dc=com' -w 123456 -H ldaps:/// > ldapbackup.ldif
(2) 恢复(导入)
使用ldapadd命令把ldapbackup.ldif导入到数据库中
ldapadd -x -D "cn=seasql,dc=h3c,dc=com" -w 123456 -H ldaps:/// -f ldapbackup.ldif
主从备份方式需准备两台LDAP服务器,一台为主库,一台为从库,在主库上的更新会自动同步到从库上。
(1) 准备工作
(2) 主库配置
a. 配置load模块syncprov.la
创建文件mod_syncprov.ldif,内容如下:
执行以下命令,将mod_syncprov.ldif文件导入:
ldapadd -Y EXTERNAL -H ldapi:/// -f mod_syncprov.ldif
导入成功将显示如下内容:
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=module,cn=config"
b. 配置主库
创建文件syncprov.ldif,内容如下:
导入文件:
ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov.ldif
导入成功后,将展示如下内容:
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "olcOverlay=syncprov,olcDatabase={2}hdb,cn=config"
c. 测试配置文件并重启
slaptest -u
出现config file testing succeeded说明配置成功。
重启服务:
systemctl restart slapd.service
(3) 从库配置
a. 配置load模块syncprov.la
与主库导入相同的文件mod_syncprov.ldif,具体内容请参见(2)a配置load模块syncprov.la。
b. 配置从库
· provider=ldaps://10.121.67.214 此处IP地址是主库所在的服务器IP地址。
· 主从使用TLS连接,主从服务器使用的根证书要相同,即使用同一CA为主从服务器的证书签名。
创建文件syncrepl.ldif,内容如下:
c. 导入文件syncrepl.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f syncrepl.ldif
导入成功显示如下内容:
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={2}hdb,cn=config"
d. 测试配置文件并重启
slaptest -u
出现config file testing succeeded说明配置成功。
systemctl restart slapd.service
两台服务器之间使用TLS连接,主从服务器使用的根证书要相同,即使用同一CA为主从服务器的证书签名。
互主备份即两台LDAP服务器互为主从,在任意一台服务器上修改,另一台将自动进行同步。
在每台服务器上均需进行以下配置:
(1) 配置load模块syncprov.la
创建文件mod_syncprov.ldif,内容如下:
把文件mod_syncprov.ldif导入:
ldapadd -Y EXTERNAL -H ldapi:/// -f mod_syncprov.ldif
导入成功将展示如下内容:
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=module,cn=config"
(2) 创建master.ldif文件
· olcServerID每台服务器是唯一的(比如一台是0,另一台是1)。
· provider的路径为对方的ldap路径。
· retry="5 5 300 +"表示第一次5秒重试5次,之后每隔300秒重试一次。
a. 创建文件master.ldif,内容如下:
b. 将文件导入:
ldapmodify -Y EXTERNAL -H ldapi:/// -f master.ldif
导入成功将展示如下内容:
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"
modifying entry "olcDatabase={2}hdb,cn=config"
adding new entry "olcOverlay=syncprov,olcDatabase={2}hdb,cn=config"
(3) 测试配置文件并重启
slaptest -u
出现config file testing succeeded说明配置成功。
重启服务:
systemctl restart slapd.service
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!