Hadoop3.x配置文件
首先了解一下有哪些即将配置的结点
下面开发的时候进行的结点配置
下面的内容的解释可以在官方文档中翻到最下面找到
第二列是如果不配的话,默认给你赋的值,第三列是解释
配置hdfs的集群关联
在主机的/liu/hadoop/etc/hadoop/core-site.xml的 节点内插入如下内容。
<!-- 决定hdfs运行模式,这里填上自己的ip,就变为集群模式,填上的是NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://liu:8020</value> <!--主节点NameNode的地址(datanode不需要配置端口)-->
<!-- liu这个主机名字必须是 在主机的hosts文件中已经标注过的-->
</property>
<!-- 配置hadoop临时目录,存储元数据用的-->
<property>
<name>hadoop.tmp.dir</name>
<value>/liu/hadoop/linshi</value>
</property>
<!-- 配置web端页面的静态用户 -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
<!-- 管理员的名字,必须是 主机 存在的用户(不是副机),并且该用户拥有root权限才行(这里直接用了root用户,所以具有所有权限,就不管了) -->
</property>
<!--定义HDFS所开放的代理服务 给hive用 -->
<property> <!--↓这里的名字要和前面的staticuser的名字一样 -->
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property><!-- ↓这里的名字要和前面的staticuser的名字一样 -->
<name>hadoop.proxyuser.root.groups</name><!--给所有组(里面包含用户)分配 权限-->
<value>*</value>
</property>
配置结点关联的web控制台
在主机的/liu/hadoop/etc/hadoop/hdfs-site.xml的 节点内插入如下内容。
<!-- 配置 主结点的web控制台地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>liu:9870</value>
</property>
<!-- 配置 从结点的web控制台地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>liu2:9868</value>
</property>
完事后,启动NameNode和DataNode后,关闭防火墙,直接 公网ip:9870就能访问NameNode的web控制台了。
配置mapreduce的集群关联
在主机的/liu/hadoop/etc/hadoop/mapred-site.xml的 节点内插入如下内容。
<property> <!-- 把mapred的工作区间放在yarn集群上跑-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- 历史服务器运行机器以及端口 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>liu2:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>liu2:19888</value>
</property>
配置yarn的集群关联
在主机的/liu/hadoop/etc/hadoop/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>liu2</value>
</property>
<!-- 环境变量的继承,给container用的-->
<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><!-- 执行一个mr的job时 的最大最小空间 -->
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>1024</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>4096</value>
</property>
<property><!-- NodeManager给ResourceManager 能给的最多内存-->
<name>yarn.nodemanager.resource.memory-mb</name>
<value>4096</value>
</property>
<property> <!-- physical物理内存的使用检查,如果为true,那么一旦超过前面的最大值,就会直接杀死该进程-->
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property><!-- virtual物理内存的使用检查-->
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value> <!-- true就是 启动日志服务器 -->
</property>
<!-- 设置日志聚集服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://liu2:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>