这里讲给大家一步一步的介绍组成HBase私有云的各个组件,以方便大家理解每个组件的作用。
初始集群状态
假设我们存在六台实体机,分为master和node两组,每组各三台机器。
其中master机器包含:Mesos主实例、Zookeeper实例、Marathon实例、Docker实例
而node机器包含:Mesos从实例、Docker实例
下面我们依次介绍每个组件,以及添加依次添加组件之后数据中心的状态。
Zookeeper
Zookeeper属于我们系统中的一大重要组成部分。它将帮助我们构建集群并允许来自Mesos生态系统中的其它应用程序,比如mesos-master启动需要指定zk地址、mesos-slave、marathon启动需要指定mesos-master的znode。
Zookeeper的安装过程非常简单,而且不需要什么技巧。
添加了zk之后,数据中心的状态更新为:
Mesos
Mesos是Apache下的开源分布式资源管理框架,为了充分利用数据中心(上述六台机器)的资源(譬如为不同的任务分配不同资源,按任务优先级分配资源等),我们就需要一个工具来进行整个数据中心资源的管理、分配等, 这个工具就是 Mesos,它被称为是分布式系统的内核。
我们在master节点启动mesos-master实例,在node节点启动mesos-slave实例。
在Mesos安装完成后,大家可以审视其Web UI并尝试点击其中的按钮:http://master-ip:5050。 需要注意的是,如果当前主机并非Mesos Master的集群主节点,那么UI会将大家重新定向至主节点主机。
添加了mesos之后,数据中心的状态更新为:
Docker
我觉得简单来说,Docker就是一个具有资源隔离功能的应用程序执行容器。
该步骤之后,数据中心的状态更新为:
Marathon
现在我们的私有云有了资源管理的功能,也有了执行应用程序的容器,但是至今为止我们还不知道如何在资源管理的基础上,在docker中运行一个应用程序,而这时就需要Marathon了,如果说mesos是分布式集群的内核,那么marathon就是分布式集群的init系统。
Marathon还拥有一套Web UI,大家可以通过URL: http://master-ip:8080;进行访问。
自动化部署
现在整个HBase私有云架构已经搭建完成,接下来就是关于自动化部署的内容了,关于这部分内容我们写了一个脚本,详情请见子页面。