HA hadoop 安装
<property></property>
<name></name>
<value></value>
core-site.xml
fs.defaultFS hdfs://hostname 默认主节点
io.native.lib.available true 本地库文件生效
hadoop.tmp.dir /home/hadoop/tmp 数据存放位置
ha.zookeeper.quorum hadoop1:2181,hadoop2:2181,hadoop,2181 zookepeer集群节点
dfs.namenode.checkpoint.dir /root下的目录 归档文件存放位置
io.file.buffer.size 8192 文件缓冲区大小
hadoop.proxyuser.root.hosts hostname
hadoop.proxyuser.root.groups
hdfs.site.xml
dfs.replication 3 文件副本数
dfs.nameservices ns1(随意取的名字) namenode服务
dfs.ha.namenodes.ns1 nn1,nn2 (namenode的名字) namenode的所有节点
dfs.namenode.rpc-adress.ns1.nn1 hostname:8020 访问端口
dfs.namenode.http-adress.ns1.nn1 hostname:50070 访问端口
dfs.namenode.shared.edits.dir qjournal://(所有)datanode:8485;/ns1
dfs.client.failover.proxy.provider.ns1
org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxprovider
dfs.ha.fencing.methods shell(/bin/bash)
dfs.journalnode.edits.dir /子节点的元数据位置
dfs.ha.automatic-failover.enabled true
dfs.ha.fencing.ssh.private-key-files /home/hadoop/.ssh/.pub
dfs.datanode.data.dir /子节点数据存放位置
dfs.datanode.handler.count 20
dfs.datanode.du.reserved 3221225472
dfs.blocksize 134217728
dfs.namemode.hander.count 20
dfs.balance.bandwidthPerSec 40485760
dfs.support.append true
dfs.datanode.max.transfer.threads 4096
mapred.site.xml
mapred.job.tracker hostname:9001
mapreduce.framework.name yarn
yarn-site.xml
yarn.resourcemanager.hostname hostname(不用热备)
yarn.resourcemanager.ha.enabled true
yarn.resourcemanager.cluster-id yrc(随意)
yarn.resourcemanager.ha.rm-ids rm1,rm2
yarn.resourcemanager.hostname.rm1 hostname
yarn.resourcemanager.zk-address hadoop1:2181,hadoop2:2181,hadoop,2181
yarn.nodemanager.aux-services mapreduce_shuffle
hadoop-daemon.sh start journalnode hdfs namenode -initializeSharedEdits
hdfs namenode -format
could only be replicated to 0 nodes, instead of 1
?确保master(namenode) 、slaves(datanode)的防火墙已经关闭
?确保DFS空间的使用情况
?Hadoop默认的hadoop.tmp.dir的路径为/tmp/hadoop-${user.name},而有的linux系统的/tmp目录文件系统的类型往往是Hadoop不支持的。( 本人在Ubuntu 10.10下测试伪分布式时就遇到了这种情况 )
?先后启动namenode、datanode(本人没有碰到过这样的情况 )
$hadoop-daemon.sh start namenode
$hadoop-daemon.sh start datanode