(1)core-site.xml核心配置文件
当前要操作的文件是:/opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml我们使用编辑器,将它的文件内容修改如下:
<configuration>
<!-- 指定NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop100:8020</value>
</property>
<!-- 指定hadoop数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.1.3/data</value>
</property>
<!-- 配置HDFS网页登录使用的静态用户为root-->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
</configuration>
(2)HDFS配置文件
接下来配置第二个文件,/opt/module/hadoop-3.1.3/etc/hadoop/hdfs-site.xml
将它的文件内容修改如下:
<configuration>
<!-- nn web端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop100:9870</value>
</property>
<!-- 2nn web端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop102:9868</value>
</property>
</configuration>
(3)YARN配置文件
配置/opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml,文件内容如下:
<configuration>
<!-- 指定MR走shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</value>
</property>
<!-- 环境变量继承 -->
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>
(4)MapReduce配置文件
配置/opt/module/hadoop-3.1.3/etc/hadoop/mapred-site.xml,文件内容如下:
<configuration>
<!-- 指定MapReduce程序运行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(5)配置workers
要修改的文件是:/opt/module/hadoop-3.1.3/etc/hadoop/workers,在该文件中增加如下内容:
hadoop100
hadoop101
hadoop102
(6)同步分发配置文件
(7)启动集群
1.如果集群是第一次启动,需要在hadoop100节点(指定为namenode的节点)格式化NameNode(注意:格式化NameNode,会产生新的集群id)
命令是:hdfs namenode -format。具体如下:
[root@hadoop100 hadoop-3.1.3]$ hdfs namenode -format
2.
启动HDFS
[root@hadoop100 hadoop-3.1.3]$ sbin/start-dfs.sh
报错:不允许使用root用户来启动HDFS
在环境变量中添加/etc/profile.d/my_env.sh
#添root加环境变量
#告诉 Hadoop 使用 root 用户来启动和管理相应的服务
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
同步给其他的机器,并使用source命令,让环境变量生效!
3.在配置了ResourceManager的节点(hadoop101)启动YARN
[root@hadoop101 hadoop-3.1.3]$ sbin/start-yarn.sh