由于ResourceManager和NameNode还有SecondaryNameNode比较消耗资源,顾三个配置分别配置到不同的主机上
hadoop01 | hadoop02 | hadoop03 | |
---|---|---|---|
HDFS | NameNode DataNode | DataNode | SecondaryNameNode DataNode |
YARN | NodeManager | ResourceManager NodeManager | NodeManager |
1、核心配置文件:vi etc/hadoop/core-site.xml
<!--指定hdfs中NameNode的地址-->
<!--vaule中的ip为本机ip-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.44.128:9000</value>
</property>
<!--指定hadoop运行时产生的文件存储目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/hadoop-3.2.0/tmp</value>
</property>
2、HDFS配置文件
配置hadoop-env.sh
命令:vi etc/hadoop/hadoop-env.sh
配置内容:
export JAVA_HOME=/usr/local/java/jdk1.8.0_131
配置hdfs-site.xml
命令:vi etc/hadoop/hdfs-site.xml
配置内容:
<!--指定hdfs的副本数量-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!--指定hadoop辅助名称节点主机配置-->
<!--hadoop03因为已经在/etc/hosts文件中配置过ip-->
<!--hadoop3.2.0版本中默认端口号为9868-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop03:50090</value>
</property>
<!--修改页面端口号,默认为9870,可以不进行修改-->
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
3、YARN配置文件
配置yarn-env.sh
命令:vi etc/hadoop/yarn-env.sh
配置内容:
export JAVA_HOME=/usr/local/java/jdk1.8.0_131
配置yarn-site.xml
命令:vi etc/hadoop/yarn-site.xml
配置内容:
<!--Reducer获取数据方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--yarn的resourcemanager地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop02</value>
</property>
4、MapReduce配置文件
配置mapred-env.sh
命令:vi etc/hadoop/mapred-env.sh
配置内容:
export JAVA_HOME=/usr/local/java/jdk1.8.0_131
配置mapred-site.xml
命令:vi etc/hadoop/mapred-site.xml
配置内容:
注意:如果没有mapred-site.xml文件,可以查看有没有mapred-site.xml.template文件,如果有将该文件重命名为mapred-site.xml,在进行下面操。
<!--指定MR运行在yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
5、通过scp命令或者xsync命令去分发hadoop配置文件
命令查看: https://my.oschina.net/u/3535099/blog/3235870
1、格式化nameNode(只有hadoop01需要格式化)
命令: bin/hdfs namenode -format
2、启动nameNode(只有hadoop01需要启动namenode,其他机器没有namenode所以不需要启动)
命令: sbin/hadoop-daemon.sh start namenode
3、启动dataNode(所有机器均需要启动)
命令: sbin/hadoop-daemon.sh start datanode
4、查看是否启动
命令:jps
5、访问nameNode页面