如何给Hadoop集群划分角色

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢

1.文档编写目的


Fayson在之前的文章中介绍过《CDH网络要求(Lenovo参考架构)》,《如何为Hadoop集群选择正确的硬件》和《CDH安装前置准备》,而我们在搭建Hadoop集群时,还一件很重要的事就是如何给集群分配角色。

本文主要介绍由Cloudera Manager管理的CDH集群的角色划分。实际部署你可能还需要考虑工作负载的类型和数量,真实要部署的哪些服务,硬件资源,配置,以及其他因素。当你使用Cloudera Manager的安装向导来安装CDH时,CM会根据主机的可用资源,自动的分配角色到各台主机,边缘节点除外。你可以在向导中使用"自定义角色分配 - Customize Role Assignments"来更改这些默认划分,当然你也可以以后再使用Cloudera Manager来增加或修改角色分配。

在介绍角色划分时,我们首先来看看有哪几种主要的角色:

1.管理节点(Master Hosts):主要用于运行Hadoop的管理进程,比如HDFS的NameNode,YARN的ResourceManager。

2.工具节点(Utility Hosts):主要用于运行非管理进程的其他进程,比如Cloudera Manager和Hive Metastore。

3.边缘节点(Edge Hosts):用于集群中启动作业的客户端机器,边缘节点的数量取决于工作负载的类型和数量。

4.工作节点(Worker Hosts):主要用于运行DataNode以及其他分布式进程,比如ImpalaD。

本文会从测试/开发集群(小于10台),小规模集群(10-20台),中小规模集群(20-50台),中等规模集群(50-100台),大型集群(100-200台),超大规模集群(200-500台),巨型规模集群(500台以上)来分别讲述角色划分。以下角色划分场景都不包括Kafka,Kafka角色我们一般都会采用单独的机器部署。

2.集群角色划分

2.1.小于10台


一般用于测试/开发集群,我们建议至少5台机器,没有高可用。一个管理节点主要用于安装NameNode和ResourceManager,工具节点和边缘节点复用一个,主要用于安装Cloudera Manager等,剩余3-7台工作节点。

2.2.10-20台


这是最小规模的生产系统,必须启用高可用。我们会用2个管理节点用于安装2个NameNode,一个工具节点用于安装Cloudera Manager等,如果机器充足或者Hue/HiveServer2/Flume的负载特别高,可以考虑独立出边缘节点用于部署这些角色,否则也可以跟Cloudera Manager复用。最后还剩下7-17个工作节点。

注:根据实际情况选择是否需要单独的边缘节点。

MySQL主备参考《如何实现CDH元数据库MySQL的主备》,《如何实现CDH元数据库MySQL的主主互备》和《如何实现CDH元数据库MySQL的高可用》

OpenLDAP主备参考《3.如何实现OpenLDAP的主主同步》

Kerberos主备参考《如何配置Kerberos服务的高可用》

2.3.20-50台


这是中小规模的生产集群,必须启用高可用,与小规模集群角色划分差别不大。我们会用3个管理节点用于安装NameNode和Zookeeper等,一个工具节点用于安装ClouderaManager等,如果机器充足或者Hue/HiveServer2/Flume的负载特别高,可以考虑独立出边缘节点用于部署这些角色,否则也可以跟Cloudera Manager复用。最后还剩下16-46个工作节点。

注:根据实际情况选择是否需要单独的边缘节点。

Zookeeper和JournalNode需配置专有的数据盘

MySQL主备参考《如何实现CDH元数据库MySQL的主备》,《如何实现CDH元数据库MySQL的主主互备》和《如何实现CDH元数据库MySQL的高可用》

OpenLDAP主备参考《3.如何实现OpenLDAP的主主同步》

Kerberos主备参考《如何配置Kerberos服务的高可用》

HiveServer2和Impala Daemon的负载均衡参考《如何使用HAProxy实现Impala的负载均衡》,《如何使用HAProxy实现HiveServer2负载均衡》,《如何使用HAProxy实现Kerberos环境下的Impala负载均衡》,《如何使用Nginx实现Impala负载均衡》和《如何使用Zookeeper实现HiveServer2的HA》

2.4.50-100台


这是中等规模的生产集群,必须启用高可用。我们会用3个管理节点用于安装NameNode和Zookeeper等,一个工具节点用于安装Cloudera Manager,一个工具节点用于安装ClouderaManagement Service和Navigator等。使用三个节点安装Hue/HiveServer2/Flume,作为边缘节点,使用两个节点安装负载均衡软件比如F5或者HAProxy并配置为KeepAlive的主主模式,该负载均衡可同时用于HiveServer2和Impala Daemon。最后还剩下42-92个工作节点。

注:Zookeeper和JournalNode需配置专有的数据盘

MySQL主备参考《如何实现CDH元数据库MySQL的主备》,《如何实现CDH元数据库MySQL的主主互备》和《如何实现CDH元数据库MySQL的高可用》

OpenLDAP主备参考《3.如何实现OpenLDAP的主主同步》

Kerberos主备参考《如何配置Kerberos服务的高可用》

HiveServer2和Impala Daemon的负载均衡参考《如何使用HAProxy实现Impala的负载均衡》,《如何使用HAProxy实现HiveServer2负载均衡》,《如何使用HAProxy实现Kerberos环境下的Impala负载均衡》,《如何使用Nginx实现Impala负载均衡》和《如何使用Zookeeper实现HiveServer2的HA》

2.5.100-200台


属于大规模的生产集群,必须启用高可用。我们会用5个管理节点用于安装NameNode和Zookeeper等,1个工具节点用于安装Cloudera Manager,再使用4个工具节点分别安装HMS,Activity Monitor,Navigator等。使用3个以上节点安装Hue/HiveServer2/Flume,作为边缘节点,使用2个节点安装负载均衡软件比如F5或者HAProxy并配置为KeepAlive的主主模式,该负载均衡可同时用于HiveServer2和Impala Daemon。最后还剩下85-185个工作节点。

注:Zookeeper和JournalNode需配置专有的数据盘

Kudu Master不超过3个

Kudu Tablet Server不超过100个

MySQL主备参考《如何实现CDH元数据库MySQL的主备》,《如何实现CDH元数据库MySQL的主主互备》和《如何实现CDH元数据库MySQL的高可用》

OpenLDAP主备参考《3.如何实现OpenLDAP的主主同步》

Kerberos主备参考《如何配置Kerberos服务的高可用》

HiveServer2和Impala Daemon的负载均衡参考《如何使用HAProxy实现Impala的负载均衡》,《如何使用HAProxy实现HiveServer2负载均衡》,《如何使用HAProxy实现Kerberos环境下的Impala负载均衡》,《如何使用Nginx实现Impala负载均衡》和《如何使用Zookeeper实现HiveServer2的HA》

2.6.200-500台


属于超大规模的生产集群,必须启用高可用。我们会用7个管理节点用于安装NameNode和Zookeeper等,1个工具节点用于安装Cloudera Manager,再使用7个工具节点分别安装HMS,Activity Monitor,Navigator等。使用3个以上节点安装Hue/HiveServer2/Flume,作为边缘节点,使用2个节点安装负载均衡软件比如F5或者HAProxy并配置为KeepAlive的主主模式,该负载均衡可同时用于HiveServer2和Impala Daemon。最后还剩下180-480个工作节点。

注:Zookeeper和JournalNode需配置专有的数据盘

Kudu Master不超过3个

Kudu Tablet Server不超过100个

MySQL主备参考《如何实现CDH元数据库MySQL的主备》,《如何实现CDH元数据库MySQL的主主互备》和《如何实现CDH元数据库MySQL的高可用》

OpenLDAP主备参考《3.如何实现OpenLDAP的主主同步》

Kerberos主备参考《如何配置Kerberos服务的高可用》

HiveServer2和Impala Daemon的负载均衡参考《如何使用HAProxy实现Impala的负载均衡》,《如何使用HAProxy实现HiveServer2负载均衡》,《如何使用HAProxy实现Kerberos环境下的Impala负载均衡》,《如何使用Nginx实现Impala负载均衡》和《如何使用Zookeeper实现HiveServer2的HA》

2.7.500台以上


属于巨型规模的生产集群,必须启用高可用。我们会用20个管理节点用于安装NameNode和Zookeeper等,1个工具节点用于安装Cloudera Manager,再使用7个工具节点分别安装HMS,Activity Monitor,Navigator等。使用3个以上节点安装Hue/HiveServer2/Flume,作为边缘节点,使用2个节点安装负载均衡软件比如F5或者HAProxy并配置为KeepAlive的主主模式,该负载均衡可同时用于HiveServer2和Impala Daemon。最后还剩下至少467个工作节点。

注:这个规模的规划仅供参考,这种巨型规模的生产集群的角色划分依赖因素非常多,比如是否考虑NN和RM的联邦等

Zookeeper和JournalNode需配置专有的数据盘

Kudu Master不超过3个

Kudu Tablet Server不超过100个

MySQL主备参考《如何实现CDH元数据库MySQL的主备》,《如何实现CDH元数据库MySQL的主主互备》和《如何实现CDH元数据库MySQL的高可用》

OpenLDAP主备参考《3.如何实现OpenLDAP的主主同步》

Kerberos主备参考《如何配置Kerberos服务的高可用》

HiveServer2和Impala Daemon的负载均衡参考《如何使用HAProxy实现Impala的负载均衡》,《如何使用HAProxy实现HiveServer2负载均衡》,《如何使用HAProxy实现Kerberos环境下的Impala负载均衡》,《如何使用Nginx实现Impala负载均衡》和《如何使用Zookeeper实现HiveServer2的HA》

如果你玩的Hadoop集群节点数不在本文范围内,那你肯定不是在玩大数据,或者超过了Fayson的能力范围。

参考:

https://www.cloudera.com/documentation/enterprise/latest/topics/cm_ig_host_allocations.html

提示:代码块部分可以左右滑动查看噢 为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

原文发布于微信公众号 - Hadoop实操(gh_c4c535955d0f)

原文发表时间:2018-01-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Ryan Miao

idea 自动提示生成 serialVersionUID

from: http://tonycody.blog.51cto.com/8421818/1401422 Intellij IDEA 默认没启用这个功能。 Se...

2748
来自专栏美图数据技术团队

Spark Streaming VS Flink

本文从编程模型、任务调度、时间机制、Kafka 动态分区的感知、容错及处理语义、背压等几个方面对比 Spark Stream 与 Flink,希望对有实时处理...

1621
来自专栏Spark学习技巧

Spark2.4.0屏障调度器

其中,就有一项说到Spark 为了支持深度学习而引入的屏障调度器。本文就详细讲讲。

1413
来自专栏分布式系统和大数据处理

安装和配置Spark(单节点)

Apache Spark被称为第三代大数据处理平台,也当前应用最广泛的大数据处理方案,这篇文章将介绍如何在Linux系统(Cent OS7)上以单机模式(Sta...

7825
来自专栏搜云库

大数据平台搭建 Hadoop-2.7.4 + Spark-2.2.0 快速搭建

Apache Spark 简介 Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (...

5868
来自专栏Hadoop实操

如何使用Oozie API接口向非Kerberos环境的CDH集群提交Spark作业

在CDH集群外的节点向集群提交Spark作业的方式有多种,前面Fayson介绍了Livy相关的文章主要描述如何在集群外节点通过RESTful API接口向CDH...

3467
来自专栏数据之美

windows 安装 spark 及 pycharm 调试 TopN 实例

首先声明本文搭建的环境为:windows8.1 + spark1.6.0 + python2.7 + jdk8,spark on windows 对 windo...

4946
来自专栏闵开慧

hadoop源码解析1 - hadoop中各工程包依赖关系

1 hadoop中各工程包依赖简述     Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。     G...

3285
来自专栏LuckQI

惊心动魄的Hadoop-6小时350T数据恢复

1344
来自专栏Hadoop实操

如何使用Cloudera Manager在线为集群减容

在Hadoop集群资源紧张的情况下可以在线扩容来提升集群的计算能力,具体参考Fayson前面的文章《如何在非Kerberos环境下对CDH进行扩容》,那么在集群...

1.3K7

扫码关注云+社区

领取腾讯云代金券