hdfs-site.xml 基本配置参考

配置参数:

1、dfs.nameservices

说明:为namenode集群定义一个services name

默认值:null

比如设置为:ns1

2、dfs.ha.namenodes.<dfs.nameservices>

说明:nameservice 包含哪些namenode,为各个namenode起名

默认值:null

比如设置为nn1, nn2

3、dfs.namenode.rpc-address.ns1.nn1

说明:名为nn1的namenode 的rpc地址和端口号,rpc用来和datanode通讯

默认值:9000,可以设置为8020

如何设置:host:port

4、dfs.namenode.http-address.ns1.nn1

说明:名为nn1的namenode 的http地址和端口号,web客户端 

默认值:50070

如何设置:host:port

5、dfs.namenode.shared.edits.dir

说明:namenode间用于共享编辑日志的journal节点列表

示例:qjournal://master:8485;slave1:8485;slave2:8485/ns1

6、dfs.journalnode.edits.dir

说明:journalnode 上用于存放edits日志的目录

默认值:/tmp/hadoop/dfs/journalnode/

7、dfs.client.failover.proxy.provider.ns1

说明:客户端连接可用状态的NameNode所用的代理类

默认值:org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

8、dfs.ha.fencing.methods

说明:HDFS的HA功能的防脑裂方法。可以是内建的方法(例如shell和sshfence)或者用户定义的方法。
建议使用sshfence(hadoop:9922),括号内的是用户名和端口,注意,这需要NN的2台机器之间能够免密码登陆
fences是防止脑裂的方法,保证NN中仅一个是Active的,如果2者都是Active的,新的会把旧的强制Kill

值:

sshfence
shell(/bin/true)

9、dfs.ha.fencing.ssh.private-key-files

说明:失效转移时使用的秘钥文件。

10、dfs.ha.automatic-failover.enabled

说明:故障转移功能,建议开启

value:true

11、dfs.webhdfs.enabled

说明:是否开启webhdfs

value:true

12、dfs.journalnode.http-address

说明:JournalNode RPC服务地址和端口

value:0.0.0.0:8485

13、ha.zookeeper.quorum

说明:zookeeper队列地址

14、dfs.permissions.enabled

说明:是否开启权限检查,建议开启

value:true

15、dfs.namenode.acls.enabled

说明:是否在hdfs开启acl,默认是为false,建议开启

value:true

 常用配置:(以下配置基于hadoop3.x)

<property>
<name>dfs.nameservices</name>
<value>my-hadoop</value>
</property>

<property>
<name>dfs.ha.namenodes.my-hadoop</name>
<value>nna,nns,nnj</value>
</property>
<property>
<name>dfs.namenode.rpc-address.my-hadoop.nna</name>
<value>master:9000</value>
</property>
<property>
<name>dfs.namenode.rpc-address.my-hadoop.nns</name>
<value>slave1:9000</value>
</property>

<property>
<name>dfs.namenode.rpc-address.my-hadoop.nnj</name>
<value>slave2:9000</value>
</property>

<property>
<name>dfs.namenode.http-address.my-hadoop.nna</name>
<value>master:50070</value>
</property>

<property>
<name>dfs.namenode.http-address.my-hadoop.nns</name>
<value>slave1:50070</value>
</property>

<property>
<name>dfs.namenode.http-address.my-hadoop.nnj</name>
<value>slave2:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://master:8485;slave1:8485;slave2:8485/my-hadoop</value>
</property>

<property>
<name>dfs.client.failover.proxy.provider.my-hadoop</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence
shell(/bin/true)
</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/hadoop/.ssh/id_rsa</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/data1/hadoop/data/tmp/journal</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/data1/hadoop/data/dfs/nn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/data2/hadoop/data/dn,/data3/hadoop/data/dn,/data4/hadoop/data/dn</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>

<property>
<name>dfs.journalnode.http-address</name>
<value>0.0.0.0:8480</value>
</property>
<property>
<name>dfs.journalnode.rpc-address</name>
<value>0.0.0.0:8485</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>master:2181,slave1:2181,slave2:2181</value>
</property>
<property>
<name>dfs.datanode.shared.file.descriptor.paths</name>
<value>/dev/shm,/data1/hadoop/data/tmp/tmp</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.namenode.acls.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.datanode.max.transfer.threads</name>
<value>8192</value>
</property>
<property>
<name>dfs.client.socket-timeout</name>
<value>1800000</value>
</property>
<property>
<name>dfs.namenode.acls.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.qjournal.write-txns.timeout.ms</name>
<value>600000</value>
</property>
<property>
<name>dfs.datanode.du.reserved</name>
<value>107374182400</value>
</property>

<property>
<name>dfs.datanode.balance.bandwidthPerSec</name>
<value>512m</value>
</property>

原文地址:https://www.cnblogs.com/yjt1993/p/11053540.html