首先会写出集群的部署规划,然后根据规划编写对应的配置文件
主要包含四个配置文件,包含的,将配置文件改好,然后分发到各个配置文件然后启动集群的时候将会加载配置文件
一、集群的部署规划
| 
 | hadoop102 | hadoop103 | hadoop104 | 
| HDFS 
 | NameNode DataNode | 
 DataNode | SecondaryNameNode DataNode | 
| YARN | 
 NodeManager | ResourceManager NodeManager | 
 NodeManager | 
注意:NameNode和SecondaryNameNode不要安装在同一台服务器,但是中间会涉及到数据的来回拷贝,尽量放置近一点
注意:ResourceManager也很消耗内存,不要和NameNode、SecondaryNameNode配置在同一台机器上。
二、hadoop 中常用的端口
| Daemon | App | Hadoop2 | Hadoop3 | 
| NameNode Port | Hadoop HDFS NameNode | 8020 / 9000 | 9820 | 
| 
 | Hadoop HDFS NameNode HTTP UI | 50070 | 9870 | 
| Secondary NameNode Port | Secondary NameNode | 50091 | 9869 | 
| 
 | Secondary NameNode HTTP UI | 50090 | 9868 | 
| DataNode Port | Hadoop HDFS DataNode IPC | 50020 | 9867 | 
| 
 | Hadoop HDFS DataNode | 50010 | 9866 | 
| 
 | Hadoop HDFS DataNode HTTP UI | 50075 | 9864 | 
三、自定义配置文件
core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml四个配置文件存放在$HADOOP_HOME/etc/hadoop这个路径上,用户可以根据项目需求重新进行修改配置。
一、配置core-site.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 3 4 <configuration> 5 <!-- 指定NameNode的地址 --> 6 <property> 7 <name>fs.defaultFS</name> 8 <value>hdfs://hadoop102:9820</value> 9 </property> 10 <!-- 指定hadoop数据的存储目录 --> 11 <property> 12 <name>hadoop.tmp.dir</name> 13 <value>/opt/module/hadoop-3.1.3/data</value> 14 </property> 15 16 <!-- 配置HDFS网页登录使用的静态用户为atguigu --> 17 <property> 18 <name>hadoop.http.staticuser.user</name> 19 <value>atguigu</value> 20 </property> 21 22 <!-- 配置该atguigu(superUser)允许通过代理访问的主机节点 --> 23 <property> 24 <name>hadoop.proxyuser.atguigu.hosts</name> 25 <value>*</value> 26 </property> 27 <!-- 配置该atguigu(superUser)允许通过代理用户所属组 --> 28 <property> 29 <name>hadoop.proxyuser.atguigu.groups</name> 30 <value>*</value> 31 </property> 32 <!-- 配置该atguigu(superUser)允许通过代理的用户--> 33 <property> 34 <name>hadoop.proxyuser.atguigu.groups</name> 35 <value>*</value> 36 </property> 37 </configuration>
二、配置hdfs-site.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 3 4 <configuration> 5 <!-- nn web端访问地址--> 6 <property> 7 <name>dfs.namenode.http-address</name> 8 <value>hadoop102:9870</value> 9 </property> 10 <!-- 2nn web端访问地址--> 11 <property> 12 <name>dfs.namenode.secondary.http-address</name> 13 <value>hadoop104:9868</value> 14 </property> 15 </configuration>
三、配置yarn-site.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 3 4 <configuration> 5 <!-- 指定MR走shuffle --> 6 <property> 7 <name>yarn.nodemanager.aux-services</name> 8 <value>mapreduce_shuffle</value> 9 </property> 10 <!-- 指定ResourceManager的地址--> 11 <property> 12 <name>yarn.resourcemanager.hostname</name> 13 <value>hadoop103</value> 14 </property> 15 16 <!-- 开启日志聚集功能 --> 17 <property> 18 <name>yarn.log-aggregation-enable</name> 19 <value>true</value> 20 </property> 21 <!-- 设置日志聚集服务器地址 --> 22 <property> 23 <name>yarn.log.server.url</name> 24 <value>http://hadoop102:19888/jobhistory/logs</value> 25 </property> 26 <!-- 设置日志保留时间为7天 --> 27 <property> 28 <name>yarn.log-aggregation.retain-seconds</name> 29 <value>604800</value> 30 </property> 31 32 33 <!-- 环境变量的继承 --> 34 <property> 35 <name>yarn.nodemanager.env-whitelist</name> 36 <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value> 37 </property> 38 <!-- yarn容器允许分配的最大最小内存 --> 39 <property> 40 <name>yarn.scheduler.minimum-allocation-mb</name> 41 <value>512</value> 42 </property> 43 <property> 44 <name>yarn.scheduler.maximum-allocation-mb</name> 45 <value>4096</value> 46 </property> 47 <!-- yarn容器允许管理的物理内存大小 --> 48 <property> 49 <name>yarn.nodemanager.resource.memory-mb</name> 50 <value>4096</value> 51 </property> 52 <!-- 关闭yarn对物理内存和虚拟内存的限制检查 --> 53 <property> 54 <name>yarn.nodemanager.pmem-check-enabled</name> 55 <value>false</value> 56 </property> 57 <property> 58 <name>yarn.nodemanager.vmem-check-enabled</name> 59 <value>false</value> 60 </property> 61 </configuration>
四、MapReduce配置文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 3 4 <configuration> 5 <!-- 指定MapReduce程序运行在Yarn上 --> 6 <property> 7 <name>mapreduce.framework.name</name> 8 <value>yarn</value> 9 </property> 10 11 <!-- 历史服务器端地址 --> 12 <property> 13 <name>mapreduce.jobhistory.address</name> 14 <value>hadoop102:10020</value> 15 </property> 16 17 <!-- 历史服务器web端地址 --> 18 <property> 19 <name>mapreduce.jobhistory.webapp.address</name> 20 <value>hadoop102:19888</value> 21 </property> 22 23 </configuration>
5、配置workers
此文件主要为指定dn有哪些,这配置如下
1 hadoop102 2 hadoop103 3 hadoop104
配置文件写好后,需要分发给各个节点,并且一定要对nn进行格式化操作,不然后面nn的进程启动不起来
原文:https://www.cnblogs.com/Velome/p/13338051.html