NameNode性能优化(1):RPC队列拆分

一、Service RPC port

NameNode默认使用8020端口侦听所有的RPC请求(HDP版本),包括客户端数据请求,DataNode心跳和block上报,ZKFC模块监控检查和切换控制。当集群规模越和RPC请求来越大时,RPC请求响应时间也变得越来越长。
NameNode也给DataNode提供了专用的Service RPC port用于上报数据块和心跳状态,这样可以减少和客户端应用程序RPC队列请求的竞争。这个端口默认没有开启,需要手动配置参数。
Service RPC port另外也用于NameNode HA模块的ZKFC健康检查和auto failover 控制。

二、参数配置和HA集群操作步骤

1、对于无NameNode HA的集群,参数配置如下,

<property>
    <name>dfs.namenode.servicerpc-address</name>
    <value>namenode-host:8040</value>
</property>

2、对于NameNode开启了HA的集群,配置如下,

<property>
    <name>dfs.namenode.servicerpc-address.test.nn1</name>
    <value>test1st.com:8040</value>
</property>

<property>
    <name>dfs.namenode.servicerpc-address.test.nn2</name>
    <value>test2st.com:8040</value>
</property>

3、 重启节点使参数生效步骤

整个操作步骤如下,
1)重启standby namenode
2)重启active namenode
3)rolling restart datanode,
4)stop ZKFC
5)重新格式化ZKFC并启动zkfc

hdfs zkfc -formatZK

参考资料:https://community.hortonworks.com/articles/43838/scaling-the-hdfs-namenode-part-1.html

本文原创:http://mdba.cn/wp-admin/post.php?post=1360

此条目发表在Hadoop分类目录,贴了, 标签。将固定链接加入收藏夹。

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据