Hadoop:HA HDFS core-site.xml和hdfs-site.xml配置

core-site.xml 

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://mycluster</value>
</property>

<property>
  <name>hadoop.tmp.dir</name>
  <value>/mnt/data/full</value>
</property>

<property>
   <name>ha.zookeeper.quorum</name>
   <value>node1:2181,node2:2181,node3:2181</value>
 </property>

hdfs-site.xml

<property>
    <name>dfs.nameservices</name>
    <value>mycluster</value>
</property>
<property>
  <name>dfs.ha.namenodes.mycluster</name>
  <value>nn1,nn2</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.mycluster.nn1</name>
  <value>node1:8020</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.mycluster.nn2</name>
  <value>node2:8020</value>
</property>
<property>
  <name>dfs.namenode.http-address.mycluster.nn1</name>
  <value>node1:50070</value>
</property>
<property>
  <name>dfs.namenode.http-address.mycluster.nn2</name>
  <value>node2:50070</value>
</property>

<property>
  <name>dfs.namenode.shared.edits.dir</name>
 <value>qjournal://node1:8485;node2:8485;node3:8485/mycluster</value>
</property>
<property>
  <name>dfs.journalnode.edits.dir</name>
  <value>/mnt/data/journal</value>
</property>

<property>
  <name>dfs.client.failover.proxy.provider.mycluster</name>
  <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
 <property>
      <name>dfs.ha.fencing.methods</name>
      <value>sshfence</value>
    </property>

    <property>
      <name>dfs.ha.fencing.ssh.private-key-files</name>
      <value>/root/.ssh/id_rsa</value>
    </property>

 <property>
   <name>dfs.ha.automatic-failover.enabled</name>
   <value>true</value>
 </property>

 

`fs.defaultFS` 是 HDFS 配置文件 `core-site.xml` 中的一个关键参数,用于指定默认的文件系统 URI。该参数决定了 Hadoop 客户端在没有明确指定文件系统时所使用的默认文件系统。通常在 HDFS 环境中,`fs.defaultFS` 被设置为 NameNode 的地址,格式为 `hdfs://<host>:<port>`。例如: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://namenode-host:9000</value> </property> </configuration> ``` `fs.defaultFS` 的作用是为 Hadoop 应用程序提供一个默认的命名空间入口,使得用户在访问 HDFS 时无需每次都指定完整的 URI。例如,当使用 Hadoop 命令行工具执行 `hadoop fs -ls /` 时,系统会自动连接到 `fs.defaultFS` 所定义的 HDFS 集群。 在多集群环境中,可以通过设置 `fs.defaultFS` 来切换默认访问的文件系统[^1]。 ### 设置 `fs.defaultFS` 的注意事项 1. **NameNode 地址**:确保配置的主机名或 IP 地址是可解析的,并且端口(如 9000)在防火墙规则中是开放的。 2. **一致性**:在集群中的所有节点上保持 `core-site.xml` 配置一致,以避免因配置不一致导致的连接问题。 3. **高可用场景**:如果部署了 HDFS HA(High Availability),`fs.defaultFS` 应该指向逻辑名称服务(如 `hdfs://mycluster`),而不是具体的 NameNode 地址。此时还需要在 `hdfs-site.xml` 中配置 `dfs.nameservices` `dfs.ha.namenodes.[nameservice ID]` 等参数来定义实际的 NameNode 列表故障转移逻辑。 ### 示例配置HA 环境) 在 `core-site.xml` 中: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://mycluster</value> </property> </configuration> ``` 在 `hdfs-site.xml` 中: ```xml <configuration> <property> <name>dfs.nameservices</name> <value>mycluster</value> </property> <property> <name>dfs.ha.namenodes.mycluster</name> <value>nn1,nn2</value> </property> <property> <name>dfs.namenode.rpc-address.mycluster.nn1</name> <value>namenode1-host:8020</value> </property> <property> <name>dfs.namenode.rpc-address.mycluster.nn2</name> <value>namenode2-host:8020</value> </property> <property> <name>dfs.client.failover.proxy.provider.mycluster</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> </configuration> ``` 通过这种方式,Hadoop 客户端可以自动连接到当前的 Active NameNode,从而实现高可用性。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值