以下任务与 Vertica 所需的系统用户的配置有关。
1 - 系统用户要求
Vertica 对运行和管理 Vertica 的系统用户有特定的要求。如果在安装期间指定某个用户,但该用户不存在,则安装程序会以标识符 S0200 报告此问题。
系统用户要求详细信息
Vertica 要求系统用户拥有数据库文件所有权并运行数据库进程和管理脚本。默认情况下,安装脚本会自动使用用户名 dbadmin 配置并创建此用户。有关安装脚本创建的默认用户的详细信息,请参阅关于 Vertica 创建的 Linux 用户及其权限。如果决定手动创建自己的系统用户,则必须在运行安装脚本之前 创建该用户。如果手动创建该用户:
注意
如果没有使用默认值,则dbadmin
和 verticadba
的实例为所选名称的占位符。
-
该用户必须在所有节点上都具有相同的用户名和密码
-
该用户必须使用 BASH shell 作为用户的默认 shell。如果不是,则安装程序会以标识符 [S0240] 报告此问题。
-
该用户必须在 verticadba 组中(例如:
usermod -a -G verticadba userNameHere
)。否则,安装程序会以标识符 [S0220] 报告此问题。注意
必须在所有节点上创建 verticadba 组。否则,安装程序会以标识符 [S0210] 报告此问题。 -
用户的登录组必须为 verticadba 或与该用户具有相同名称的组(例如 dbadmin 的主组为 dbadmin)。可使用 id 命令检查用户的组。例如:
id dbadmin
。“gid”组是用户的主组。如果未正确配置此设置,则安装程序会以标识符 [S0230] 报告此问题。Vertica 建议使用 verticadba 作为用户的主登录组。例如:usermod -g verticadba userNameHere
。如果用户的主组不是建议的 verticadba,则安装程序会以提示 [S0231] 报告此问题。 -
该用户必须具有主目录。如果不是,则安装程序会以标识符 [S0260] 报告此问题。
-
该用户的主目录必须归该用户所有。如果不是,则安装程序会以标识符 [S0270] 报告此问题。
-
系统必须知晓该用户的主目录(可使用 usermod 命令设置此目录:
usermod -m -d /path/to/new/home/dir userNameHere
)。如果未正确配置此设置,则安装程序会以 [S0250] 报告此问题。 -
该用户的主目录必须归 dbadmin 的主组所有(如果有必要,可使用
chown
和chgrp
命令)。如果未正确配置此设置,则安装程序会以标识符 [S0280] 报告此问题。 -
该用户的主目录应该具有安全的权限。具体而言,不能供任何人或组进行写入。理想情况下,在使用 ls 查看时,这些权限应该为“
---
”(无权限)或“r-x
”(读取和执行)。如果未按照建议配置此设置,则安装程序会以提示 [S0290] 报告此问题。
2 - TZ 环境变量
本主题详细说明如何设置或更改 TZ 环境变量并更新 tzdata 包。如果未设置此变量,则安装程序会以标识符 S0305 报告此问题。
在安装 Vertica 之前,更新系统的 tzdata 包,并通过指定 TZ
环境变量为数据库管理员帐户设置默认时区。如果正在通过 install_vertica
脚本创建数据库管理员,则在安装 Vertica 之后设置 TZ
变量。
更新 tzdata 包
tzdata 包是在大多数 Linux 系统中预先安装的公共域时区数据库。系统会针对全球时区变化定期更新 Tzdata 包。Micro Focus 建议在安装或更新 Vertica 之前更新到最新的 tzdata 包。
使用以下命令更新 tzdata 包:
-
基于 RedHat 的系统:
yum update tzdata
-
Debian 和 Ubuntu 系统:
apt-get install tzdata
设置默认时区
当客户端收到 SQL 查询的结果集时,如果有必要,所有行将包含调整为相同时区的数据。除非客户端使用 SQL SET TIME ZONE 命令(如《SQL 参考手册》中所述)明确覆盖相应设置,否则该时区将是启动程序节点的默认时区。任何节点的默认时区均由 TZ
环境变量控制。如果未定义 TZ
,则使用操作系统时区。
重要
在群集中的所有节点上,TZ
变量都必须设置为相同的值。如果操作系统时区未设置为数据库的目标时区,则确保已在所有群集节点上将 Linux 环境变量 TZ
设为目标值。
如果未设置 TZ 变量,安装程序将会返回警告。如果操作系统时区符合数据库要求,则使用操作系统时区,并且可以安全地忽略警告。
在主机上设置时区
重要
如果在启动
管理工具之前在命令行中显式设置 TZ
环境变量,则当前设置将不会生效。管理工具使用 SSH 在其他节点上启动副本,因此每次使用 SSH 时,都会重置启动命令的 TZ
变量。必须在群集所有节点上的 .profile
或 .bashrc
文件中设置 TZ
才能正常生效。
可采用多种不同的方法来设置时区,具体取决于 Linux 发行版或系统管理员的首选项。
-
要在 Red Hat 和 SUSE Linux 系统上设置系统时区,请编辑:
/etc/sysconfig/clock
-
要设置
TZ
变量,请编辑/etc/profile
、/home/dbadmin/.bashrc
或/home/dbadmin/.bash_profile
,然后添加以下行(例如,对于美国东部时区):export TZ="America/New_York"
有关 Vertica 识别哪些时区名称的详细信息,请参阅附录:在 Vertica 中使用时区。
3 - LANG 环境变量设置
本主题详细说明如何设置或更改 LANG 环境变量。LANG 环境变量用于控制主机的区域设置。如果未设置此变量,则安装程序会以标识符 S0300 报告此问题。如果此变量未设置为有效值,则安装程序会以标识符 S0301 报告此问题。
设置主机区域设置
每个主机都具有对应 Linux 环境变量 LANG
的系统设置。 LANG
在缺少 LC_ALL
和其他 LC_ 环境变量的情况下确定本机语言、本地习俗和编码字符集的区域设置类别。LANG
可由应用程序用来确定将哪种语言用于错误消息和说明、合并序列、日期格式等等。
要更改数据库管理员的 LANG
设置,请编辑所有群集主机上的 /etc/profile
、/dbadmin/.bashrc
或 /home/dbadmin/.bash_profile
,并设置环境变量;例如:
export LANG=en_US.UTF-8
LANG
设置用于控制 Vertica 中的以下各项:
-
操作系统级别的错误和警告,例如 COPY 操作期间的“找不到文件 (file not found)”。
-
一些格式化函数,例如 TO_CHAR 和 TO_NUMBER。另请参阅用于数字格式化的模板模式。
LANG
设置不控制以下项目:
-
Vertica 特定的错误和警告消息。这些消息目前始终为英语。
-
SQL 返回的发送到 Vertica 的结果的整理。相反,必须使用数据库参数来控制此设置。有关详细信息,请参阅为国际数据集实施区域设置部分。
注意
如果已设置LC_ALL
环境变量,它将取代 LANG
的设置。
4 - 软件包依赖项
要想成功安装 Vertica,在安装数据库平台之前,必须先在群集中的所有节点上安装三个软件包。
必需的软件包为:
-
openssh — 节点之间的 管理工具连接所需。
-
which — Vertica 操作系统集成和验证安装所需。
-
dialog — 与 Administration Tools 的交互性所需。
安装必需的软件包
安装必需的软件包所遵循的过程取决于在其上运行节点或群集的操作系统。有关安装软件包的详细信息,请参见相应操作系统的文档。
-
对于 CentOS/Red Hat 系统 —通常情况下,使用 yum 实用程序来管理 Red Hat 和 CentOS 系统上的软件包。
运行以下 yum 命令安装各个软件包依赖项。yum 实用工具将指导完成安装过程:
# yum install openssh # yum install which # yum install dialog
-
对于 Debian/Ubuntu 系统 —通常情况下,使用 apt-get 实用程序来管理 Debian 和 Ubuntu 系统上的软件包。
运行以下 apt-get 命令安装各个软件包依赖项。apt-get 实用工具将指导完成安装过程:
# apt-get install openssh # apt-get install which # apt-get install dialog