修改/etc/hosts文件中配置主机ip映射
这样我们可以通过调用master获取本地ip
配置/hadoop/etc/hadoop/works文件,注意不能含有空格,空行之类的
配置hadoop的4大配置文件,
可以通过以下提供的默认配置文件进行查找所需配置修改属性
这里我们只做普通集群部署,不做具体调优
只需要在/hadoop/etc/hadoop/修改以下配置文件即可,默认配置文件只供参考,不可修改
(1)core-site.xml配置文件
默认文件地址:share/doc/hadoop/hadoop-project-dist/hadoop-common/core-default.xml
文件内容如下:
<?xml version="1.0"encoding="UTF-8"?>
<?xml-stylesheettype="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<!-- 指定hadoop数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop/data</value>
</property>
<!-- 配置HDFS网页登录使用的静态用户为root-->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
</configuration>
(2)HDFS配置文件
配置hdfs-site.xml
默认配置文件地址:share/doc/hadoop/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
文件内容如下:
<?xml version="1.0"encoding="UTF-8"?>
<?xml-stylesheettype="text/xsl" href="configuration.xsl"?>
<configuration>
<!--nn web端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>master:9870</value>
</property>
<!--2nn web端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave2:9868</value>
</property>
</configuration>
(3)YARN配置文件
配置yarn-site.xml
默认配置文件地址:share/doc/hadoop/hadoop-yarn/hadoop-yarn-common/yarn-default.xml
文件内容如下:
<?xmlversion="1.0" encoding="UTF-8"?>
<?xml-stylesheettype="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定MR走shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>slave1</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>
<!-- 开启日志聚集功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://master:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>
(4)MapReduce配置文件
配置mapred-site.xml
默认配置文件地址:share/doc/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml
文件内容如下:
<?xml version="1.0"encoding="UTF-8"?>
<?xml-stylesheettype="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定MapReduce程序运行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- 历史服务器端内部地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>slave1:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>slave1:19888</value>
</property>
</configuration>
常用端口号说明
端口名称 | Hadoop2.x | Hadoop3.x |
NameNode内部通信端口 | 8020 / 9000 | 8020 / 9000/9820 |
NameNode HTTP UI | 50070 | 9870 |
MapReduce查看执行任务端口 | 8088 | 8088 |
历史服务器通信端口 | 19888 | 19888 |
如果使用root启动集群,需要配置一下sbin的启动关闭命令
Start-dfs.sh stop-dfs.sh加入以下配置
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
Stop-yarn.sh stop-yarn.sh加入以下配置
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
最终操作
需要将以上部署,同步或分发到另外两台虚拟机上,具体命令如下
分发命令:
scp -r /hadoop root@slave1:/
同步命令:
rsync -avh /hadoop root@slave1:/hadoop
在master节点进行格式化命令
hdfs namenode -format
启动集群命令
start-all.sh
愿以上可帮助各位!