git—位于单个github repo下的各种源存储库的嵌套结构

nxowjjhe  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(359)

我正在做一个项目,它包含一个hadoop节点集群,每个节点都有稍微不同的配置文件,特别是一个 NameNode , SecondaryNameNode ,和 DataNode .
我要做的是创建一个超架构的github存储库,它可以容纳这些不同的目录集、文件夹层次结构和文件。
我想的一个方法就是创建一个回购,不同的配置是不同的分支。
然而,还有别的方法吗?也许每个节点都位于主repo的不同子目录中?我知道这会使推拉变得复杂。
有人知道什么是最好的方法吗?
下面是我希望如何设置的图纸:

falq053o

falq053o1#

将不同的代码库放入单个存储库可能会很麻烦。当您想要做出一个适用于所有版本的更改时,将其合并到所有分支中可能会很乏味并且容易出错。
我会设计这样的系统,配置可以是单独的,并传递到使用它的代码。然后,创建4个独立的存储库:
主代码
名称节点配置
secondarynamenode配置
数据节点配置
每个配置包都将主代码包作为依赖项。每个包都可以有少量代码在主包中运行系统,并传递自己的配置。
这样,您可以有效地执行代码重用,并避免多个分支的问题。

b1uwtaje

b1uwtaje2#

如果我理解正确,您需要一些可以用来部署各种配置文件的配置管理工具。
首先,apacheambari或cloudera管理器已经为hadoop做了这项工作。在我看来,没有理由使用你自己的工具。
我讨论过的其他替代方法使用github repo来处理连续部署到集群的chef/puppet/ansible模块/角色。您可以在整个环境级别、每个服务或仅针对特定主机定义变量。所有配置都在主分支中。您可以使用主机组来指定应用于哪些服务器的服务或环境

相关问题