面试题:hadoop组成
hadoop1.X MapReduce(计算+资源调度) HDFS(数据存储)
hadoop2.X MapReduce(计算) Yarn(资源调度) HDFS(数据存储)
HDFS 有一个ResourceManager+一个NameNode+若干个(几台单点服务器)NodeManager
网络配置:vim /etc/sysconfig/network-scripts/ifcfg-ens33
如何理解:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
atguigu ALL=(ALL) NOPASSWD:ALL
集群配置
NameNode、SecondNameNode、ResourceManager三个都很耗费资源,装在三台不同机器上。
NameNode内部通讯hadoop102:8020
NameNode web 端访问地址 hadoop102:9870
RescoureManager web hadoop103:8088
SecondaryNameNode web 端hadoop104:9868
默认配置文件 core-default.xml、hdfs-default.xml、yarn-default.xml、mapred-default.xml
自定义配置文件:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml
core-site.xml
<!-- 指定 NameNode 的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:8020</value>
</property>
<!-- 指定 hadoop 数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.1.3/data</value>
</property>
<!-- 配置 HDFS 网页登录使用的静态用户为tm -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>tm</value>
</property>
hdfs-site.xml
<!-- NameNode web 端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop102:9870</value>
</property>
<!-- SecondaryNameNode web 端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop104:9868</value>
</property>
yarn-site.xml
<!-- 指定 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>
mapred-site.xml
<!-- 指定 MapReduce 程序运行在 Yarn 上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>