hadoop2配置文件详解
在hadoop1中核心组成部分是HDFS、MapReduce,到了Hadoop2,核心变为HDFS、Yarn,而且新的HDFS中可以有多个NameNode,每个都有相同的职能。
以下内容是从http://www.superwu.cn/2014/02/12/1094/阅读后自己总结了一下:
配置文件无非就这几个文件:
1、hadoop-env.sh:
只需设置jdk的安装路径,如:export JAVA_HOME=/usr/local/jdk
2、core-site.xml:
(1)fs.defaultFS:hdfs://cluster1(域名),这里的值指的是默认的HDFS路径
(2)hadoop.tmp.dir:/export/data/hadoop_tmp,这里的路径默认是NameNode、DataNode、JournalNode等存放数据的公共目录。用户也可以自己单独指定这三类节点的目录。
(3)ha.zookeeper.quorum:hadoop101:2181,hadoop102:2181,hadoop103:2181,这里是ZooKeeper集群的地址和端口。注意,数量一定是奇数,且不少于三个节点
(4)hadoop.proxyuser.erpmerge.hosts、hadoop.proxyuser.erpmerge.groups主要用来设置oozie的代理用户
3、hdfs-site.xml:
(1)dfs.replication:指定DataNode存储block的副本数量,不大于DataNode的个数就行
(2)dfs.nameservices:cluster1,cluster2,使用federation(HDFS联盟)时,如果使用了2个HDFS集群。这里抽象出两个NameService实际上就是给这2个HDFS集群起了个别名。名字可以随便起,相互不重复即可
(3)dfs.ha.namenodes.cluster1:hadoop101,hadoop102,指定NameService是cluster1时的namenode有哪些,这里的值也是逻辑名称,名字随便起,相互不重复即可
(4)dfs.namenode.rpc-address.cluster1.hadoop101:hadoop101:8020,指定hadoop101的RPC地址
(5)dfs.namenode.http-address.cluster1.hadoop101:hadoop101:50070,指定hadoop101的http地址
hadoop102设置同(4)、(5)
(6)dfs.namenode.shared.edits.dir:qjournal://hadoop101:8485;hadoop102:8485;hadoop103:8485/cluster1,指定cluster1的两个NameNode共享edits文件目录时,使用的JournalNode集群信息
(7)dfs.ha.automatic-failover.enabled.cluster1:true,指定cluster1是否启动自动故障恢复,即当NameNode出故障时,是否自动切换到另一台NameNode
(8)dfs.client.failover.proxy.provider.cluster1:org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider,指定cluster1出故障时,哪个实现类负责执行故障切换
如果有cluster2集群,则设置如上
(9)dfs.journalnode.edits.dir:【指定JournalNode集群在对NameNode的目录进行共享时,自己存储数据的磁盘路径】
(10)dfs.ha.fencing.methods:sshfence,【一旦需要NameNode切换,使用ssh方式进行操作】
(11)dfs.ha.fencing.ssh.private-key-files:/root/.ssh/id_rsa,【如果使用ssh进行故障切换,使用ssh通信时用的密钥存储的位置】
4、mapred-site.xml:
(1)mapreduce.framework.name:yarn【指定运行mapreduce的环境是yarn,与hadoop1截然不同的地方】
(2)mapreduce.jobhistory.address:hadoop1:10020
(3)mapreduce.jobhistory.webapp.address:hadoop1:19888
(4)mapreduce.map.output.compress:false
(5)mapreduce.map.output.compress.codec:org.apache.hadoop.io.compress.GzipCodec
(6)yarn.app.mapreduce.am.staging-dir:/user
5、yarn-site.xml:
(1)yarn.resourcemanager.hostname:【自定ResourceManager的地址,还是单点,这是隐患】
(2)yarn.nodemanager.aux-services:mapreduce_shuffle
(3)yarn.nodemanager.aux-services.mapreduce.shuffle.class:org.apache.hadoop.mapred.ShuffleHandler
(4)yarn.resourcemanager.address:hadoop1:8032
(5)....
6、slaves文件:
【指定所有的DataNode节点列表,每行一个节点名称】