从零搭建生产Hadoop集群(八)——上线与下线数据节点流程

一、概述

Hadoop集群中,经常需要在不重启集群的前提下,动态地上线与下线数据节点,而使用Cloudera Manager管理的集群,可以很方便地做到这一点,本文将介绍其相关流程。

二、节点上线流程

1. 服务器初始化

新节点的硬件配置最好能够跟原集群服务器保持一致或相差不大,而且上线之前,需要对硬件与系统层面的配置检查与初始化,可以参考本系列文章从零搭建生产Hadoop集群(三)——CDH集群搭建的第二节——硬件检查与系统配置,如关闭防火墙与Selinux、开启ntpd服务、配置hosts等。

2. 添加新主机到CM管理系统中

下面根据CM的向导添加主机到集群当中:

  1. 在CM“主机”页面点击“向集群添加新主机”
  2. 选择需要添加的集群,点击“继续”
  3. 填写新节点的主机ip,点击“继续”
  4. 选择存储库,选择与“此cloudera manager server匹配的发行版”即可
  5. 输入服务器用户名密码,继续下一步便会对主机安装cloudera manager agent及同步CDH的parcel包
  6. 对服务器与集群其他服务器版本检查是否一致,不一致则需修改完再检查一次,无误则点击“继续”
  7. 集群部署客户端配置

至此,新节点均已加入到CM管理当中,不过这里别忘了,为主机分配机架,因为hadoop是有机架感知机制的,对副本的分布有很大影响。可在“主机”页面勾选新节点,选择“分配机架”,填写对应机架即可。

3.添加角色实例

一般新数据节点上会启动datanode与nodemanager进程,也有可能有其他实例,这里以datanode添加过程为例,其他实例也类似:

  1. 在CM页面点击相应集群的“HDFS”服务
  2. 点击“实例”进入实例页面
  3. 点击“添加角色实例”
  4. 在“DataNode”选项中,选择“自定义”,而后选择新添加的主机
  5. 一路点击下一步,确认数据盘分布等信息无误即可将加入服务中

实例加入HDFS服务之后,若自定义了多个配置组,需要为其制定合适的配置组:

  1. 在CM页面点击相应集群的“HDFS”服务
  2. 点击“配置”进入配置页面
  3. 点击“角色组”
  4. 点击“DataNode”配置组,将新实例勾选,移动到合适的配置组中

以上步骤完了之后,便可到实例页面,勾选对应的datanode实例,选择启动即可。若启动失败,可点击对应日志检查。

三、节点下线流程

下线节点流程比较简单:

  1. 到对应的服务实例页面,勾选对应实例选择“解除授权”,执行后角色实例进程将会停止,再将其勾选删除即可。需要注意的是,datanode下线时需要对数据进行均衡,因此如果节点数据量比较大的话,下线需要一定的时间,而且不要同时下线两台及以上的数据节点,可能会造成数据丢失。
  2. 到下线主机上停止CM Agent进程
  3. 确认下线主机上的实例进程均已删除和关闭后,在“主机”页面勾选对应主机选择“删除”

下线后的节点,其上的CDH环境如需清理,可参考文章Cloudera Manager及CDH的卸载进行处理。

欢迎关注我的微信公众号
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在CDH上,您可以使用Spark的节点过滤功能来控制Spark Executor不分配到某些节点上。具体步骤如下: 1. 在CDH管理界面找到您想要排除的节点,并将它们添加到排除列表。 2. 在Spark配置,设置spark.executor.excludeNodes参数,将排除列表的节点名称添加到该参数,多个节点名称之间用逗号分隔。 例如,您可以在spark-defaults.conf文件添加以下行: spark.executor.excludeNodes=node1,node2,node3 3. 确认Spark Executor已经成功排除了指定的节点,可以在Spark UI的Executor页签查看Executor的分配情况,排除的节点将不会出现在分配的Executor列表。 请注意,这种方法并不是强制性的,Spark Executor仍然可以分配到被排除的节点上,特别是当资源不足时。如果您希望彻底避免Executor分配到某些节点上,您可以考虑在CDH使用节点标签功能来更细粒度地控制节点的资源分配。 ### 回答2: 在CDH上可以通过设置Spark的资源分配规则,来阻止Spark Executor被分配到某些节点上。 1. 在CDH集群管理器,打开Spark服务的配置页面。 2. 在"集群部署"部分,找到"Executor内存"和"Executor核心"的设置,分别表示每个Executor的内存和核心数量。 3. 在"高级配置分类(就是一个配置文件)"部分,找到"yarn-site.xml"的配置,打开编辑。 4. 在配置文件,寻找"yarn.nodemanager.include-then-exclude- popular-hosts"或"yarn.scheduler.include-then-exclude- popular-hosts"的设置,如果没有,则需在其添加。 5. 在该设置,添加不想要分配Executor的节点。比如,"exclude"可以添加一个或多个节点,用逗号分隔。如需要排除节点A和节点B,则可以设置为"exclude = A,B"。 6. 保存配置文件并重启Spark服务,使配置生效。 通过以上步骤,我们就可以在CDH上让Spark Executor不分配到某些节点上。这样可以避免特定节点上的资源不被Spark使用,从而实现更加灵活的资源管理和分配策略。 ### 回答3: 在CDH上,可以通过设置Spark的资源管理器来控制Executor不分配到某些节点上。 在yarn-site.xml文件,可以使用以下属性来限制Executor分配到特定节点: - yarn.scheduler.maximum-allocation-mb:指定每个节点的最大可用内存 - yarn.nodemanager.resource.memory-mb:指定每个节点的总内存量 通过调整这些属性,可以限制Executor被分配的节点的内存总量。例如,如果想要避免将Executor分配到节点A上,可以将节点A的内存量限制为较小的值,这将使资源管理器更倾向于将Executor分配到其他内存较大的节点上。 此外,还可以使用yarn.resourcemanager.exclude-list属性来指定不允许分配Executor的节点列表。在yarn-site.xml文件添加以下配置: ``` <property> <name>yarn.resourcemanager.exclude-list</name> <value>hostname1,hostname2,...</value> </property> ``` 将hostname1, hostname2等替换为不希望分配Executor的主机名列表。 配置完毕后,重启YARN资源管理器,Executor将不再分配到被指定的节点上。 需要注意的是,以上配置是在集群级别生效的,所以在进行调整时需要考虑整个集群的资源分配情况和需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值