hadoop解压完成后,想一想要修改几个配置文件?
答案是5个,分别是 core-site,hdfs-site,yarn-site,mapred-site,workers
先修改core-site
cd /opt/module/hadoop/etc/hadoop
vim core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:8020</value>
</property>
<!-- 指定hadoop数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop/data</value>
</property>
<!-- 配置HDFS网页登录使用的静态用户user-->
<property>
<name>hadoop.http.staticuser.user</name>
<value>$username</value>
</property>
<!-- 配置该user允许通过代理访问的主机节点 -->
<property>
<name>hadoop.proxyuser.$username.hosts</name>
<value>*</value>
</property>
<!-- 配置该user允许通过代理用户所属组 -->
<property>
<name>hadoop.proxyuser.$username.groups</name>
<value>*</value>
</property>
<!-- 配置该user允许通过代理的用户-->
<property>
<name>hadoop.proxyuser.$username.users</name>
<value>*</value>
</property>
</configuration>
---------------------------
namenode的端口号变化
- hadoop1.x 8020
- Hadoop2.x 9000
- hadoop3.0.x 9020
- hadoop3.1.x 8020(这里示例的是3.1.x)
hdfs-site
vim hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- nn web端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop102:9870</value>
</property>
<!-- 2nn web端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop104:9868</value>
</property>
<!-- 测试环境指定HDFS副本的数量1 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
namenode的web端端口变化
- 1.x和2.x 50070
- hadoop3.x 9870
2nnweb端端口变化
- 1.x和2.x 50090
- 3.x 9868
yarn-site
vim yarn-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="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>hadoop103</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>
<!--yarn单个容器允许分配的最大最小内存 -->
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>512</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>4096</value>
</property>
<!-- yarn容器允许管理的物理内存大小 -->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>4096</value>
</property>
<!-- 关闭yarn对物理内存和虚拟内存的限制检查 -->
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
</configuration>
注意:这里以学习搭建为目的所以yarn单个容器允许分配的最大最小内存就默认设置为一致的了(分发了相同的文件),但是实际开发中要根据具体情况来修改!
mapred-site
vim mapred-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定MapReduce程序运行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
workers
vim workers
hadoop102
hadoop103
hadoop104
数一数是不是完成了五个配置的修改
配置历史服务器
vim mapred-site.xml
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop102:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop102:19888</value>
</property>
配置日志聚集
vim yarn-site.xml
<!-- 开启日志聚集功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://hadoop102:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
第一次启动格式化
bin/hdfs namenode -format
2nn改错
发现页面空白,F12-Console发现第61行报错
cd /opt/module/hadoop/share/hadoop/hdfs/webapps/static
vim dfs-dust.js
:
set nu
#找到第61行,修改返回语句为
return Number(v).toLocaleString();
修改后,若刷新仍然没有改变,清楚浏览器缓存记录,再刷新即可
总结一下用到了哪些端口
内部端口
- namenode:8020
- datanode:9864
- 历史服务器:10020
- 日志聚集服务器:http://hadoop102:19888/jobhistory/logs
web端口
- namenode:hadoop102:9870
- 2nn:hadoop104:9868
- 历史服务器:hadoop102:19888
- resource manager:8088