HDFS使用RBF注意事项

RBF 需要优化的配置

NameNode 侧

  1. NN 启用 RPC context 特性,在审计日志中打印真实的客户端 IP.
    默认情况下,NN 的审计日志记录的所有请求的源 IP 都是 Router,如果要看到真正的 client IP,需要在 NameNode 侧,hdfs-site.xml 中,使能 callerContext,之后在 NN 审计日志中,将在 CallerContext 字段记录此次 RPC 请求的真实 IP:
    在 NameNode 侧,hdfs-site.xml 中,做如下配置:
  <property>
    <name>hadoop.caller.context.enabled</name>
    <value>true</value>
  </property>

审计日志如下


客户端侧

  1. 客户端随机选择 router,而不是总选择第一个.
    默认情况下,在客户端配置了多个 router 时,客户端总是优先使用第一个 router,如果所有客户端都是这种行为的话,很可能会造成第一个 router 累死,而其它 router 饿死,为了防止这种情况出现,需要让客户端随机选取 router:
    在 Client 侧,hdfs-site.xml 中,做如下配置:
  <property>
    <name>dfs.client.failover.random.order</name>
    <value>true</value>
  </property>

Router 侧

  1. 配置 ganglia 监控
    Router 的监控信息,也需要输出到 ganglia 上:
    在 Router 侧,hadoop-metrics2.properties 中,增加下面配置:
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
*.sink.ganglia.period=60
router.sink.ganglia.servers=GANGLIA机器IP:8649
  1. 增大 Router RPC server 的 reader count 和 handler count.
    默认情况下,router 的 handler count 为10,reader count 为1,这些值都太小,需要加大.
    在 Router 侧,hdfs-rbf-site.xml 中,将 RPC handler count 配置为 4096:
  <property>
    <name>dfs.federation.router.handler.count</name>
    <value>4096</value>
  </property>

将 RPC reader count 配置为 16:

  <property>
    <name>dfs.federation.router.reader.count</name>
    <value>16</value>
  </property>
  1. 开启各个 Router 之间的 mount table 即时更新功能.
    默认情况下,如果一个 router 修改了 mount table,那么其他 router 不能立即更新,需要等待一段时间才能达到同步状态。开启即时更新功能后, 修改了 mount table 的 router 会主动通知其他 router 更新 cache,从而使其他 router 立即达到同步状态.
    在 Router 侧,hdfs-rbf-site.xml 中,做如下配置:
  <property>
    <name>dfs.federation.router.mount-table.cache.update</name>
    <value>true</value>
  </property>
  1. 开启 Router 的超载拒绝服务特性.
    默认情况下,如果一个 router 接收到的 RPC 请求太多,则会严重排队。开启该特性后,一个 router 在满载之后,会立即拒绝新的 RPC 请求,之后客户端会继续尝试其他的 router:
    在 Router 侧,hdfs-rbf-site.xml 中,做如下配置:
<property>
    <name>dfs.federation.router.client.reject.overload</name>
    <value>true</value>
</property>
  1. 禁用 Router 的 “部分 list/count” 特性.
    如果 router 启用了 multi destination 挂载功能,且一个挂载目录的某些 sub cluster 不可用时,可能出现不能完整 list/count 一个目录的情况,此时只能 list/count 到一部分目录内容。这种结果不可接受,需要禁用该特性,此时应直接返回失败。
    在 Router 侧,hdfs-rbf-site.xml 中,做如下配置:
<property>
    <name>dfs.federation.router.client.allow-partial-listing</name>
    <value>false</value>
</property>
  1. 禁止 Router 缓存客户端 RPC 请求的路径解析结果.
    默认情况下,Router 会缓存客户端 RPC 请求的路径解析结果,最多缓存1W条,但如果客户端的操作路径非常多变(典型情况:集群业务量超大,Router 收到的 RPC 请求路径频繁变化),则这种缓存意义不大,且额外的缓存操作还会增加 Router 时耗,此时应该禁用缓存。
    在 Router 侧,hdfs-rbf-site.xml 中,做如下配置:
<property>
  <name>dfs.federation.router.mount-table.cache.enable</name>
  <value>false</value>
</property>
  1. 禁止 Router 自动监听本地 NameNode.
    默认情况下,Router 仅自动监听本地 NameNode,实际使用中,我们会手动配置 Router 需要监听的所有 NN.
    在 Router 侧,hdfs-rbf-site.xml 中,做如下配置:
<property>
  <name>dfs.federation.router.monitor.localnamenode.enable</name>
  <value>false</value>
</property>

几个需要确认的问题

  1. Router 性能损耗
    在 Client 和 NameNode 直接插入 Router 之后,对业务的 RPC 时耗影响大概有多大?
  2. Router MountTable 性能问题
    在 Router 的 MountTable Entry 过多时(例如 10W 条),是否会对 Router 性能产生影响?
  3. token 性能问题
    各个 Router 的 token 都存在一个 zk 里面,并且使用 zk 的 CallBack 更新机制,以现网目前的 token 量,zk 是否撑得住?
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,125评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,293评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,054评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,077评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,096评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,062评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,988评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,817评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,266评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,486评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,646评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,375评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,974评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,621评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,642评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,538评论 2 352

推荐阅读更多精彩内容