初始化集群
GitHub Enterprise Server 集群必须使用许可进行设置,并使用管理 shell (SSH) 进行初始化。
本文内容
注:GitHub Enterprise Server 集群必须通过 HTTPS 进行配置。
安装 GitHub Enterprise Server
- 在每个集群节点上,提供并安装 GitHub Enterprise Server。 更多信息请参阅“设置 GitHub Enterprise Server 实例”。
- 使用管理 shell 或 DHCP,仅配置每个节点的 IP 地址。 不要配置任何其他设置。
配置第一个节点
-
连接到将在
cluster.conf中被指定为mysql-master的节点。 For more information, see “About the cluster configuration file." -
在 Web 浏览器中,访问
https://<ip address>:8443/setup/。 -
在提示时上传许可文件并设置管理控制台密码。 更多信息请参阅“管理 GitHub Enterprise Server 许可”。
-
在 管理控制台 中,配置并保存您所需的设置。
-
实例将自动重启。
初始化集群
要初始化集群,您需要一个集群配置文件 (cluster.conf)。 更多信息请参阅“关于集群配置文件”。
- 从配置的第一个节点开始,运行
ghe-cluster-config-init。 如果集群配置文件中存在未配置的节点,此操作会初始化集群。 - 运行
ghe-cluster-config-apply。 这将验证cluster.conf文件,将配置应用于每个节点文件,并在每个节点上显示已配置的服务。
要检查正在运行的集群的状态,使用 ghe-cluster-status 命令。
关于集群配置文件
集群配置文件 (cluster.conf) 会定义集群中的节点以及它们运行的服务。 For more information, see "About cluster nodes."
此示例 cluster.conf 定义了一个包含五个节点的集群。
- Two nodes (called
ghe-app-node-\*) run theweb-serverandjob-serverservices responsible for responding to client requests. - 三个节点(称为
ghe-data-node-\*)运行负责存储和检索 GitHub Enterprise Server 数据的服务。
节点的名称可以是您选择的任何有效主机名。 名称被设置为每个节点的主机名,并且还将添加到每个节点上的 /etc/hosts 中,以便节点可以在本地相互解析。
通过 mysql-server 和 mysql-master 指定您配置为 MySQL master 的第一个集群节点。
Warning: If you're upgrading a GitHub Enterprise Server cluster to version 2.16 or deploying a new GitHub Enterprise Server cluster running version 2.16, ensure that you include the following key-value pairs in cluster.conf.
-
This key-value pair in the
[cluster]section specifies a primary datacenter nameddefault.primary-datacenter = default -
These key-value pairs in the section for an individual node add the
consul-serverservice and specify thedefaultdatacenter. At least three nodes in your cluster must run theconsul-serverservice in the primary datacenter. For more information, see "About cluster nodes."consul-server = true consul-datacenter = default
[cluster]
mysql-master = ghe-data-node-1
redis-master = ghe-data-node-1
primary-datacenter = default
[cluster "ghe-app-node-1"]
hostname = ghe-app-node-1
ipv4 = 192.168.0.2
# ipv6 = fd12:3456:789a:1::2
web-server = true
job-server = true
[cluster "ghe-app-node-2"]
hostname = ghe-app-node-2
ipv4 = 192.168.0.3
# ipv6 = fd12:3456:789a:1::3
web-server = true
job-server = true
[cluster "ghe-data-node-1"]
hostname = ghe-data-node-1
ipv4 = 192.168.0.4
# ipv6 = fd12:3456:789a:1::4
consul-server = true
consul-datacenter = default
git-server = true
pages-server = true
mysql-server = true
elasticsearch-server = true
redis-server = true
memcache-server = true
metrics-server = true
storage-server = true
[cluster "ghe-data-node-2"]
hostname = ghe-data-node-2
ipv4 = 192.168.0.5
# ipv6 = fd12:3456:789a:1::5
consul-server = true
consul-datacenter = default
git-server = true
pages-server = true
mysql-server = true
elasticsearch-server = true
redis-server = true
memcache-server = true
metrics-server = true
storage-server = true
[cluster "ghe-data-node-3"]
hostname = ghe-data-node-3
ipv4 = 192.168.0.6
# ipv6 = fd12:3456:789a:1::6
consul-server = true
consul-datacenter = default
git-server = true
pages-server = true
mysql-server = true
elasticsearch-server = true
redis-server = true
memcache-server = true
metrics-server = true
storage-server = true
在配置的第一个节点上创建文件 /data/user/common/cluster.conf。 例如,使用 vim:
ghe-data-node-1:~$ sudo vim /data/user/common/cluster.conf