大数据平台的搭建利器(2)

利用 Ambari 管理 Hadoop 集群

在上一章节中,我们已经体验到 Ambari 为 Hadoop 生态圈的安装提供的便利。这已经省去了很多的人力成本。尤其是对大数据圈子的测试人员来说,自动化就容易了很多。下面我们看看如何通过 Ambari 管理 Hadoop 的集群。

Service Level Action(服务级别的操作)

首先我们进到 Ambari 的 GUI 页面,并查看 Dashboard。在左侧的 Service 列表中,我们可以点击任何一个您想要操作的 Service。以 MapReduce2 为例(Hadoop 这里的版本为 2.6.x,也就是 YARN+HDFS+MapReduce),当点击 MapReduce2 后,就会看到该 Service 的相关信息,如下图。

图 7. MapRduce2 的 Service 页面

图 7. MapRduce2 的 Service 页面

图 7. MapRduce2 的 Service 页面

图 7. MapRduce2 的 Service 页面

 

中间部分是 Service 的模块(Component)信息,也就是该 Service 有哪些模块及其数目。右上角有个 Service Action 的按钮,当点击该按钮后就可以看到很多 Service 的控制命令。也就是通过这些 Service Action 命令,对 Service 进行管理的。

可能有的人会说,装完 Hadoop 的集群后,并不知道这个集群是不是可用。这时候我们就可以运行一个“Run Service Check”。点击这个命令后,就会出现下图的进度显示。

图 8. MapReduce Service Check

图 8. MapReduce Service Check

图 8. MapReduce Service Check

图 8. MapReduce Service Check

 

其实这里就是通过运行一个经典的 MapReduce Wordcount 实例,来检查 MapReduce 是不是正常。对于 Service Action 里面的 Start、Stop 的含义就是,启停整个集群所有该 Service 的模块(也就是 Service level)。当执行进度页面弹出来的时候,我们可以点击 Operations 的名字,进而查看每个机器的进度和运行 log。如下图 Stop 的操作。

图 9. 命令执行进度 1

图 9. 命令执行进度

图 9. 命令执行进度 1

图 9. 命令执行进度

 

图 10. 命令执行进度 2

图 10. 命令执行进度 2

图 10. 命令执行进度 2

图 10. 命令执行进度 2

 

维护模式(Maintenance Mode)以及如何添加一个自定义的命令到 Service Action,我会在后续的连载中进行介绍。

Host Level Action(机器级别的操作)

首先,我们回到 Ambari 的 Dashboard 页面。页面最上面中间的地方有个 Hosts,点击这个标签,我们就可以看到 Ambari 所管理的机器列表。如下图。

图 11. Ambari 的机器列表

图 11. Ambari 的机器列表

图 11. Ambari 的机器列表

图 11. Ambari 的机器列表

 

图片中红色的数字是警告信息(Ambari Alert),这里我们先略过它,后续文章再做介绍。先看左上角的 Actions,点击这个按钮,就可以看到 Host level Action 的选项了,其实和 Service Level 是类似的,只是执行的范围不一样。如下图。当用户选择 All Hosts -> Hosts -> Start All Components,Ambari 就会将所有 Service 的所有模块启动。

图 12. 启动所有 Service 的所有模块

图 12. 启动所有 Service 的所有模块

如果用户选择 All Hosts-> DataNodes -> Stop,Ambari 就会把所有机器的 DataNode 这个模块关闭。如下图。

图 13. 关闭所有的 DataNode 模块

图 13. 关闭所有的 DataNode 模块

Component Level Action(模块级别的操作)

上面的图中,我们可以看到 Decommisson、Recommission。这些命令其实是自定义的模块级别的操作(Component Level Action)。不过上图中命令一旦执行,就是对多个机器的同个模块执行。

我们现在尝试只对单个机器的一个模块(Component)执行。首先我们回到 Hosts 的页面。这时候点击机器名,我们就会进入到该机器的 Component 页面。如下图。

图 14. Component 页面

图 14. Component 页面

这时候只要点击每个 Component(模块)后面的按钮,就可以看到该模块的操作命令了。例如,我们可以停掉这台机器的 DataNode 模块。

图 15. 停止 DataNode 模块 1

图 15. 停止 DataNode 模块

图 16. 停止 DataNode 模块 2

图 16. 停止 DataNode 模块 2

图 16. 停止 DataNode 模块 2

图 16. 停止 DataNode 模块 2

 

关于如何给一个模块添加自定义的命令,也会在后续的连载中做介绍。

这一章节中,主要介绍了如何通过三种级别的 Action(操作)管理 Hadoop 的集群。在 Ambari 中已经加入了很多自定义的 Action 去做一些特殊的操作。如果对 Hadoop 生态圈的软件足够熟悉,就可以尝试更多的 Action。可能有的人会问,Ambari 可不可以扩容集群。答案当然是可以的。Ambari 可以给自身的集群添加机器(也就是添加 Ambari Agent),然后将 Service 的模块安装在新的机器,也可以把某些模块安装到已有的其他的机器。篇幅有限,将在后续的连载中介绍更多的内容。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/11c5f22d32b6c2eea240c5134d172507.html