`
shixiaomu
  • 浏览: 383902 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hadoop杂记

 
阅读更多
Hadoop杂记

namenode(hdfs)+jobtracker(mapreduce)可以放在一台机器上,datanode+tasktracker可以在一台机器上,辅助namenode要单独放一台机器,jobtracker通常情况下分区跟datanode一样(目录最好分布在不同的磁盘上,一个目录对应一个磁盘),namenode存储目录需要格式化,datanode存储目录不需要格式化,启动时自动创建

同一个datanode上的每个磁盘上的块不会重复,不同datanode之间的块才可能重复



一些文件的说明:

1、dfs.hosts 记录即将作为datanode加入集群的机器列表

2、mapred.hosts 记录即将作为tasktracker加入集群的机器列表

3、dfs.hosts.exclude mapred.hosts.exclude 分别包含待移除的机器列表

4、master 记录运行辅助namenode的机器列表

5、slave 记录运行datanode和tasktracker的机器列表

6、hadoop-env.sh 记录脚本要用的环境变量,以运行hadoop

7、core-site.xml hadoop core的配置项,例如hdfs和mapreduce常用的i/o设置等

8、hdfs-site.xml hadoop守护进程的配置项,包括namenode、辅助namenode和datanode等

9、mapred-site.xml mapreduce守护进程的配置项,包括jobtracker和tasktracker

10、hadoop-metrics.properties 控制metrics在hadoop上如何发布的属性

11、log4j.properties 系统日志文件、namenode审计日志、tasktracker子进程的任务日志的属性



一、hdfs守护进程的关键属性

1、fs.default.name 类型:uri 默认值:file:/// 说明:默认文件系统,uri定义主机名称和namenode的rpc服务器工作的端口号,默认是8020,在core-site.xml中配置

2、dfs.name.dir 类型:以逗号分隔的目录名称 默认值:${hadoop.tmp.dir}/dfs/name 说明:namenode存储永久性的元数据的目录列表,namenode在列表上的各个目录中均存放相同的元数据文件

3、dfs.data.dir 类型:以逗号分隔的目录名称 默认值:${hadoop.tmp.dir}/dfs/data 说明:datanode存放数据块的目录列表,各个数据块分别存于某个目录中

4、fs.checkpoint.dir 类型:以逗号分隔的目录名称 默认值:${hadoop.tmp.dir}/dfs/namesecondary 说明:辅助namenode存放检查点的目录列表,在所列的各个目录中分别存放一份检查点文件副本

二、mapreduce守护进程关键属性

1、mapred.job.tracker 类型:主机名和端口 默认值:local 说明:jobtracker的rpc服务器所在的主机名称和端口号,如果设为默认值local,则运行一个mapreduce作业时,jobtracker即时以处理时模式运行(换言之,用户无需启动jobtracker;实际上试图在该模式下启动jobtracker会引发错误)

2、mapred.local.dir 类型:逗号分割的目录名称 默认值:${hadoop.tmp.dir}/mapred/local 说明:存储作业中间数据的一个目录列表,作业终止时,数据被清除

3、mapred.system.dir 类型:uri 默认值:${hadoop.tmp.dir}/mapred/system 说明:在作业运行期间存储共享文件的目录,相对于fs.default.name

4、mapred.tasktracker.map.tasks.maximum 类型:int 默认值:2 说明:在任一时刻,运行在tasktracker之上的map任务的最大数

5、mapred.tasktracker.reduce.tasks.maximum 类型:int 默认值:2 说明:在任一时刻,运行在tasktracker之上的reduce任务的最大数

6、mapred.child.java.opts 类型:string 默认值:-xmx200m 说明:jvm选项,用于启动运行map和reduce任务的tasktracker子进程,该属性可以针对每个作业进行设置,例如,可以设置jvm的属性,以支持调试

7、mapred.child.ulimit 限制由tasktracker发起的子进程的最大虚拟内存(单位千字节),该值设置一定要大于6设置项的值

三、rpc服务器属性

1、dfs.datanode.ipc.address 默认值:0.0.0.0:50020 说明:datanode的rpc服务器的地址和端口

2、mapred.job.tracker 默认值:local 说明:被设为主机名称和端口号时,该属性指定jobtracker的rpc服务器地址和端口,常用的端口号时8021

3、mapred.task.tracker.report.address 默认值:127.0.0.1:0 说明:tasktracker的rpc服务器地址和端口号,tasktracker的子jvm利用它和tasktracker通信,在本例中,可以使用任一空闲端口,因为服务器仅对会送地址隐藏,如果本机器没有会送地址,则需变更默认设置

datanode也运行tcp/ip服务器以支持块传输,默认由dfs.datanode.address设定,默认值是0.0.0.0:50010

三、http服务器属性

1、mapred.job.tracker.http.address 默认值:0.0.0.0:50030 说明:jobtracker的http服务器地址和端口

2、mapred.task.tracker.http.address 默认值:0.0.0.0:50060 说明:tasktracker的http服务器地址和端口

3、dfs.http.address 默认值:0.0.0.0:50070 说明:namenode的http服务器地址和端口

4、dfs.datanode.http.address 默认值:0.0.0.0:50075 说明:datanode的http服务器地址和端口

5、dfs.secondary.http.address默认值:0.0.0.0:50090 说明:辅助namenode的http服务器地址和端口

可以选择某一个网络接口作为各个datanode和tasktracker的ip地址(针对http和rpc服务器)。相关属性项包括dfs.datanode.dns.interface和mapred.tasktracker.dns.interface,默认值都是default

四、安全模式属性说明

1、dfs.replication.min 类型:int 默认值:1 说明:设置最小副本级别,成功执行写操作所需要创建的最少副本数目(也就是最小复本级别)

2、dfs.safemode.threshold.pct 类型:float 默认值:0.999 说明:在namenode退出安全模式之前,系统中满足最小复本级别(由上一个选项定义)的块的比例,将这项值设为0或更小的比例会令namenode无法启动安全模式,设为高于1则永远不会退出安全模式

3、dfs.safemode.extension 类型:int 默认值:30000 说明:在最小复本条件(由上一个选项定义)满足之后,namenode还需要处于安全模式的时间(以毫秒为单位),对于小型集群(十几个节点),这项值可以设为0



core-site.xml个别设置说明:

1、io.file.buffer.size 设置缓冲区大小,默认4kb(64kb 128kb)

2、fs.trash.interval 设置回收站中的文件保留多久后删除,以分钟为单位,默认值是0,表示回收特性无效。该回收功能是用户级特性,启用后,每个用户都有自己独立的回收站目录,即home目录下的.trash目录,恢复时只要从该目录找到被删除的文件,将其移除就可以了。hdfs会自动删除回收站中的文件,其它文件系统不具备这个功能,需要使用下列命令自行删除 hadoop fs -expunge



hdfs-site.xml个别设置说明:

1、dfs.block.size 设置hdfs块大小,默认64mb (128mb 256mb)

2、dfs.balance.bandwidthPerSec 设置均衡器在不同节点之间复制数据的带宽



dfs.datanode.du.reserved 设置保留空间的大小,以供其它程序使用,以字节为单位

fs.checkpoint.period 设置辅助namenode每隔多久创建检查点,以秒为单位

fs.checkpoint.size 设置当编辑日志(edits)大大小达到多少mb时,创建检查点,系统每5分钟检查一次编辑日志大小

dfs.datanode.numblocks 设置datanode一个目录存放多少个块时,就重新创建一个子目录

dfs.datanode.scan.period.hours 设置datanode块扫描的周期,默认三周(504小时)扫描一次





hadoop命令:

1、hadoop fs -mkdir /user/username 创建用户

2、hadoop fs -chown user:user /user/username 设置权限

3、hadoop dfsadmin -setSpaceQuota 1t /user/username 限制空间容量

4、hadoop dfsadmin -saveNamespace 创建检查点,将内存中的文件熊映射保存为一个新的fsimage文件,重置edits文件,该操作仅在安全模式下执行

5、hadoop dfsadmin -safemode get 查看namenode是否处于安全模式

6、hadoop dfsadmin -safemode wait 在脚本中执行某条命令前namenode先退出安全模式

7、hadoop dfsadmin -safemode enter 进入安全模式

8、hadoop dfsadmin -safemode leave 离开安全模式

9、hadoop dfsadmin -report 显示文件系统的统计信息,以及所连接的各个datanode的信息

10、hadoop dfsadmin -metasave 将某些信息存储到hadoop日志目录中的一个文件中,包括正在被复制或删除的块信息,以及已连接的datanode列表

11、hadoop dfsadmin -refreshNodes 更新允许连接到namenode的datanode列表

12、hadoop dfsadmin -upgradeProgress 获取有关hdfs升级的进度信息或强制升级

13、hadoop dfsadmin -finalizeUpgrade 移除datanode和namenode的存储目录上的旧版数据

14、hadoop dfsadmin -setQuota 设置目录中包含的文件和子目录的个数的配额

15、hadoop dfsadmin -clrQuota 清理指定目录的文件和子目录个数的配额

16、hadoop dfsadmin -clrSpaceQuota 清理指定的空间大小配额

17、hadoop dfsadmin -refreshServiceAcl 刷新namenode的服务级授权策略文件

18、hadoop fsck / 检查hdfs中文件的健康状况,该工具会查找那些所有datanode中均缺失的块以及过少或过多复本的块

19、hadoop fsck /user/tom/part-007 -files -blocks -racks files选项显示文件名称,大小,块数量,健康状况;block选项描述文件中各个块的信息,每个块一行;racks选项显示各个块的机架位置和datanode的地址
使Datanode节点datanodename退役 bin/hadoop dfsadmin -decommission datanodename

解决主nemenode重启较慢的方法:(使用 -importCheckpoint选项启动辅助namenode,可将辅助namenode用作新的主namenode)

1、辅助namenode请求主namenode停止使用edits(记录操作日志的文件)文件。暂时将新记录写操作记录到一个新文件中

2、辅助namenode从主namenode获取fsimage(元数据永久检查点文件)和edits文件(采用http get)

3、辅助namenode将fsimage文件载入内存,逐一执行edits文件中的操作,创建新的fsimage文件

4、辅助namenode将新的fsimage文件发送回主namenode(使用http post)

5、主namenode用从辅助namenode接收的fsimage文件替换旧的fsimage文件,用步骤一所产生的edits文件替换旧的edits文件,同时,还更新fstime文件来记录检查点执行的时间



均衡器程序:

start-balancer.sh -threshold 参数指定阀值(百分比格式),默认值是10%,任何时刻,集群中都只能运行一个均衡器,均衡器在不同节点之间复制数据是有带宽限制的,默认值是1mb/s
分享到:
评论

相关推荐

    Hadoop大数据平台运维杂记.pptx

    Hadoop大数据平台运维杂记 Hadoop大数据平台运维杂记是关于Hadoop大数据平台的运维经验总结,主要涵盖了Hadoop集群的使用情况、安装升级、Cloudera Manager、Hadoop的发展历程、常见事故处理等方面的内容。 一、...

    Hadoop运维杂记

    Apache 推了一个Hadoop,这是一个开源的、免费的东东;每个人、每个公司都可以拿来修改,发布。在众多公司中做的比较好(用的也比较广泛)是Cloudera。...它不是一个详细指导安装的文档、是一个杂记。

    大数据云计算技术 Hadoop运维杂记(共21页).rar

    标题中的“大数据云计算技术 Hadoop运维杂记”表明这是一份关于Hadoop在大数据云计算环境下的运维实践文档。Hadoop是Apache基金会开发的一个开源框架,主要用于处理和存储大规模数据,尤其适合于处理非结构化和半...

    hadoop2.7.3 Winutils.exe hadoop.dll

    在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分布式存储。Hadoop 2.7.3是这个框架的一个稳定版本,它包含了多个改进和优化,以提高性能和稳定性。在这个版本中,Winutils.exe和hadoop.dll是两...

    hadoop的dll文件 hadoop.zip

    Hadoop是一个开源的分布式计算框架,由Apache基金会开发,它主要设计用于处理和存储大量数据。在提供的信息中,我们关注的是"Hadoop的dll文件",这是一个动态链接库(DLL)文件,通常在Windows操作系统中使用,用于...

    hadoop winutils hadoop.dll

    Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它允许在普通硬件上高效处理大量数据。在Windows环境下,Hadoop的使用与Linux有所不同,因为它的设计最初是针对Linux操作系统的。"winutils"和"hadoop.dll...

    hadoop.dll & winutils.exe For hadoop-2.7.1

    在大数据处理领域,Hadoop是一个不可或缺的开源框架,它提供了分布式存储和计算的能力。本文将详细探讨与"Hadoop.dll"和"winutils.exe"相关的知识点,以及它们在Hadoop-2.7.1版本中的作用。 Hadoop.dll是Hadoop在...

    hadoop的hadoop.dll和winutils.exe下载

    在Hadoop生态系统中,`hadoop.dll`和`winutils.exe`是两个关键组件,尤其对于Windows用户来说,它们在本地开发和运行Hadoop相关应用时必不可少。`hadoop.dll`是一个动态链接库文件,主要用于在Windows环境中提供...

    hadoop2.7.3的hadoop.dll和winutils.exe

    在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分布式存储。Hadoop 2.7.3是Hadoop发展中的一个重要版本,它包含了众多的优化和改进,旨在提高性能、稳定性和易用性。在这个版本中,`hadoop.dll`...

    Hadoop下载 hadoop-2.9.2.tar.gz

    Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo 的工程师 Doug Cutting 和 Mike Cafarella Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo...

    hadoop2.7.7对应的hadoop.dll,winutils.exe

    在Hadoop生态系统中,Hadoop 2.7.7是一个重要的版本,它为大数据处理提供了稳定性和性能优化。Hadoop通常被用作Linux环境下的分布式计算框架,但有时开发者或学习者在Windows环境下也需要进行Hadoop相关的开发和测试...

    Hadoop下载 hadoop-3.3.3.tar.gz

    Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不...

    hadoop.dll & winutils.exe For hadoop-2.6.0

    在Hadoop生态系统中,`hadoop.dll`和`winutils.exe`是两个关键组件,尤其对于Windows用户来说。本文将详细介绍这两个文件以及它们在Hadoop 2.6.0版本中的作用。 `hadoop.dll`是Hadoop在Windows环境下运行所必需的一...

    hadoop2.6 hadoop.dll+winutils.exe

    标题 "hadoop2.6 hadoop.dll+winutils.exe" 提到的是Hadoop 2.6版本中的两个关键组件:`hadoop.dll` 和 `winutils.exe`,这两个组件对于在Windows环境中配置和运行Hadoop至关重要。Hadoop原本是为Linux环境设计的,...

    win环境 hadoop 3.1.0安装包

    在Windows环境下安装Hadoop 3.1.0是学习和使用大数据处理技术的重要步骤。Hadoop是一个开源框架,主要用于分布式存储和处理大规模数据集。在这个过程中,我们将详细讲解Hadoop 3.1.0在Windows上的安装过程以及相关...

    hadoop2.7.3 hadoop.dll

    在windows环境下开发hadoop时,需要配置HADOOP_HOME环境变量,变量值D:\hadoop-common-2.7.3-bin-master,并在Path追加%HADOOP_HOME%\bin,有可能出现如下错误: org.apache.hadoop.io.nativeio.NativeIO$Windows....

    各个版本Hadoop,hadoop.dll以及winutils.exe文件下载大合集

    在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分布式存储。它是由Apache软件基金会开发并维护的,旨在实现高效、可扩展的数据处理能力。Hadoop的核心由两个主要组件构成:Hadoop Distributed ...

    Linux上Hadoop安装包hadoop-2.7.4.tar.gz

    Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它的核心设计是解决大数据处理的问题。Hadoop 2.7.4是Hadoop发展过程中的一个重要版本,它提供了许多增强特性和稳定性改进,使得大规模数据处理更加高效和...

    hadoop2.7.4 hadoop.dll包括winutils.exe

    Hadoop是Apache软件基金会开发的一个开源分布式计算框架,主要由HDFS(Hadoop Distributed File System)和MapReduce两大部分组成,旨在提供一种可靠、可扩展、高效的数据处理和存储解决方案。在标题中提到的...

Global site tag (gtag.js) - Google Analytics