1、Cloudera Manager包含内部机架感知脚本,但您必须指定群集中主机所在的机架。如果您的群集包含10个以上的主机,Cloudera建议您为每个主机指定机架。 HDFS,MapReduce和YARN将自动使用您指定的机架。
https://www.cloudera.com/documentation/enterprise/5-13-x/topics/cm_mc_specify_rack.html

2、cdh不同版本支持的操作系统 参考链接为
https://blog.csdn.net/high2011/article/details/78131668
https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html#concept_xdm_rgj_j1b

3、停用主机停用并停止主机上的所有角色,而无需单独停用每个服务上的角色。 退役仅适用于HDFS DataNode,MapReduce TaskTracker,YARN NodeManager和HBase RegionServer角色。 如果主机上运行了其他角色,则会停止这些角色。在主机上的所有角色都已停用并停止后,可以从服务中删除主机。 您可以并行停用多个主机。

4、如果DataNode的数量等于HDFS中存储的任何文件的复制因子(默认值为3),则无法停用DataNode或具有DataNode的主机。例如,如果任何文件的复制因子为3,并且您有三个DataNode,则无法停用DataNode或具有DataNode的主机。如果在这种情况下尝试停用DataNode或具有DataNode的主机,则DataNode将被停用,但停用过程将无法完成。您必须中止退役并重新启动DataNode。
//这句话的意思就是 只有3台datanode 但是你要停用一台,但是复制因子是3 必须修改复制因子之后,才可以停用一台datanode
注意:退出DataNode时,不会从存储目录中删除数据块。您必须手动删除数据。

5、当一个DataNode退役时,NameNode确保来自DataNode的每个块仍然可以在复制因子的指示下在整个群集中可用。 此过程涉及以小批量从DataNode复制块。 如果DataNode有数千个块,则退役可能需要几个小时。 在使用DataNodes停用主机之前,您应首先调整HDFS:
(1、)运行以下命令以识别HDFS文件系统中的任何问题:
hdfs fsck / -list-corruptfileblocks -openforwrite -files -blocks -locations 2>&1 > /tmp/hdfs-fsck.txt
(2、)修复fsck命令报告的任何问题。 如果命令输出列出了损坏的文件,请使用fsck命令将它们移动到lost + found目录或删除它们:
hdfs fsck file_name -move 或者 hdfs fsck file_name -delete
(3、)提高DataNodes的堆大小。 DataNodes应配置至少4 GB的堆大小,以允许迭代和最大流的增加。
    转到HDFS服务页面。
    单击“配置”选项卡。
    选择Scope> DataNode。
    选择类别>资源管理。
    按建议设置“字节数”中的“数据堆大小”。
(4、)设置DataNode平衡带宽:
     选择Scope> DataNode。
     展开“类别”>“性能”类别。
     将DataNode Balancing Bandwidth属性配置为磁盘和网络上的带宽。 您可以使用低于此值的值,以便最大限度地减少退役对群集的影响,但权衡是退役将需要更长时间。
     单击“保存更改”以提交更改。
(5、)将每次迭代的复制工作乘数增加到更大的数字(默认值为2,但建议为10):
     选择Scope> NameNode。
     展开“类别”>“高级”类别。
     将“每次迭代复制工作乘数”属性配置为值10,例如10。
     要根据需要将此配置属性应用于其他角色组,请编辑相应角色组的值。 请参阅使用Cloudera Manager修改配置属性。
     单击“保存更改”以提交更改。
(6、)增加复制最大线程数和最大复制线程硬限制:
     选择Scope> NameNode。
     展开“类别”>“高级”类别。
     将DataNode上的最大复制线程数和DataNode属性上复制线程数的硬限制分别配置为50和100。 您可以减少线程数(或使用默认值)以最小化退役对群集的影响,但权衡是退役将花费更长时间。
     要根据需要将此配置属性应用于其他角色组,请编辑相应角色组的值。 请参阅使用Cloudera Manager修改配置属性。
     单击“保存更改”以提交更改。
(7、)重启HDFS服务。
有关其他调整建议,请参阅性能注意事项。
参考链接为 : https://www.cloudera.com/documentation/enterprise/5-13-x/topics/cm_mc_decomm_host.html

6、在退役DataNode之前调整HBase
要提高滚动重新启动HBase服务的速度,请将Region Mover Threads属性设置为更高的值。这增加了可以并行移动的区域的数量,但是对HMaster施加了额外的压力。在大多数情况下,Region Mover Threads应设置为5或更低。重新启动主机
只有使用Cloudera Manager退役的主机才能重新启动。

7、退役datanode
性能注意事项
(1)退出DataNode不会立即发生,因为该过程需要复制可能大量的块。在淘汰期间,群集的性能可能会受到影响。
退役分两步进行:
第一步: DataNode的委员会状态标记为退役,数据从此节点复制到其他可用节点。在复制所有块之前,节点仍处于退役状态。您可以从NameNode Web UI查看此状态。 (转到HDFS服务并选择Web UI> NameNode Web UI。)当所有数据块都复制到其他节点时,该节点将标记为“已停用”。
第二步:当所有数据块都复制到其他节点时,该节点将标记为“已停用”。
退役可以通过以下方式影响性能:
A 其他活动DataNode上必须有足够的磁盘空间才能复制数据。 在退役之后,剩余的活动DataNode具有更多块,因此将来停用这些DataNode可能需要更多时间。
B 在复制数据块时,将增加网络流量和磁盘I / O.
C 数据平衡和数据位置可能会受到影响,这可能会导致任何正在运行或提交的作业的性能下降。
D 同时停用大量DataNode会降低性能。
E 如果要淘汰少数DataNode,那么从这些节点读取数据的速度会限制退役的性能,因为当从DataNode读取数据块时,退役会最大化网络带宽,并将用于复制块的带宽扩展到其他DataNode中。 簇。 为避免群集中的性能影响,Cloudera建议您仅同时停用少数DataNode。
F 您可以减少可用于平衡DataNode的带宽和复制线程的数量,以降低复制的性能影响,但这将导致退役过程需要更长时间才能完成。 请参阅在退役DataNode之前调整HDFS。

//Cloudera建议您以较小的组并行添加DataNode和停用DataNode。 例如,如果复制因子为3,则应添加两个DataNode并同时停用两个DataNode。

8、排除退役性能
退役DataNode时,以下条件也会影响性能:
(     打开文件
     无法重定位块,因为没有足够的DataNode来满足块放置策略。)
打开文件
     DataNode上的写操作不涉及NameNode。 如果存在与位于DataNode上的打开文件关联的块,则在文件关闭之前不会重定位它们。 这通常发生在:
         使用HBase的集群
         打开Flume文件
         长期运行的任务

     要查找和关闭打开的文件:分为一下5步
第一步:
登录NameNode主机,切换到日志目录。
可以使用NameNode日志目录属性配置此目录的位置。 默认情况下,此目录位于:/var/log/hadoop-hdfs/
第二步:
运行以下命令以验证日志是否提供了所需的信息:
grep "Is current datanode" NAME | head
日志文件的第六列显示块ID,该消息应与DataNode退役相关。 执行以下命令,查看相关日志条目:
grep "Is current datanode" NAME | awk '{print $6}' | sort -u > blocks.open
第三步:
运行以下命令以返回打开文件,其块以及这些块的位置列表:
hadoop fsck / -files -blocks -locations -openforwrite 2>&1 > openfiles.out
第四步:
查看由命令为显示blocks.open的块创建的openfiles.out文件。 还要验证DataNode IP地址是否正确。
第五步:
使用打开的文件列表,执行相应的操作以重新启动进程以关闭文件。
例如,主要压缩会关闭HBase区域中的所有文件。

无法重定位块,因为没有足够的DataNode来满足块放置策略。
     例如对于10节点集群,如果在尝试取消配置一个DataNode时将mapred.submit.replication设置为默认值10,则重新定位与map / reduce作业关联的块将会很困难。 此条件将导致NameNode日志中的错误类似于以下内容:
org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault: Not able to place enough replicas, still in need of 3 to reach 3
使用以下步骤查找块复制策略等于或高于当前群集大小的文件数:
第一步
通过运行以下命令提供打开文件,其块以及这些块的位置的列表:
     hadoop fsck / -files -blocks -locations -openforwrite 2>&1> openfiles.out
第二步:
运行以下命令以返回具有给定复制因子的文件的列表:
     grep repl= openfiles.out | awk '{print $NF}' | sort | uniq -c
     例如,当复制因子为10时,退役一个:
     egrep -B4 "repl=10" openfiles.out | grep -v '

' | awk '/^\//{print $1}'
第三步
     检查路径,并决定是减少文件的复制因子,还是从群集中删除它们。

9、删除主机2种方式
1、 完全从Cloudera Manager中删除主机。
2、 从群集中删除主机,但将其保留给Cloudera Manager管理的其他群集
这两种方法都会停用主机,删除角色和删除托管服务软件,但会保留数据目录。

10、
维护模式允许您禁止主机,服务,角色或整个群集的警报。 当您需要在群集中执行操作(进行配置更改并重新启动各种元素)并且不希望看到由于这些操作而生成的警报时,这非常有用。
将实体置于维护模式不会阻止记录事件; 它只会抑制那些事件会产生的警报。 您可以查看在这些实体处于维护模式期间为实体记录的所有事件的历史记录。

参考链接: