Hadoop伪分布式配置

来源:互联网 发布:手机移动网络共享 编辑:程序博客网 时间:2024/05/28 04:55

  具体配置可以参考hadoop官网,有详细各参数配置详情及说明,在doc里
  本文主要是记录我使用到的配置,以后每使用到新的配置会持续更新。

1、core-site.xml
  core-site.xml是全局配置,hdfs-site.xml和mapred-site.xml分别是hdfs和mapred局部配置。
  core-site.xml文件包含诸如用于Hadoop实例的端口号,为文件系统分配的内存,用于存储数据的内存限制以及读写缓冲区大小的信息。

<property>    <name>hadoop.tmp.dir</name>    <value>file:/usr/local/hadoop/tmp</value>    <description>Abase for other temporary directories.</description></property><property>    <name>fs.defaultFS</name>    <value>hdfs://localhost:9000</value></property>

  (1) hadoop.tmp.dir临时目录,是Hadoop文件系统依赖的基本配置,很多配置路径都依赖它,默认是在/tmp/hadoop-${user.name}。之所以配它而不用默认是因为linux服务重启后/tmp下的目录会被清空,发生这种情况Hadoop找不到相应文件而无法正常工作。所以建议大家在安装Hadoop的时候,一定要更改hadoop.tml.dir。不过namenode出故障好像可以从secondnamenode找备份?有待考证
  (2)fs.defaultFS(fs.default.name),这个属性应该是描述集群中NameNode节点的URI。区别于hdfs-site.xml里面配置的dfs.namenode.http-address,这是HDFS web界面的监听端口。

2、hdfs-site.xml
  hdfs-site.xml是hdfs的配置,,,

<property>    <name>dfs.replication</name>    <value>1</value></property><property>    <name>dfs.namenode.name.dir</name>    <value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property>    <name>dfs.datanode.data.dir</name>    <value>file:/usr/local/hadoop/tmp/dfs/data</value></property><property>    <name>dfs.namenode.http-address</name>    <value>0.0.0.0:3389</value></property>

  (1)dfs.replication。指定DataNode存储block的副本数量,默认是3。即HDFS中每个block会有3个备份在不同的DataNode中,以备数据丢失。这里是部署伪分布式的配置,所以赋值为1。
  (2)dfs.namenode.name.dir。NameNode存储映射表的位置。可以以逗号分隔开,会在所有路径下存储,以备份。默认是file://${hadoop.tmp.dir}/dfs/name
  (3)dfs.namenode.http-address。DataNode存储block的位置。也可以用逗号分隔开不同的路径。默认是file://${hadoop.tmp.dir}/dfs/data
  伪分布式配置以上两个文件就可以了,不用启动YARN。YARN是一个用于作业调度和集群资源管理的框架,为集群提供更好的资源管理和任务调度,在单机上体现不出来,反而会使程序跑的慢。YARN以后了解到了再详细介绍。

3、yarn-site.xml
  yarn-site.xml是YARN的配置,,,

<property>  <name>yarn.nodemanager.aux-services</name>  <value>mapreduce_shuffle</value></property>

  (1)yarn.nodemanager.aux-services。NameManager上运行的附属服务,需配置成mapreduce_shuffle,才可运行MapReduce程序。

4、mapred-site.xml
  mapred-site.xml用于指定使用的MapReduce框架。

<property>  <name>mapreduce.framework.name</name>  <value>yarn</value></property>

  (1)mapreduce.framework.name。指定执行MapReduce的框架,默认为local,还可选classic 和 yarn。

理一理,,,
  启动YARN,需要先配置mapred-site.xml,指定用yarn来执行mapreduce,不设置的话使用默认local,不启动yarn。然后配置yarn-site.xml,确定运行mapreduce。



内容主要是根据hadoop官网上*-default.xml配置文件理解翻译来的,理解不准还请见谅,提出来我及时修改。