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

注意:更改服务RPC端口设置需要重新启动NameNodes,DataNodes和ZooKeeper故障转移控制器才能完全生效。如果您具有NameNode HA设置,则可以一次重新启动一个NameNode,然后重新启动其余组件以避免群集停机。

 如果是生成环境更要注意了,我在生成环境中把上述的配置加到hdfs-site.xml文件以后,还没有重启集群,就发现配置文件已经生效了,导致两台namenode都挂掉了,,,最好是先修改完一台namenode,成功重启以后再修改另外一台,否则可能导致公司的业务发生不可描述的问题。0.0

 

原文链接:Hortonworks社区

转载于:https://www.cnblogs.com/yjt1993/p/11198855.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值