文章目录
hadoop2.6.2centos 配置文件说明
hadoop2.0的配置文件全部在$HADOOP_HOME/etc/hadoop下
cd $HADOOP_HOME/etc/hadoop
1修改hadoo-env.sh
export JAVA_HOME=/home/hadoop/app/jdk1.7.0_51(可以不修改,只要配置${JAVA_HOME}即可)
2修改core-site.xml
<!-- 指定hdfs的nameservice为ns1 -->
fs.defaultFS
hdfs://ns1
<!-- 指定hadoop临时目录 -->
hadoop.tmp.dir
/home/hadoop/app/hadoop-2.6.2/tmp
<!-- 指定zookeeper地址 -->
ha.zookeeper.quorum
hadoop5:2181,hadoop6:2181,hadoop7:2181
3修改hdfs-site.xml
<!--指定hdfs的nameservice为ns1,需要和core-site.xml中的保持一致 -->
dfs.nameservices
ns1
<!-- ns1下面有两个NameNode,分别是nn1,nn2 -->
dfs.ha.namenodes.ns1
nn1,nn2
<!-- nn1的RPC通信地址 -->
dfs.namenode.rpc-address.ns1.nn1
hadoop1:9000
<!-- nn1的http通信地址 -->
dfs.namenode.http-address.ns1.nn1
hadoop1:50070
<!-- nn2的RPC通信地址 -->
dfs.namenode.rpc-address.ns1.nn2
hadoop2:9000
<!-- nn2的http通信地址 -->
dfs.namenode.http-address.ns1.nn2
hadoop2:50070
<!-- 指定NameNode的元数据在JournalNode上的存放位置 -->
dfs.namenode.shared.edits.dir
qjournal://hadoop5:8485;hadoop6:8485;hadoop7:8485/ns1
<!-- 指定JournalNode在本地磁盘存放数据的位置 -->
dfs.journalnode.edits.dir
/home/hadoop/app/hadoop-2.6.2/journaldata
<!-- 开启NameNode失败自动切换 -->
dfs.ha.automatic-failover.enabled
true
<!-- 配置失败自动切换实现方式 -->
dfs.client.failover.proxy.provider.ns1
org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
<!-- 配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行-->
dfs.ha.fencing.methods
sshfence
shell(/bin/true)
<!-- 使用sshfence隔离机制时需要ssh免登陆 -->
dfs.ha.fencing.ssh.private-key-files
/home/hadoop/.ssh/id_rsa
<!-- 配置sshfence隔离机制超时时间 -->
dfs.ha.fencing.ssh.connect-timeout
30000
4修改mapred-site.xml
<!-- 指定mr框架为yarn方式 -->
mapreduce.framework.name
yarn
5修改yarn-site.xml
<!-- 开启RM高可用 -->
yarn.resourcemanager.ha.enabled
true
<!-- 指定RM的cluster id -->
yarn.resourcemanager.cluster-id
yrc
<!-- 指定RM的名字 -->
yarn.resourcemanager.ha.rm-ids
rm1,rm2
<!-- 分别指定RM的地址 -->
yarn.resourcemanager.hostname.rm1
hadoop3
yarn.resourcemanager.hostname.rm2
hadoop4
<!-- 指定zk集群地址 -->
yarn.resourcemanager.zk-address
hadoop5:2181,hadoop6:2181,hadoop7:2181
yarn.nodemanager.aux-services
mapreduce_shuffle
6修改slaves
(slaves是指定子节点的位置,因为要在hadoop1上启动HDFS、在hadoop3启动yarn,所以hadoop1上的slaves文件指定的是datanode的位置,hadoop3上的slaves文件指定的是nodemanager的位置)
hadoop5
hadoop6
hadoop7
7配置免密码登陆
首先要配置hadoop1到hadoop2、hadoop3、hadoop4、hadoop5、hadoop6、hadoop7的免密码登陆
在hadoop1上生产一对钥匙
ssh-keygen -t rsa
将公钥拷贝到其他节点,包括自己
ssh-copy-id hadoop1
ssh-copy-id hadoop2
ssh-copy-id hadoop3
ssh-copy-id hadoop4
ssh-copy-id hadoop5
ssh-copy-id hadoop6
ssh-copy-id hadoop7
配置hadoop3到hadoop4、hadoop5、hadoop6、hadoop7的免密码登陆
在hadoop3上生产一对钥匙
ssh-keygen -t rsa
将公钥拷贝到其他节点
ssh-copy-id hadoop4
ssh-copy-id hadoop5
ssh-copy-id hadoop6
ssh-copy-id hadoop7
注意:两个namenode之间要配置ssh免密码登陆,别忘了配置hadoop2到hadoop1的免登陆
在hadoop2上生产一对钥匙
ssh-keygen -t rsa
ssh-copy-id -i hadoop1