zoukankan      html  css  js  c++  java
  • HDFS之三:hdfs参数配置详解

     1、hdfs-site.xml 参数配置

    – dfs.name.dir

    – NameNode 元数据存放位置

    – 默认值:使用core-site.xml中的hadoop.tmp.dir/dfs/name

    – dfs.block.size

    – 对于新文件切分的大小,单位byte。默认是64M,建议是128M。每一个节点都要指定,包括客户端。

    – 默认值:67108864

    – dfs.data.dir

    – DataNode在本地磁盘存放block的位置,可以是以逗号分隔的目录列表,DataNode循环向磁盘中写入数据,每个DataNode可单独指定与其它DataNode不一样

    – 默认值:${hadoop.tmp.dir}/dfs/data

    – dfs.namenode.handler.count

    – NameNode用来处理来自DataNode的RPC请求的线程数量 

    – 建议设置为DataNode数量的10%,一般在10~200个之间 

    – 如设置太小,DataNode在传输数据的时候日志中会报告“connecton refused"信息 

    – 在NameNode上设定

    – 默认值:10

    – dfs.datanode.handler.count

    – DataNode用来连接NameNode的RPC请求的线程数量

    – 取决于系统的繁忙程度 

    – 设置太小会导致性能下降甚至报错

    – 在DataNode上设定

    – 默认值:3

    – dfs.datanode.max.xcievers

    – DataNode可以同时处理的数据传输连接数 

    – 默认值:256

    – 建议值:4096

    – dfs.permissions

    – 如果是true则检查权限,否则不检查(每一个人都可以存取文件) 

    – 于NameNode上设定

    – 默认值:true

    – dfs.datanode.du.reserved

    – 在每个卷上面HDFS不能使用的空间大小 

    – 在每个DataNode上面设定

    – 默认值:0

    – 建议为10737418240,即10G。需要结合MapReduce场景设置。 

    – dfs.datanode.failed.volumes.tolerated

    – DataNode可以容忍损块的磁盘数量,超过这个数量DataNode将会离线,所有在这个节点上面的block将会被重新复制 

    – 默认是0,但是在有多块磁盘的时候一般会增大这个值

    – dfs.replication

    – 在文件被写入的时候,每一块将要被复制多少份 

    – 默认是3份。建议3份 

    – 在客户端上设定 

    通常也需要在DataNode上设定

    2、HDFS core-site.xml 参数配置

    – fs.default.name

    – 文件系统的名字。通常是NameNode的hostname与port

    – 需要在每一个需要访问集群的机器上指定,包括集群中的节点 

    – 例如:hdfs://<your_namenode>:9000/

    – fs.checkpoint.dir

    – 以逗号分隔的文件夹列表,SecondNameNode用来存储checkpoint image文件 

    – 如果多于一个文件夹,那么都会被写入数据 

    – 需要在SecondNameNode上设定

    – 默认值:${hadoop.tmp.dir}/dfs/namesecondary

    – hadoop.tmp.dir

    – HDFS与本地磁盘的临时文件 

    默认是/tmp/hadoop-${user.name}.需要在所有的节点中设定

    – fs.trash.interval

    – 当一个文件被删掉后,它会被放到用户目录的.Trash目录下,而不是立即删掉 

    – 经过此参数设置的分钟数之后,再删掉数据 

    – 默认是0,禁用此功能,建议1440(一天)

    – io.file.buffer.size

    – 设定在读写数据时的缓存大小,应该为硬件分页大小的2倍 

    – 默认是4096,建议为65536 ( 64K) 

    3、设置log文件的大小和数量

    – 修改core-site.xml中的参数 

    – hadoop.logfile.size

    – hadoop.logfile.count

    4、设置组件的日志级别

    • 查看不同组件的日志级别 

    – hadoop daemonlog -getlevel host:port packageName

    • 设置组件的日志级别

    – hadoop daemonlog –setlevle  host:port packageName level

    – hadoop daemonlog -setlevel db74:50070 org.apache.hadoop ERROR

    • DEBUG, INFO, ERROR, FATAL

    –  端口为前台页面的端口,缺省为50070

    • 组件名称(packageName)

    –  org.apache.hadoop.hdfs.server.namenode.NameNode 

    –  org.apache.hadoop.hdfs.server.datanode.DataNode

    –  org.apache.hadoop.hdfs 

    –  org.apache.hadoop

    – org.apache.hadoop.mapred.JobTracker

    重要程度由低到高依次为DEBUG < INFO < WARN < ERROR < FATAL。日志输出规则为:只输出级别不低于设定级别的日志信息。比如,级别设定为INFO,则INFO、WARN、ERROR和FATAL 级别的日志信息都会被输出,但级别比INFO 低的DEBUG 则不会被输出。DEBUG为测试,INFO为默认,一般生产用,ERROR错误,

    5、hdfs的进程节点

    1.namenode

    记录源数据的命名空间

    数据分配到那些datanode保存

    协调客户端对文件访问

    2.datanode

    负责所在物理节点的储存管理

    一次写入,多次读取(不能修改)

    文件由数据块组成,典型的块大小是64M

    数据块尽量散步到各个节点

    3.secondarynamenode (辅助)

    当NameNode重启的时候,会合并硬盘上的fsimage文件和edits文件,得到完整的Metadata信息。这个fsimage文件可以看做是一个过时的Metadata信息文件(最新的Metadata修改信息在edits文件中)。

    如果edits文件非常大,那么这个合并过程就非常慢,导致HDFS长时间无法启动,如果定时将edits文件合并到fsimage,那么重启NameNode就可以非常快。

    SecondaryNameNode就做这个合并的工作。

    6、hdfs的回收站功能

    删除文件时,其实是放入回收站/trash ,回收站里的文件可以快速恢复

    可以设置一个时间阈值,当回收站里文件的存放时间超过这个阈值,就被彻底删除, 并且释放占用的数据块 

    (开启回收站功能)

    [hadoop@h1 ~]$ cd /usr/local/hadoop-1.2.1/conf
    [hadoop@h1 conf]$ vi core-site.xml  (添加下面一段,10080为保留时间,单位分钟)
    
    <property>
    <name>fs.trash.interval</name>
    <value>10080</value>
    <description>
    Number of minutes between trashcheckpoints. 
    If zero, the trash feature is disabted
    </description>
    </property>
    [hadoop@h1 hadoop-1.2.1]$ bin/start-all.sh (重启 回收站功能生效)

     hdfs 常用端口和 hdfs-default配置文件参数的意义

    刚配置完Hadoop1.0.4发现对配置文件还是不太了解,就baidu了下,跟大家分享下  。常用的端口配置1  HDFS端口

    参数 描述 默认 配置文件 例子值
    fs.default.name namenode namenode RPC交互端口 8020 core-site.xml hdfs://master:8020/
    dfs.http.address  NameNode web管理端口 50070 hdfs- site.xml 0.0.0.0:50070
    dfs.datanode.address datanode 控制端口 50010  hdfs -site.xml  0.0.0.0:50010
    dfs.datanode.ipc.address datanode的RPC服务器地址和端口 50020 hdfs-site.xml 0.0.0.0:50020
    dfs.datanode.http.address datanode的HTTP服务器和端口 50075 hdfs-site.xml  0.0.0.0:50075

    2  MR端口

    参数 描述 默认 配置文件 例子值
    mapred.job.tracker job-tracker交互端口  8021 mapred-site.xml hdfs://master:8021/
    job tracker的web管理端口 50030 mapred-site.xml 0.0.0.0:50030
    mapred.task.tracker.http.address task-tracker的HTTP端口 50060 mapred-site.xml 0.0.0.0:50060

    3  其它端口

    参数 描述 默认 配置文件 例子值
    dfs.secondary.http.address secondary NameNode web管理端口 50090 hdfs-site.xml 0.0.0.0:50090
             
             



    4  hdfs-default.html

    序号 参数名 参数值 参数说明
    1 dfs.namenode.logging.level        info          输出日志类型
    2 dfs.secondary.http.address        0.0.0.0:50090 备份名称节点的http协议访问地址与端口                                                                                    
    3 dfs.datanode.address              0.0.0.0:50010 数据节点的TCP管理服务地址和端口
    4 dfs.datanode.http.address         0.0.0.0:50075 数据节点的HTTP协议访问地址和端口
    5 dfs.datanode.ipc.address          0.0.0.0:50020 数据节点的IPC服务访问地址和端口
    6 dfs.datanode.handler.count        3              数据节点的服务连接处理线程数
    7 dfs.http.address                  0.0.0.0:50070 名称节点的http协议访问地址与端口
    8 dfs.https.enable                  false         支持https访问方式标识
    9 dfs.https.need.client.auth        false         客户端指定https访问标识
    10 dfs.https.server.keystore.resource ssl-server.xml Ssl密钥服务端的配置文件
    11 dfs.https.client.keystore.resource ssl-client.xml Ssl密钥客户端的配置文件
    12 dfs.datanode.https.address        0.0.0.0:50475 数据节点的HTTPS协议访问地址和端口
    13 dfs.https.address                 0.0.0.0:50470 名称节点的HTTPS协议访问地址和端口
    14 dfs.datanode.dns.interface        default       数据节点采用IP地址标识
    15 dfs.datanode.dns.nameserver       default       指定DNS的IP地址
    16 dfs.replication.considerLoad      true          加载目标或不加载的标识
    17 dfs.default.chunk.view.size       32768          浏览时的文件块大小设置为32K
    18 dfs.datanode.du.reserved          0             每个卷预留的空闲空间数量
    19 dfs.name.dir                      ${hadoop.tmp.dir}/dfs/name 存贮在本地的名字节点数据镜象的目录,作为名字节点的冗余备份
    20 dfs.name.edits.dir                ${dfs.name.dir}           存贮文件操作过程信息的存贮目录
    21 dfs.web.ugi                       webuser,webgroup          Web接口访问的用户名和组的帐户设定
    22 dfs.permissions                   true                      文件操作时的权限检查标识。
    23 dfs.permissions.supergroup        supergroup                超级用户的组名定义
    24 dfs.block.access.token.enable     false                     数据节点访问令牌标识
    25 dfs.block.access.key.update.interval 600                       升级访问钥时的间隔时间
    26 dfs.block.access.token.lifetime     600                       访问令牌的有效时间
    27 dfs.data.dir                         ${hadoop.tmp.dir}/dfs/data 数据节点的块本地存放目录
    28 dfs.datanode.data.dir.perm          755                       数据节点的存贮块的目录访问权限设置
    29 dfs.replication                     3                         缺省的块复制数量
    30 dfs.replication.max                  512                       块复制的最大数量
    31 dfs.replication.min                 1                         块复制的最小数量 
    32 dfs.block.size                      67108864                  缺省的文件块大小为64M
    33 dfs.df.interval                     60000                      磁盘空间统计间隔为6秒
    34 dfs.client.block.write.retries      3                         块写入出错时的重试次数
    35 dfs.blockreport.intervalMsec        3600000                   块的报告间隔时为1小时
    36 dfs.blockreport.initialDelay        0                         块顺序报告的间隔时间
    37 dfs.heartbeat.interval              3                         数据节点的心跳检测间隔时间
    38 dfs.namenode.handler.count          10                        名称节点的连接处理的线程数量
    39 dfs.safemode.threshold.pct          0.999f                    启动安全模式的阀值设定

    40 dfs.safemode.extension              30000                     当阀值达到量值后扩展的时限
    41 dfs.balance.bandwidthPerSec         1048576                   启动负载均衡的数据节点可利用带宽最大值为1M
    42 dfs.hosts                             可与名称节点连接的主机地址文件指定。
    43 dfs.hosts.exclude                     不充计与名称节点连接的主机地址文件设定
    44 dfs.max.objects                     0 文件数、目录数、块数的最大数量
    45 dfs.namenode.decommission.interval  30 名称节点解除命令执行时的监测时间周期
    46 dfs.namenode.decommission.nodes.per.interval 5        名称节点解除命令执行是否完检测次数
    47 dfs.replication.interval                    3        名称节点计算数据节点的复制工作的周期数.
    48 dfs.access.time.precision                   3600000  充许访问文件的时间精确到1小时
    49 dfs.support.append                          false    是否充许链接文件指定
    50 dfs.namenode.delegation.key.update-interval 86400000 名称节点上的代理令牌的主key的更新间隔时间为24小时
    51 dfs.namenode.delegation.token.max-lifetime  604800000 代理令牌的有效时间最大值为7天
    52 dfs.namenode.delegation.token.renew-interval 86400000 代理令牌的更新时间为24小时
    53 dfs.datanode.failed.volumes.tolerated       0        决定停止数据节点提供服务充许卷的出错次数。0次则任何卷出错都要停止数据节点
  • 相关阅读:
    349. Intersection of Two Arrays
    1342. Reduce Array Size to The Half
    Telegram 汉化教程【转】
    jQuery 事件
    jQuery 事件
    jQuery 遍历
    jQuery 遍历
    CocosCreator教程(入门篇)【转】
    JavaScript shift() 方法使用【转】
    jQuery中动画函数animate的用法详解【转】
  • 原文地址:https://www.cnblogs.com/duanxz/p/3799467.html
Copyright © 2011-2022 走看看