跳到主要内容
版本:0.2.x

软件包部署

将 ByConity 部署到物理机器的一种方法是使用软件包管理器。 例如,为 Debian OS 安装 Debian 软件包,为 Centos OS 安装 rpm 软件包。

安装 FoundationDB 和 HDFS

ByConity 使用 FoundationDB 作为元存储,使用 HDFS 作为数据存储。因此,在开始部署 ByConity 之前,我们需要先部署 FoundationDB 和 HDFS。

要部署 Foundation 数据库,可以参考此处的安装指南。

之后,我们需要部署一个 HDFS 集群,其中包括名称节点和数据节点,并在 HDFS 中创建目录 /user/clickhouse 以存储数据。可以参考此处的安装指南。完成此步骤后,您将得到名称节点 url,通常是 core-site.xml 配置中找到的 fs.defaultFS 的值。

安装 FoundationDB 客户端

现在我们将开始部署 Byconity。ByConity 软件包依赖于 FoundationDB 客户端软件包。因此,在将 ByConity 软件包部署到任何计算机之前,我们需要先部署 FoundationDB 客户端软件包。FoundationDB 客户端软件包与 FoundationDB 服务器版本紧密耦合。因此,我们需要选择与 FoundationDB 服务器版本匹配的客户端软件包。

要部署 FoundationDB 客户端软件包,我们转到 页面 上,找到适合您的操作系统的正确软件包并下载它。例如,在此处我下载版本 7.1.27 用于 Debian OS,amd64 机器。

curl -L -o foundationdb-clients_7.1.27-1_amd64.deb https://github.com/apple/foundationdb/releases/download/7.1.27/foundationdb-clients_7.1.27-1_amd64.deb

然后使用此命令进行安装

sudo dpkg -i foundationdb-clients_7.1.27-1_amd64.deb

部署 ByConity 软件包

接下来,我们将部署 ByConity 软件包,您可以在发布 页面 中找到它们。或者,您可以自己构建软件包,在这种情况下,请按照此 指南

安装 byconity-common-static

需要安装的第一个软件包是常见软件包 byconity-common-static,这是所有其他软件包都依赖的软件包。

sudo dpkg -i byconity-common-static_0.1.1.1_amd64.deb

之后编辑配置文件 /etc/byconity-server/cnch_config.xml/etc/byconity-server/fdb.configcnch_config.xml 文件包含 service_discovery 配置、hdfs 配置和 foundationdb 集群配置路径。 fdb.config 是 FoundationDB 集群的集群配置文件。

配置 cnch_config.xml

cnch_config.xml 文件包含两部分需要用户配置的内容,service_discovery 标签和 hdfs_nnproxy 标签。在 ByConity 中,组件之间有三种相互发现的方式。mode 标签用于指定方式,有三种模式:localdnsconsul

local 模式下,用户需要在此配置文件中指定所有组件的 IP 地址或主机名,通过替换占位符 {your_xxx_address}(例如 {your_server_address}),该占位符实际上是组件的 IP 地址,例如 10.0.2.72

对于 hdfs_nnproxy 标签,包含 HDFS 名称节点的地址。

配置 fdb.config

fdb.config 是 FoundationDB 客户端连接到 FoundationDB 服务器的文件,您将在配置 FoundationDB 服务器后拥有它。在这里阅读更多内容。

之后在您想要安装 TSO 服务的机器上。下载 byconity-tso 包并安装。

sudo dpkg -i byconity-tso_0.1.1.1_amd64.deb

如果这是第一次在系统上安装该软件包,则不会立即启动,而是在下一次重启时启动。您可以通过以下命令检查其状态:

systemctl status byconity-tso

TSO 服务的配置位于 /etc/byconity-server/byconity-tso.xml,您可以按照自己的需求进行配置,但默认值已足够好用。若要立即启动该服务,请执行以下命令:

systemctl start byconity-tso

下次再次安装该软件包(例如,您想要升级),则无需执行 start 命令。

以相同的方式,安装 ByConity 资源管理器、ByConity 服务器、ByConity 工作器、ByConity 工作器写入和 ByConity 守护程序管理器。 byconity-resource-managerbyconity-daemon-mangerbyconity-tso 是轻量级服务,因此可以安装在共享机器上与其他软件包一起使用。但是,对于 byconity-serverbyconity-workerbyconity-worker-write,我们应该将它们分别安装在不同的机器上。

sudo dpkg -i byconity-resource-manager_0.1.1.1_amd64.deb
sudo dpkg -i byconity-server_0.1.1.1_amd64.deb
sudo dpkg -i byconity-worker_0.1.1.1_amd64.deb
sudo dpkg -i byconity-worker-write_0.1.1.1_amd64.deb
sudo dpkg -i byconity-daemon-manager_0.1.1.1_amd64.deb

您可以以同样的方式安装更多的工作节点。每个工作节点都有一个名为WORKER_ID的设置项,在配置文件/etc/byconity-server/(byconity-worker|byconity-worker-write).xml中配置工作节点的worker idworker id在工作节点之间必须是唯一的,配置文件中WORKER_ID的默认值为空。在这种情况下,worker_id会自动分配为主机机器的 IP 地址。