配置文件
Hadoop集群每台节点都有自己的一组配置文件。配置文件分为两种:-default.xml(可从相应jar文件中获取)和-site.xml,*-site.xml类型配置优先。
core-default.xml 默认核心Hadoop属性配置文件,位于hadoop-common-*.jar中。
hdfs-default.xml 默认HDFS属性配置文件,位于hadoop-hdfs-*.jar下。
mapred-default.xml 默认的MapReduce属性配置文件,位于hadoop-mapreduce-client-core-*.jar下。
yarn-default.xml 默认的YARN属性配置文件,位于hadoop-yarn-common-*.jar下。
位于$HADOOP_CONF_DIR 下的相应同前缀的*-site.xml文件会覆盖上述的默认配置。
部分配置可通过下列脚本文件配置。
hadoop-env.sh yarn-env.sh mapred-env.sh
上面脚本负责设置属性Java主目录
不同的日志文件位置
用于各种守护进程的JVM选项
配置文件优先级
- MapReduce任务初始化时,由JobConf或者Job对象指定的值。
- 客户端节点的*-site.xml
- 从节点的*-site.xml
- *-default.xml文件中的默认值,这个文件集群中所有节点都相同。
配置文件详解
- core-site.xml
hadoop-tmp-dir:其他临时目录的根目录
fs.defaultFs:HDFS客户端使用的默认路径前缀由该属性配置。
io.file.buffer-size:文件缓冲流大小,默认4096。
io.bytes.per.checksum:多大数据量进行一次校验和计算。设置值一定要比上一项大,默认512字节.
io.compression.codecs:逗号分隔的可用压缩编码类的列表。
其他的用的时候去hadoop官网查吧。
集群管理工具
集群管理工具可用来做如下工作:
- 检查HDFS系统中的坏块
- 执行Hadoop系统管理的命令行
- 在集群中添加删除一个节点
- 使HDFS上的数据完整。
所有命令都通过hdfs来调用执行:
hdfs [--config confidir][COMMAND][GENERIC_OPTIONS][COMMAND_OPTIONS]
检查HDFS
hdfs fsck [GENERIC_OPTIONS] <path> [-move|-delete|-openforwrite][-files[blocks[-locations|-racks]]]
Path:检查的HDFS路径,若要检查全部,填 /
-move:移动坏块到 /lost+found文件夹
-delete:删除坏块文件
-openForWrite:打印出要写入数据的文件
-files:打印出被检查的文件
-blocks:打印数据块报告
-locations:打印出每个数据块的位置
-racks:打印数据节点在集群网路拓扑中的位置
HDFS管理命令行
- 获取集群HDFS健康的基本统计报告。
hdfs dfsadmin -report - 获得细节的状态信息
hdfs dfsadmin -metsave filename - 添加删除节点
属性 dfs.hosts:这是一个指向包含了一系列节点的文件的完全限定路径名,文件中的节点允许与名称节点进行通信。
属性 dfs.hosts.exclude: ..不允许与名称节点进行通信。
从集群中添加删除节点除配置上述属性外
还要执行 hdfs dfsadmin -refreshNides
手动将HDFS置于安全模式下
hdfs dfsadmin -safemode action
action: enter|leave|get|wait
添加新的节点到集群中后
- 在该节点安装相同版本号的hadoop,该节点上的配置文件也要与集群中其他节点一致。
- 在从服务器文件(slaves file)中添加新节点,该文件路径由 dfs.hosts属性指定。
- 启动该节点,数据节点就会添加到集群中,但此时集群的存储数据是不均匀的,使用均衡器工具可以使得集群中存储数据更加均匀。
bin/start-banlancer.sh -threshold 5
这个例子是指均衡器会使得HDFS系统中所有数据节点利用率差距在5%以内。
bin/stop-balancer.sh 可以安全终止均衡器
配置参数 dfs.datanode.banlance.bandwidthPerSec可限制数据节点重新均衡自己数据存储时来限制每秒钟传输的字节数量,推荐设置值为网速的10%
- 数据的复制
hadoop distcp srcdir destdir
集群之间复制时,应包括主机名和端口号:如hdfs://namenode1:9000/user/mydir
也可移动如Amazon S3的数据 s3://...
网友评论