hdfs代码:
<configuration> <property> <!-- 指定 HDFS 副本的数量 --> <name>dfs.replication</name> <value>1</value> </property> <property> <!-- namenode 节点数据(即元数据)的存放位置,可以指定多个目录实现容错,多个目录用逗号分隔 --> <name>dfs.namenode.name.dir</name> <value>/home/hadoop/namenode/data</value> </property> <property> <!-- datanode 节点数据(即数据块)的存放位置 --> <name>dfs.datanode.data.dir</name> <value>/home/hadoop/datanode/data</value> </property> <property> <!-- 集群服务的逻辑名称 --> <name>dfs.nameservices</name> <value>mycluster</value> </property> <property> <!-- 块的大小(128M),下面的单位是字节--> <name>dfs.blocksize</name> <value>134217728</value> </property> <property> <!-- namenode守护进程的http地址:主机名和端口号。参考守护进程布局--> <name>dfs.namenode.http-address</name> <value>master:50070</value> </property> <property> <!-- secondarynamenode守护进程的http通信地址:主机名和端口号。参考守护进程布局--> <name>dfs.namenode.secondary.http-address</name> <value>master:50090</value> </property> <property> <!-- NameNode 元数据在 JournalNode 上的共享存储目录 --> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://master:8485;slave1:8485;slave2:8485/mycluster</value> </property> <property> <!-- Journal Edit Files 的存储目录 --> <name>dfs.journalnode.edits.dir</name> <value>/home/hadoop/journalnode/data</value> </property> <property> <!-- 配置隔离机制,确保在任何给定时间只有一个 NameNode 处于活动状态 --> <name>dfs.ha.fencing.methods</name> <value>sshfence</value> </property> <property> <!-- 使用 sshfence 机制时需要 ssh 免密登录 --> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/home/hadoop/.ssh/id_rsa</value> </property> <property> <!-- SSH 超时时间 --> <name>dfs.ha.fencing.ssh.connect-timeout</name> <value>30000</value> </property> <property> <!-- 访问代理类,用于确定当前处于 Active 状态的 NameNode --> <name>dfs.client.failover.proxy.provider.mycluster</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> <property> <!-- 开启故障自动转移 --> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property> </configuration>
core代码:
<configuration> <property> <!-- 指定 namenode 的 hdfs 协议文件系统的通信地址 --> <name>fs.defaultFS</name> <value>hdfs://master:8020</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> <property> <!-- 指定 hadoop 集群存储临时文件的目录 --> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop-2.7.7/data/abc/tmp</value> </property> <property> <!-- ZooKeeper 集群的地址 --> <name>ha.zookeeper.quorum</name> <value>master:2181,slave1:2181,slave2:2181</value> </property> <property> <!-- ZKFC 连接到 ZooKeeper 超时时长 --> <name>ha.zookeeper.session-timeout.ms</name> <value>10000</value> </property> </configuration>
yarn代码:
<configuration> <!-- Site specific YARN configuration properties --> <!-- Site specific YARN configuration properties --> <property> <!--配置 NodeManager 上运行的附属服务。需要配置成 mapreduce_shuffle 后才可以在Yarn 上运行 MapReduce 程序。--> <!-- 指定yarn的shuffle技术--> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <!-- 是否启用日志聚合 --> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <!-- 聚合日志的保存时间 --> <name>yarn.log-aggregation.retain-seconds</name> <value>86400</value> </property> <property> <!-- 启用 RM HA --> <name>yarn.resourcemanager.ha.enabled</name> <value>true</value> </property> <property> <!-- RM 集群标识 --> <name>yarn.resourcemanager.cluster-id</name> <value>my-yarn-cluster</value> </property> <property> <!-- 指定resourcemanager的主机名--> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <!--配置resourcemanager的内部通讯地址--> <name>yarn.resourcemanager.address</name> <value>master:8032</value> </property> <property> <!--配置resourcemanager的scheduler的内部通讯地址--> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <!--配置resoucemanager的资源调度的内部通讯地址--> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8031</value> </property> <property> <!--配置resourcemanager的管理员的内部通讯地址--> <name>yarn.resourcemanager.admin.address</name> <value>master:8033</value> </property> <property> <!--配置resourcemanager的web ui 的监控页面--> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value> </property> <property> <!-- ZooKeeper 集群的地址 --> <name>yarn.resourcemanager.zk-address</name> <value>master:2181,slave1:2181,slave2:2181</value> </property> <property> <!-- 启用自动恢复 --> <name>yarn.resourcemanager.recovery.enabled</name> <value>true</value> </property> <property> <!-- 用于进行持久化存储的类 --> <name>yarn.resourcemanager.store.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value> </property> </configuration>