GBase UP 集群在 RHEL6 上的安装部署与避坑指南 简介GBase-UP平台安装手册面向数据库运维工程师、系统集成人员及大数据平台实施者针对Linux RHEL6环境下GBase UP混合数据库平台的部署需求提供从系统准备到引擎安装的完整操作指引。资源包为单一PDF文档大小约2.87MB内容按章节组织涵盖硬件配置与RAID规划、操作系统安装与多网卡绑定、环境检查与内核参数调优、YUM源与sudo配置以及Hadoop生态、Oracle、GBase 8s等引擎的安装部署流程。手册对节点一致性、端口占用、防火墙与SELINUX状态、SSH服务、虚存与I/O调度等关键检查项均有明确说明并给出静默安装响应文件修改、数据库创建与客户端安装等具体步骤。已有92人学习适合需要按官方规范完成GBase UP平台搭建、排查环境配置问题的技术人员参考也可作为项目实施前的环境预检清单使用。1. 从一台裸机到 GBase UP 集群这份 RHEL6 安装手册到底解决什么问题很多做国产数据库落地的同行第一次拿到 GBase UP 的安装包时最容易犯的错不是命令敲错而是把一台刚上架的裸机直接插上网线就开始装。GBase UP 不是单机数据库它是一套把 Hadoop 生态、GBase 8a、GBase 8s、Oracle 等多个引擎统一到一个 SQL 入口的联邦集群安装前如果 RAID、内核参数、多网卡绑定、SSH 互信这些底层没铺好后面集群初始化大概率卡在某个节点上排查起来非常折腾。这份《GBase-UP平台安装手册.pdf》针对的是 Linux RHEL6 环境覆盖了从硬件物理部署、RAID5 配置、操作系统环境检查到各引擎客户端安装、跨引擎数据迁移组件部署、集群初始化、启停登录、卸载升级、节点扩缩容的完整链路。它适合两类人一是第一次在 RHEL6 上部署 GBase UP 的 DBA 和运维二是需要把安装过程标准化成内部交付文档的架构师。手册本身是 PDF不是脚本包但里面的参数、命令和检查项可以直接抄进你的部署 checklist。2. 装 GBase UP 之前RHEL6 系统层要先把哪些坑填平2.1 硬件配置与 RAID5 的选型逻辑手册给出的最低配置是 2×4 核 2.0GHz、4GB 内存、SATA 7200rpm 100GB 硬盘推荐配置直接拉到 2×16 核、128GB 内存、SAS 10k 1TB。这个跨度说明 GBase UP 在真实项目里对 I/O 和内存的消耗远高于最低门槛尤其是当 Hadoop 生态和 GBase 8a 跑在同一批节点上时4GB 内存连 JVM 堆都分不出来。磁盘层面手册明确推荐本地盘做 RAID5至少 3 块完全相同的物理盘。RAID5 在容错和容量之间取平衡允许坏一块盘不丢数据同时比 RAID1 多出可用容量。以 DELL R710/R720 为例开机看到 RAID 卡提示时按 CTRLR 进入配置界面先删掉出厂保留的虚拟磁盘再在 Disk Group 上按 F2 选 Create New VDRAID Level 选 RAID-5用空格键勾选参与阵列的物理盘注意单个 VD 的容量总和不能超过 16T。建完 VD 后还要做一次 Fast Init否则阵列不可用。这里有个容易忽略的点手册建议两个机柜电源独立、交换机互备Hadoop 生态节点在小规模集群下做 HA 加机架感知大规模集群上联邦加 HA。如果你的项目只有三五台机器至少保证交换机和电源不在同一个故障域里。2.2 操作系统环境检查的十个必查项手册把环境检查拆得很细我按实际部署顺序重新整理成一张可执行的检查表检查项操作要点不通过的后果操作系统版本各节点统一 RHEL6.5 x86_64软件包依赖冲突root 密码各节点保持一致批量脚本无法互信gbase 用户密码各节点保持一致集群初始化认证失败软件包按手册清单补齐安装中断端口占用检查集群所需端口服务起不来防火墙关闭或放行节点间通信被阻断SELINUX设为 disabled权限拒绝玄学报错系统时间各节点同步集群心跳异常SSH 服务开启且互信分发安装文件失败内核参数按 1.6.10 逐项修改数据库性能差或启动失败内核参数这块手册列了八项包括内核参数配置、虚存配置、I/O 调度方式、关闭 transparent_hugepage、磁盘调度策略、内存配置、Swap 分区、关闭 CPU 超频。其中 transparent_hugepage 必须关掉否则 GBase 8a 这类引擎在内存分配时会出现不可预测的延迟抖动。I/O 调度方式建议改成 deadline 或 noop具体看你的盘是机械还是 SSD。修改主机名配置文件、YUM 源配置、sudo 配置这三项放在最后因为前面很多检查依赖主机名解析和 sudo 权限。我一般会写一个 shell 脚本把 1.6 节的所有检查项跑一遍输出一份各节点的对比报告确认全部一致后再进入安装阶段。# 检查各节点关键环境项输出对比报告 #!/bin/bash echo 主机名 hostname echo 系统版本 cat /etc/redhat-release echo 内核版本 uname -r echo SELINUX 状态 getenforce echo 防火墙状态 service iptables status echo transparent_hugepage cat /sys/kernel/mm/transparent_hugepage/enabled echo 时间 date echo SSH 端口 netstat -tlnp | grep :22这段脚本的作用是把手册 1.6 节里分散的检查项一次性拉出来方便你在每个节点上跑一遍然后横向对比。参数上注意getenforce返回 Enforcing 就说明 SELINUX 没关需要改/etc/selinux/config设成 disabled 并重启。transparent_hugepage如果显示[always]说明没关需要在/etc/rc.local里加禁用命令。时间同步建议用 ntpd 或 chrony手册没指定具体工具但各节点时间差超过几秒就会影响集群心跳。3. 安装 GBase UP从各引擎客户端到集群初始化的完整链路3.1 各引擎客户端的安装顺序与依赖关系GBase UP 本身是一个统一入口底层要挂多个引擎所以安装顺序不能乱。手册 2.4.1 节把客户端安装拆成三块GBase Hadoop 生态和 GBase 8a 客户端、Oracle 客户端、GBase 8s 客户端。先装 Hadoop 生态和 8a 客户端因为 UP 的核心元数据和分发逻辑依赖它们再装 Oracle 客户端用于跨引擎查询时连接 Oracle最后装 GBase 8s 客户端。每装完一个客户端建议用对应的连接工具验证一下连通性别等全部装完再一起测否则出问题不知道是哪一层。Oracle 客户端的安装还涉及 2.2 节的 Oracle 数据库安装部署包括环境配置、修改 Linux 内核参数、配置资源使用情况、配置环境变量、安装依赖包然后修改静默安装响应文件开始安装创建数据库最后卸载 vault。这一串操作里静默安装响应文件的修改是最容易翻车的地方路径、SID、字符集这些参数必须和你的实际环境完全对应。3.2 安装参数文件与扩展配置文件的修改要点手册 2.4.3 到 2.4.7 节是安装的核心操作段获取安装文件、修改安装参数文件、修改扩展配置文件、配额设置、执行安装。安装参数文件通常包含集群节点列表、各节点角色、数据目录路径、端口号等。扩展配置文件则涉及各引擎的具体连接信息比如 Oracle 的 tnsnames、Hive 的 metastore 地址、GBase 8s 的 sqlhosts。配额设置这一项容易被跳过但它决定了各引擎能使用的资源上限设小了后面跑查询会报资源不足。执行安装时建议开一个终端窗口 tail 安装日志另一个窗口执行命令这样出错能第一时间看到堆栈。# 安装 GBase UP 的典型命令序列以实际安装包路径为准 cd /opt/gbase_up_install # 修改安装参数文件指定集群节点和角色 vi install_params.cfg # 修改扩展配置文件填入各引擎连接信息 vi extend_params.cfg # 设置配额 ./gbase_up_install --set-quota --data-quota80% --temp-quota20% # 执行安装日志输出到 install.log ./gbase_up_install --configinstall_params.cfg --extendextend_params.cfg --loginstall.log这里install_params.cfg里的节点列表要和前面环境检查时的主机名完全一致大小写都不能差。--set-quota的百分比根据你的磁盘规划来数据配额和临时配额加起来不要超过 100%。安装日志里如果出现Failed to connect to node先回头检查 SSH 互信和防火墙别急着改安装参数。3.3 集群初始化与引擎加载的验证方法安装完成后手册 2.4.8 到 2.4.11 节要求配置 distribution、初始化集群、加载引擎、创建临时库。配置 distribution 是告诉集群数据怎么分布通常按节点数和副本数来算。集群初始化会格式化元数据区这一步不可逆执行前确认所有节点都处于干净状态。加载引擎时GBase 8s、Oracle、Hive 各有各的设置项手册 2.4.10 节分别列了关于 gbase8s 相关设置、关于 Oracle 相关设置、关于 hive 相关设置。加载完引擎后创建临时库用于跨引擎查询时的中间结果落盘。最后 2.4.12 节提到支持 Kerberos 安全认证如果你的环境有 Kerberos需要在这一步配置 principal 和 keytab。# 集群初始化与引擎加载后的验证命令 # 查看集群状态 gcadmin showcluster # 查看 distribution 配置 gcadmin showdistribution # 登录集群 gbase -u gbase -p # 在集群内查看已加载引擎 gbase show engines;gcadmin showcluster返回的节点状态应该全是 OPEN如果有节点显示 OFFLINE先查该节点的 gcware 服务是否正常。show engines能列出所有已加载的引擎如果某个引擎没出现回到加载引擎那一步检查配置文件和日志。4. 启停、卸载、升级与扩缩容那些手册上写了但容易做错的操作4.1 集群启停与登录退出的正确姿势手册第 3 章讲启停与登录看起来简单但实际运维中启停顺序错了会导致元数据不一致。启动时先起 gcware 和 gcluster 服务再起各引擎服务停止时反过来先停引擎再停集群服务。登录用gbase -u 用户名 -p退出用exit或quit。如果登录时报Cant connect to local GBase server先确认 gcluster 服务是否在运行再检查/etc/hosts里主机名解析是否正确。4.2 卸载与版本升级的边界条件第 4 章卸载集群分两步卸载 GBase UP 集群、卸载 Hadoop 集群。卸载前务必备份元数据和业务数据卸载脚本不会帮你保留这些。第 5 章升级 UP 集群手册只写了 V8.6.2.X 集群间版本升级说明这个手册对应的版本范围有限跨大版本升级不在覆盖范围内。升级前要停掉所有服务升级后重新初始化集群并加载引擎。如果你的版本不在 V8.6.2.X 范围内别硬套这个流程。4.3 节点扩缩容的操作差异第 7 章增加、减少集群节点分 data 节点和 coordinator 节点两种。增加 data 节点相对简单把新节点环境配好加入集群后重新分布数据即可。增加 coordinator 节点要复杂一些涉及元数据同步和 distribution 调整。减少节点前必须先确认该节点上没有未完成的事务并且数据已经迁移到其他节点。减少 coordinator 节点尤其要小心coordinator 负责查询协调减不好会导致整个集群不可用。我一般会在业务低峰期做扩缩容并且提前在测试环境走一遍完整流程。5. 避坑与排查GBase UP 安装过程中最常见的五类问题5.1 集群服务不能正常启动现象执行启动命令后gcadmin showcluster显示部分节点 OFFLINE。原因最常见的是各节点系统时间不一致导致集群心跳超时其次是防火墙没关或 SELINUX 没设 disabled节点间通信被阻断。解决先用date命令对比各节点时间差超过 5 秒就用 ntpd 强制同步再检查getenforce和service iptables status确保 SELINUX 为 disabled、防火墙已关闭或放行集群端口。5.2 gcadmin 命令的使用问题现象gcadmin命令报Cant connect to gcware或返回空结果。原因gcware 服务没启动或者当前用户没有权限执行 gcadmin。解决先service gcware status确认服务状态没启动就service gcware start权限问题用 gbase 用户执行或者检查 sudo 配置里是否给了 gcadmin 的执行权限。5.3 安装过程中 SSH 互信失败现象安装脚本分发文件时卡住日志报Permission denied (publickey)。原因各节点 root 或 gbase 用户的 SSH 密钥没配好或者密码不一致。解决手册 1.6.2 和 1.6.3 明确要求各节点 root 和 gbase 用户密码保持一致先统一密码再用ssh-keygen和ssh-copy-id配置互信。注意 RHEL6 默认的 SSH 配置可能不允许 root 直接登录需要改/etc/ssh/sshd_config里的PermitRootLogin。5.4 内核参数修改后未生效现象按手册改了/etc/sysctl.conf但sysctl -a查到的值还是旧的。原因改完没执行sysctl -p或者参数写错了位置。解决改完/etc/sysctl.conf后必须执行sysctl -p让配置生效然后重新查一遍确认。transparent_hugepage 的关闭方式不一样它不在 sysctl 里需要在/etc/rc.local里加echo never /sys/kernel/mm/transparent_hugepage/enabled并且确保 rc.local 有执行权限。5.5 加载引擎时提示连接失败现象执行加载引擎命令后日志报Failed to connect to Oracle/Hive/GBase 8s。原因扩展配置文件里的连接信息不对或者对应引擎的客户端没装好。解决先确认 2.4.1 节的三类客户端都装完了再用tnsping测 Oracle、用beeline测 Hive、用dbaccess测 GBase 8s。连接信息里的 IP、端口、用户名、密码逐项核对注意 Oracle 的 service name 和 SID 别搞混。6. 把安装手册变成可复用的部署脚本一个检查清单的落地技巧手册第 8 章 FAQ 只列了三个问题但实际部署中遇到的远不止这些。我的习惯是把手册 1.6 节的环境检查项、2.4 节的安装参数、4 章的卸载步骤、7 章的扩缩容操作全部整理成一个带版本号的部署 checklist每次部署前打印出来逐项打勾。更进一步我会把环境检查部分写成 shell 脚本把安装参数文件做成模板把验证命令做成一个verify.sh。这样下次再装一套 GBase UP不需要重新翻 PDF直接跑脚本加填模板就行。# verify.sh安装后一键验证集群状态 #!/bin/bash echo 集群节点状态 gcadmin showcluster echo distribution 配置 gcadmin showdistribution echo 已加载引擎 gbase -u gbase -pyour_password -e show engines; echo 各节点时间差 for node in $(cat /opt/gbase_up_install/nodes.list); do echo -n $node: ssh $node date %s done这个脚本里nodes.list是你自己维护的节点列表每行一个主机名。show engines那行需要把密码换成实际密码生产环境建议用配置文件或环境变量传别硬编码在脚本里。时间差检查那一段会把各节点的 Unix 时间戳打出来如果差值超过 5 秒就需要去同步时间。还有一个技巧手册里所有涉及路径的地方比如安装包路径、数据目录、日志目录我建议统一规划成/opt/gbase_up/下的子目录别用默认路径。默认路径往往在/usr/local或/home下磁盘分区一满就影响系统。数据目录单独挂一块大盘日志目录单独挂一块盘这样出问题的时候排查范围小很多。RAID5 的 VD 容量上限 16T 这个限制也要记住如果你的单节点磁盘超过 16T需要建多个 VD 或者改用其他 RAID 级别。从那以后我每次部署 GBase UP 之前都会先把这份手册的 1.6 节打印出来在每个节点上跑一遍检查脚本确认所有输出一致才动手装。这个习惯帮我省掉了至少三次因为 SELINUX 没关和时间不同步导致的集群启动失败。希望帮到你。本文还有配套的精品资源点击获取