fs.defaultFS hdfs://node1:8020  
 hadoop.tmp.dir /export/data/hadoop-3.3.0  
 hadoop.http.staticuser.user root  
 hadoop.proxyuser.root.hosts * hadoop.proxyuser.root.groups *  
 fs.trash.interval 1440

### 3、hdfs-site.xml



作用:指定SNN进程的位置信息 和 每个block的备份数量vi hdfs-site.xml

#在configuration标签内添加内容  

dfs.namenode.secondary.http-address node2:9868  

补充:这里指定secondarynamenode在node2上,也就意味着我们jps时,这个进程是显示在node2节点上,而不是node1,如果想要放在node1上,只需修改value的值即可。



### 4、mapred-site.xml



作用:mapreduce相关的  

注意:有些版本是没有mapred-site.xml文件的,只有mapred-site.xml.template模板,可以先复制一份这样的模板,再去修改。  

1)备份mapred-site.xml.templatecp mapred-site.xml.template mapred-site.xml

如果有mapred-site.xml,忽略这一步。



2)修改文件vi mapred-site.xml

 

mapreduce.framework.name yarn  
 mapreduce.jobhistory.address node1:10020  
 mapreduce.jobhistory.webapp.address node1:19888 yarn.app.mapreduce.am.env HADOOP_MAPRED_HOME=${HADOOP\_HOME} mapreduce.map.env HADOOP_MAPRED_HOME=${HADOOP\_HOME} mapreduce.reduce.env HADOOP_MAPRED_HOME=${HADOOP\_HOME}

### 5、yarn-site.xml



作用:与yarn相关的,指定resourcemanager的位置信息。vi yarn-site.xml

#在configuration标签内添加内容  

yarn.resourcemanager.hostname node1 yarn.nodemanager.aux-services mapreduce_shuffle  
 yarn.nodemanager.pmem-check-enabled false  
 yarn.nodemanager.vmem-check-enabled false  
 yarn.log-aggregation-enable true  
 yarn.log.server.url http://node1:19888/jobhistory/logs  
 yarn.log-aggregation.retain-seconds 604800

### 6、workers



作用:指定工作的节点有哪些。  

注意:在hadoop3.0以前,这个文件叫slaves,3.0之后叫做workers。由于我这里是hadoop3.3.0,所以vi workers

把文件里面的localhost删除,添加以下内容node1 node2 node3

**补充**: /etc/hosts 和 workers 这两个文件里的主机名写法应该保持一致,否则会导致启动集群时,系统无法识别主机名。比如我/etc/hosts 里写的是node1,那 workers 里写的也应该是node1,而不是node1.itcast.cn。



**至此,配置文件修改完成。**



## 三、分发同步hadoop



先前并没有同步hadoop服务,是因为想等修改好配置文件后,再把整个hadoop目录同步过去。  

1)回到服务安装路径下,也就是我这里的`/export/servers`。cd /export/servers

2)执行以下命令scp -r hadoop-3.3.0 root@node2:PWD补充:**$PWD表示当前节点所在的绝对路径**,在这里就是`/export/servers`,  

在执行上述命令后,会把node1当前路径下的hadoop-3.3.0目录及其子目录、文件 复制到 node2和node3 的相同路径(/export/servers)下。也就是root@node2:/export/servers 的另一种写法。



至此,所有节点都安装了hadoop。



## 四、配置环境变量



光是下载好jdk和hadoop是不行的,系统不知道它们的路径,也就无法正常使用它们。就像我们在命令符界面使用某些工具时,都需要去到相应的路径才能正常使用一样。  

负责环境变量的文件是`/etc/profile`。



### 1、修改环境变量vi /etc/profile

将下面内容添加到profile文件中,然后保存退出。#java path export JAVA_HOME=/export/servers/jdk1.8.0_241 export PATH=JAVA_HOME/bin export CLASSPATH=.:JAVA_HOME/lib/tools.jar #hadoop path export HADOOP_HOME=/export/servers/hadoop-3.3.0 export PATH=HADOOP_HOME/bin:$HADOOP_HOME/sbin补充:一定要以自己的jdk和hadoop安装路径为准



### 2、分发环境变量文件



将修改好的profile分件分发给其它节点,就无需每个都配置一次。scp /etc/profile root@node2:/etc/ scp /etc/profile root@node3:/etc/