按照以下说明在 Linux 和类似平台上安装 MySQL Cluster Manager 代理。
从分发存档中提取 MySQL Cluster Manager 1.4.8 程序和其他文件。 您必须在打算用作 MySQL NDB Cluster 主机的每台计算机上安装 MySQL Cluster Manager 的副本。换句话说,您需要在作为 MySQL Cluster Manager 管理站点成员的每个主机上安装 MySQL Cluster Manager。对于每台主机,您应该使用与该计算机的操作系统和处理器架构相匹配的 MySQL Cluster Manager 构建。
在 Linux 系统上,您可以使用以下命令解压存档,
mcm-1.4.8-cluster-7.6.13-linux-sles11-x86-64bit.tar.gz
作为示例使用(实际文件名将根据您打算部署的 MySQL Cluster Manager 构建而有所不同):
$> tar -zxvf mcm-1.4.8-cluster-7.6.13-linux-sles11-x86-64bit.tar.gz
此命令将存档解压缩到与存档同名的目录中,减去.tar.gz
扩展名。存档中的顶级目录名为
mcm-1.4.8
.
由于 Solaris 版本的
tar无法正确处理长文件名,如果您尝试使用它来解压 MySQL Cluster Manager 存档,则 MySQL Cluster Manager 程序文件可能已损坏。要在 Solaris 操作系统上解决此问题,您应该使用 GNU tar
( gtar ) 而不是Solaris 提供的默认tar 。在 Solaris 10 上,gtar
通常已经安装在
/usr/sfw/bin
目录中,尽管
gtar可执行文件可能不包含在您的路径中。如果
gtar在您的系统上不存在,请查阅
Solaris 10 系统文档以获取有关如何获取和安装它的信息。
一般情况下,您放置解压后的MySQL Cluster Manager目录的位置和该目录的名称可以是任意的。但是,我们建议您为可选软件使用标准位置,例如/opt
在 Linux 系统上,并使用 1.4.8 版本号命名目录。(这有利于后续升级。)在典型的 Linux 系统上,您可以像这样完成此任务:
$> cd mcm-1.4.8-cluster-7.6.13-linux-sles11-x86-64bit
$> mv mcm-1.4.8 /opt/mcm-1.4.8
为了便于使用,我们建议您将 MySQL Cluster Manager 文件放在要运行它的每个主机上的同一目录中。
MySQL Cluster Manager Unix Distribution Archive 的内容。 如果您更改到放置提取的 MySQL Cluster Manager 存档的目录并列出内容,您应该会看到类似于此处显示的内容:
$> cd /opt/mcm-1.4.8
$> ls
bin cluster etc lib libexec licenses share var
下表描述了这些目录:
表 2.1 MySQL Cluster Manager Unix 分发存档的内容,按目录
目录 | 内容 |
---|---|
bin |
MySQL Cluster Manager 代理启动脚本 |
cluster |
包含 MySQL NDB Cluster 7.6.13 二进制分发版 |
etc |
包含代理配置文件 ( mcmd.ini ) |
etc/init.d |
初始化脚本 |
lib 和子目录 |
运行 MySQL Cluster Manager 代理所需的库 |
libexec |
MySQL Cluster Manager 代理和客户端可执行文件 |
licenses/lgpl |
包含源代码(包括许可和文档)的存档,适用于glib 2.1 |
share/doc/mcmd |
README.txt 文件 |
var |
包含 MySQL 集群管理器所需的有关进程、属性和命令语法的信息的 XML 文件 |
通常,上表中您需要关注的目录只有
bin
和etc
目录。
对于包含 MySQL NDB Cluster 的 MySQL Cluster Manager 1.4.8 发行版,目录中包含完整的 MySQL NDB Cluster 7.6.13 二进制发行版cluster
。在此目录中,MySQL NDB Cluster 发行版的布局与独立 MySQL NDB Cluster 二进制发行版的布局相同。例如,
可以在
. _ _ _ _
_ 有关更多信息,请参阅
MySQL Installation Layout for Generic Unix/Linux Binary Package和
Installing an NDB Cluster Binary Release on Linuxcluster/bin
,在
MySQL 手册中。
如果您希望使用附带的 MySQL NDB Cluster 软件,建议您将该cluster
目录及其所有内容移动到 MySQL Cluster Manager 安装目录之外的位置,例如
. 例如,在 Linux 系统上,您可以将 MySQL Cluster Manager 1.4.8 捆绑的 MySQL NDB Cluster NDB 7.6.13 软件移动到合适的位置,方法是先导航到 MySQL Cluster Manager 安装目录,然后使用 shell 命令类似于此处显示的内容:
/opt/ndb-
version
$> mv cluster /opt/ndb-7.6.13
mcmd选项使用安装目录目录中包含的 MySQL NDB Cluster 二进制文件,
如果
在那里找不到它们,则不起作用。要解决此问题,请在其位置创建指向正确目录的符号链接,如下所示:
--bootstrap
cluster
$> ln -s /opt/ndb-7.6.13 cluster
执行此操作后,您可以使用mcm客户端命令add package
并将upgrade
cluster
任何所需的一个或多个集群升级到新的 MySQL NDB Cluster 软件版本。
在 Linux 平台上,请勿尝试通过 RPM、Debian 或其他任何包管理系统的安装包来安装 MySQL NDB Cluster 软件。他们安装 MySQL NDB Cluster 的方式与 MySQL Cluster Manager 存档附带的二进制分发版不同,这将在您尝试使用 MySQL Cluster Manager 升级集群时导致未来出现问题。
默认情况下,MySQL Cluster Manager 代理将其日志文件写入
mcmd.log
安装目录中。当代理第一次运行时,它会创建一个目录,代理存储自己的配置数据;默认情况下,即../mcm_data
(相对于 MySQL Cluster Manager 的安装目录)。在 MySQL Cluster Manager 控制下的给定 MySQL NDB Cluster 的配置数据、日志文件和数据节点文件系统
cluster_name
,可以
在这个数据目录(有时也称为 MySQL Cluster Manager
数据存储库)下找到。
clusters/
cluster_name
可以使用
mcmd启动选项或通过更改代理配置文件来控制 MySQL Cluster Manager 代理配置文件、日志文件和数据目录的位置。为了简化 MySQL Cluster Manager 的升级,我们建议您将数据存储库更改为 MySQL Cluster Manager 安装目录之外的目录,例如
/var/opt/mcm
. 有关详细信息,请参阅
第 2.4 节,“MySQL Cluster Manager 配置文件”和
第 3.2 节,“启动和停止 MySQL Cluster Manager 代理”。
On Linux and other Unix-like systems, you can set up the MySQL Cluster Manager agent to run as a daemon, using the init script that is supplied with the MySQL Cluster Manager distribution. To do this, follow the steps listed here:
Copy the file
/etc/init.d/mcmd
under the MySQL Cluster Manager installation directory to your system's/etc/init.d/
directory (or equivalent). On a typical Linux system, you can do this using the following command in the system shell, wheremcmdir
is the MySQL Cluster Manager installation directory:$> cd mcmdir/etc/init.d $> cp mcmd /etc/init.d/mcmd
确保此文件具有适当的权限并且可由运行 MySQL Cluster Manager 的用户帐户执行。在典型的 Linux 系统上,这可以通过在系统 shell 中执行类似于此处所示的命令来完成:
$> chown mcmuser /etc/init.d/mcmd $> chmod 755 /etc/init.d/mcmd
请务必参考您的操作系统文档以获取有关执行这些操作所需的命令的确切信息,因为它们可能因平台而异。
/etc/init.d/mcmd
在文本编辑器中 打开文件。在这里,我们展示了该文件的一部分,其中我们突出显示了需要更新的两行:MCMD_SERVICE="mcmd" MCMD_PSERVICE="MySQL Cluster Manager" MCMD_ROOTDIR=@@MCMD_ROOTDIR@@ MCMD_BIN="$MCMD_ROOTDIR/bin/mcmd" MCMD_CONFIG="$MCMD_ROOTDIR/etc/mcmd.ini" # Run service as non-root user MCMD_USER=@@MCMD_USER@@ SU="su --login $MCMD_USER --command"
In the first of these lines, replace the placeholder
@@MCMD_ROOTDIR@@
with the complete path to the MySQL Cluster Manager installation directory. In the second of these lines, replace the placeholder@@MCMD_USER@@
with the name of the system user that runs the MySQL Cluster Manager agent (note that this must not be the systemroot
account). Save the edited file.
The MySQL Cluster Manager agent should now be started automatically whenever the system is restarted.
当代理配置为守护进程时,只要代理关闭时集群正在运行,集群进程就会在代理重新启动时自动启动。请注意,StopOnError
必须为所有数据节点禁用(设置为 0)才能使其正常工作。如果集群在代理关闭时停止,则有必要提供一个脚本来等待代理完成其启动和恢复阶段,然后,当代理准备就绪时,使用诸如 之类的命令启动集群。
mcmdir
/bin/mcm -e 'start
cluster --background
cluster_name
;'