注:GitHub Enterprise Server 集群必须通过 HTTPS 进行配置。
安装 GitHub Enterprise Server
- 在每个集群节点上,提供并安装 GitHub Enterprise Server。 更多信息请参阅“设置 GitHub Enterprise Server 实例”。
- 使用管理 shell 或 DHCP,仅配置每个节点的 IP 地址。 不要配置任何其他设置。
配置第一个节点
- 连接到将在
cluster.conf
中被指定为mysql-master
的节点。 更多信息请参阅“关于集群配置文件”。 - 在 Web 浏览器中,访问
https://<ip address>:8443/setup/
。 - 在提示时上传许可文件并设置管理控制台密码。 更多信息请参阅“管理您的 GitHub Enterprise 许可。”
- 在 管理控制台 中,配置并保存您所需的设置。
- 实例将自动重启。
初始化集群
要初始化集群,您需要一个集群配置文件 (cluster.conf
)。 更多信息请参阅“关于集群配置文件”。
- 从配置的第一个节点开始,运行
ghe-cluster-config-init
。 如果集群配置文件中存在未配置的节点,此操作会初始化集群。 - 运行
ghe-cluster-config-apply
。 这将验证cluster.conf
文件,将配置应用于每个节点文件,并在每个节点上显示已配置的服务。
要检查正在运行的集群的状态,使用 ghe-cluster-status
命令。
关于集群配置文件
集群配置文件 (cluster.conf
) 会定义集群中的节点以及它们运行的服务。 更多信息请参阅“关于集群节点”。
此示例 cluster.conf
定义了一个包含五个节点的集群。
- 两个节点(称为
ghe-app-node-\*
)运行负责响应客户端请求的web-server
和job-server
服务。 - 三个节点(称为
ghe-data-node-\*
)运行负责存储和检索 GitHub Enterprise Server 数据的服务。
节点的名称可以是您选择的任何有效主机名。 名称被设置为每个节点的主机名,并且还将添加到每个节点上的 /etc/hosts
中,以便节点可以在本地相互解析。
通过 mysql-server
和 mysql-master
指定您配置为 MySQL master 的第一个集群节点。
[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