HBase私有云

这里讲给大家一步一步的介绍组成HBase私有云的各个组件,以方便大家理解每个组件的作用。

初始集群状态

假设我们存在六台实体机,分为master和node两组,每组各三台机器。

upload successful
其中master机器包含:Mesos主实例、Zookeeper实例、Marathon实例、Docker实例

而node机器包含:Mesos从实例、Docker实例

下面我们依次介绍每个组件,以及添加依次添加组件之后数据中心的状态。

Zookeeper

Zookeeper属于我们系统中的一大重要组成部分。它将帮助我们构建集群并允许来自Mesos生态系统中的其它应用程序,比如mesos-master启动需要指定zk地址、mesos-slave、marathon启动需要指定mesos-master的znode

Zookeeper的安装过程非常简单,而且不需要什么技巧。

添加了zk之后,数据中心的状态更新为:

upload successful

Mesos

Mesos是Apache下的开源分布式资源管理框架,为了充分利用数据中心(上述六台机器)的资源(譬如为不同的任务分配不同资源,按任务优先级分配资源等),我们就需要一个工具来进行整个数据中心资源的管理、分配等, 这个工具就是 Mesos,它被称为是分布式系统的内核。

我们在master节点启动mesos-master实例,在node节点启动mesos-slave实例。

在Mesos安装完成后,大家可以审视其Web UI并尝试点击其中的按钮:http://master-ip:5050。 需要注意的是,如果当前主机并非Mesos Master的集群主节点,那么UI会将大家重新定向至主节点主机。

添加了mesos之后,数据中心的状态更新为:

upload successful

Docker

我觉得简单来说,Docker就是一个具有资源隔离功能的应用程序执行容器。

该步骤之后,数据中心的状态更新为:

upload successful

Marathon

现在我们的私有云有了资源管理的功能,也有了执行应用程序的容器,但是至今为止我们还不知道如何在资源管理的基础上,在docker中运行一个应用程序,而这时就需要Marathon了,如果说mesos是分布式集群的内核,那么marathon就是分布式集群的init系统。

Marathon还拥有一套Web UI,大家可以通过URL: http://master-ip:8080;进行访问。

upload successful
自动化部署
现在整个HBase私有云架构已经搭建完成,接下来就是关于自动化部署的内容了,关于这部分内容我们写了一个脚本,详情请见子页面。