HDFS对多宿主网络的支持
Posted 程序猿码码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDFS对多宿主网络的支持相关的知识,希望对你有一定的参考价值。
Apache Hadoop 2.9.0
请查看原文:http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsMultihoming.html
(如果转发,请标明出处)
本文档面向部署HDFS到多宿主网络的集群管理员。对YARN/MapReduce的类似支持正在进行中,并将在可用后记录成文档。
多宿主网络背景
在多宿主网络中,集群节点将会链接多个网络接口,这是有多个原因导致的。
① 安全(Security) : 安全要求可以规定集群内流量被限制在不同于数据传入和传出集群的网络。(也就是为了安全性,将内部数据传输,集群数据传入传出限定在不同的网络 -- by 程序猿码码)。
② 性能(Performance):集群内业务可以使用一个或者多个高带宽互连,例如 Fiber Channel, Infiniband 或者 10GbE。
③ 故障恢复/冗余(Failover/Redundancy):节点可以拥有连接到单个网络的多个网络适配器以处理网络适配器故障。
需要注意的是,NIC绑定(也称为NIC Teaming 或链路聚合)是一个相关但独立的主题。以下设置通常不适用于在向应用程序呈现单个“逻辑网络”时透明地处理多路复用和故障切换的NIC绑定配置。
修复多宿主环境中的Hadoop问题
确认HDFS 守护程序 (daemons )绑定所有接口(Interfaces)
<property>
<name>dfs.namenode.rpc-bind-host</name>
<value>0.0.0.0</value>
<description>
The actual address the RPC server will bind to. If this optional address is
set, it overrides only the hostname portion of dfs.namenode.rpc-address.
It can also be specified per name node or name service for HA/Federation.
This is useful for making the name node listen on all interfaces by
setting it to 0.0.0.0.
</description>
</property>
<property>
<name>dfs.namenode.servicerpc-bind-host</name>
<value>0.0.0.0</value>
<description>
The actual address the service RPC server will bind to. If this optional address is
set, it overrides only the hostname portion of dfs.namenode.servicerpc-address.
It can also be specified per name node or name service for HA/Federation.
This is useful for making the name node listen on all interfaces by
setting it to 0.0.0.0.
</description>
</property>
<property>
<name>dfs.namenode.http-bind-host</name>
<value>0.0.0.0</value>
<description>
The actual adress the HTTP server will bind to. If this optional address
is set, it overrides only the hostname portion of dfs.namenode.http-address.
It can also be specified per name node or name service for HA/Federation.
This is useful for making the name node HTTP server listen on all
interfaces by setting it to 0.0.0.0.
</description>
</property>
<property>
<name>dfs.namenode.https-bind-host</name>
<value>0.0.0.0</value>
<description>
The actual adress the HTTPS server will bind to. If this optional address
is set, it overrides only the hostname portion of dfs.namenode.https-address.
It can also be specified per name node or name service for HA/Federation.
This is useful for making the name node HTTPS server listen on all
interfaces by setting it to 0.0.0.0.
</description>
</property>
客户端连接到DataNodes时使用Hostnames
<property>
<name>dfs.client.use.datanode.hostname</name>
<value>true</value>
<description>Whether clients should use datanode hostnames when
connecting to datanodes.
</description>
</property>
DataNodes 连接到其它DataNodes 时使用主机名
<property>
<name>dfs.datanode.use.datanode.hostname</name>
<value>true</value>
<description>Whether datanodes should use datanode hostnames when
connecting to other datanodes for data transfer.
</description>
</property>
多宿主和Hadoop安全
在Hadoop Secure模式下配置多宿主主机需要增加额外的配置。
主机名查找(Hostname Lookup)
Hadoop服务的Kerberos 主体(principals )是使用 ServiceName/_HOST@REALM.TLD来指定的,例如:nn/_HOST@REALM.TLD。这样就允许在所有主机上使用同样的配置文件。服务将用运行时查找的自己的主机名替换主体中的_HOST。
以下设置(从Apache Hadoop 2 . 8 . 0开始可用)可用于控制查找服务的主机名。
<property>
<name>hadoop.security.dns.interface</name>
<description>
The name of the Network Interface from which the service should determine
its host name for Kerberos login. e.g. eth2. In a multi-homed environment,
the setting can be used to affect the _HOST subsitution in the service
Kerberos principal. If this configuration value is not set, the service
will use its default hostname as returned by
InetAddress.getLocalHost().getCanonicalHostName().
Most clusters will not require this setting.
</description>
</property>
服务还可以配置为使用特定的DNS服务器进行主机名查找(很少需要)。
<property>
<name>hadoop.security.dns.nameserver</name>
<description>
The host name or IP address of the name server (DNS) which a service Node
should use to determine its own host name for Kerberos Login. Requires
hadoop.security.dns.interface.
Most clusters will not require this setting.
</description>
</property>
-----------全文完------------------
备注:
多宿主:Multihoming
网络适配器: network adapter
集群内部业务: Intra-cluster traffic
NIC绑定: NIC Bonding
NIC绑定:NIC Teaming
链路聚合:Link Aggregation
以上是关于HDFS对多宿主网络的支持的主要内容,如果未能解决你的问题,请参考以下文章
VirtualBox 设置静态ip,实现虚拟机和宿主机互相访问,并能访问网络