设为首页 收藏本站
查看: 686|回复: 0

[经验分享] Hadoop配置文件hdfs-site.xml

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-2 08:52:11 | 显示全部楼层 |阅读模式
<property>
        <name>dfs.ha.automatic-failover.enabled</name>
        <value>true</value>
        <description>配置是否启动故障恢复,配置此项为true的时候,core-site.xml需要配置ha.zookeeper.quorum</description>
</property>
<property>
        <name>dfs.nameservices</name>
        <value>ns1</value>
        <description>提供服务的NS逻辑名称,与core-site.xml里的对应;Comma-separated list of nameservices</description>
</property>
<property>
        <name>dfs.ha.namenodes.ns1</name>
        <value>nn1,nn2</value>
        <description>列出该逻辑名称下的NameNode逻辑名称, dfs.ha.namenodes.EXAMPLENAMESERVICE配置项EXAMPLENAMESERVICE位dfs.nameservices的值</description>
</property>
<property>
        <name>dfs.namenode.rpc-address.ns1.nn1</name>
        <value>nn1.ol:9000</value>
        <description>指定NameNode的RPC位置;处理所有客户端请求的RPC地址,</description>
</property>
<property>
        <name>dfs.namenode.http-address.ns1.nn2</name>
        <value>nn2.ol:50070</value>
        <description>namenode web ui端口 ,例如: http://nn1.ol:50070/  </description>
       
</property>
<property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://nn1.ol:8485;nn2.ol:8485;s1.ol:8485/ns1</value>
        <description>指定用于HA存放edits的共享存储,通常是NFS挂载点;active namenode向配置的文件夹中写,standby namenode从这个文件夹下读,从而保证namespaces同步;在非HA集群中此项配置为空</description>
</property>
<property>
        <name>dfs.journalnode.edits.dir</name>
        <value>/hadoop/1/jn/</value>
        <description>作用暂时不知道</description>
</property>
<property>
        <name>dfs.ha.fencing.methods</name>
        <value>sshfence</value>
        <description> core-site.xml中配置项;指定HA做隔离的方法,缺省是ssh,可设为shell,稍后详述;
        sshfence 通过 ssh 登录到前一个 ActiveNameNosde 并将其杀死。为了让该机制成功执行,
        需配置免密码 ssh 登陆,通过参数 dfs.ha.fencing.ssh.private-key-files 指定一个私钥文件</description>
</property>
<property>
        <name>dfs.ha.fencing.ssh.private-key-files</name>
        <value>/home/hadoop/.ssh/id_rsa</value>
        <description>The SSH private key files to use with the builtin sshfence fencer.</description>
</property>
<property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///hadoop/1/dfs/nn</value>
        <description>本地文件系统DFSnamenode存放name table(fsimage文件)的目录,参数值如果是逗号分隔的多个目录,the name table复制到多个目录,冗余</description>
其中fsimage镜像文件包含了整个HDFS文件系统的所有目录和文件的indoe信息。对于文件来说包括了数据块描述信息、修改时间、访问时间等;对于目录来说包括修改时间、访问权限控制信息(目录所属用户,所在组等)等。
另外,edit文件主要是在NameNode已经启动情况下对HDFS进行的各种更新操作进行记录,HDFS客户端执行所有的写操作都会被记录到edit文件中。

</property>
<property>
        <name>dfs.datanode.data.dir</name>
<value>file:///hadoop/1/dfs/dn,file:///hadoop/2/dfs/dn</value>
<description>DFS data node存放块文件的本地文件系统目录,一个文件按块大小切分后,按顺序存放在配置多个目录下(目录不存在则忽略);
这么做的目的是,可以将数据写多块硬盘,把这些位置分散在每个节点上的所有磁盘上可以实现磁盘 I/O 平衡,因此会显著改进磁盘 I/O 性能。
</description>
测试环境配置:

测试环境datanode的磁盘:

</property>
<property>
        <name>dfs.blocksize</name>
        <value>268435456</value>
        <description>HDFS文件系统块大小;可以配置以m,g等后缀结尾的值  256m</description>
</property>
<property>
        <name>dfs.support.append</name>
        <value>true</value>
        <description>HDFS允许向文件追加内容;如果这个参数设置为false,例如Flume这样的工具持续向HDFS中的一个文件写数据就会出问题(我猜的。没验证)</description>
</property>
<property>
        <name>fs.trash.interval</name>
        <value>10080</value>单位:minute
        <description>.Trash目录下文件多久后被删除,10080/1440=7,参数设置为0,文件直接删除不移动到.Trash中</description>
</property>
<property>
        <name>dfs.datanode.failed.volumes.tolerated</name>
        <value>1</value>
        <description>允许磁盘损坏的数目,超过配置值,datanode shutdown</description>
</property>
<property>
        <name>dfs.datanode.balance.bandwidthPerSec</name>
        <value>104857600</value>
        <description>balancing purpose,允许没秒的带宽;为了防止balance过程抢占网络资源,不为Mapreduce作业或者数据输入预留资源</description>
</property>
<property>
        <name>dfs.namenode.handler.count</name>
        <value>46</value>
        <!-- 设置该值的一般原则是将其设置为集群大小的自然对数乘以20,即20logN,N为集群大小;python -c 'import math ; print int(math.log(N) * 20)' -->
</property>
<property>
        <name>dfs.datanode.max.xcievers</name>
        <value>8192</value>
        <description>相当于linux下的打开文件最大数量,文档中无此参数,当出现DataXceiver报错的时候,需要调大。默认256;
此项配置已过时,用dfs.datanode.max.transfer.threads代替,源代码见DFSConfigKeys.java
        </description>
</property>

<property>
        <name>dfs.datanode.max.transfer.threads</name>
        <value>8192</value>
        <description>相当于linux下的打开文件最大数量,文档中无此参数,当出现DataXceiver报错的时候,需要调大。默认256
        </description>
</property>
<property>
        <name>dfs.datanode.socket.write.timeout</name>
        <value>100000000</value>
        <description> IO超时,超时上限值以毫秒为单位。0表示无限制;java.net.SocketTimeoutException: 480000(配置参数的值) millis timeout while waiting for channel to be ready for write</description>
</property>

<property>
        <name>dfs.client.socket-timeout</name>
        <value>100000000</value>
        <description> IO超时,超时上限值以毫秒为单位。0表示无限制;java.net.SocketTimeoutException: 480000(配置参数的值) millis timeout while waiting for channel to be ready for write</description>
</property>
<property>
        <name>dfs.datanode.du.reserved</name>
        <value>21474836480</value>
        <description>每个存储卷保留用作其他用途( non dfs use)的磁盘大小,20G;单位 bytes per volume</description>
</property>
<property>
        <name>dfs.datanode.fsdataset.volume.choosing.policy</name>
        <value>org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy</value>
        <description>数据副本存放磁盘选择策略,
第一种是沿用hadoop1.0的磁盘目录轮询方式,实现类:RoundRobinVolumeChoosingPolicy.java(如果不配置,默认)
第二种是选择可用空间足够多的磁盘方式存储,实现类:AvailableSpaceVolumeChoosingPolicy.java
</description>
</property>
<property>
        <name>dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold</name>
        <value>2147483648</value>
        <description>允许的卷剩余空间差值,2G</description>

</property>

<property>
        <name>dfs.hosts.exclude</name>
        <value>/usr/local/hadoop/etc/hadoop/exclude_hosts</value>
        <description>一个列表,列表中的hosts不允许连接namenode</description>

</property>
<property>
        <name>dfs.client.read.shortcircuit</name>
        <value>true</value>
        <description>打开本地读功能</description>
</property>
<property>
        <name>dfs.domain.socket.path</name>
        <value>/hadoop/1/dfs/dn_socket_PORT</value>
        <description>dfs.domain.socket.path是Datanode和DFSClient之间沟通的Socket的本地路径</description>
套接口文件

</property>
<!-- 权限相关 Begin -->
<property>
        <name>dfs.permissions.enabled</name>
        <value>true</value>
        <description>HDFS权限认证,是否打开</description>
</property>
<property>
        <name>dfs.permissions.superusergroup</name>
        <value>hadoop</value>
        <description>超级用户,format namenode的用户</description>
</property>
<property>
        <name>fs.permissions.umask-mode</name>
        <value>022</value>
        <description>core-site.xml的配置文件,注意umask对文件,文件夹影响不同</description>

</property>
<property>
        <name>dfs.namenode.acls.enabled</name>
        <value>true</value>
</property>
<!-- 权限相关 End -->


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-266404-1-1.html 上篇帖子: Hadoop的相关资料 下篇帖子: Hadoop之MapReduce性能调优 配置文件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表