关键属性

Hadoop守护进程的关键属性大多标记为final,使作业的配置无法覆盖。

典型的core-site.xml配置文件

<?xml version="1.0">
<!-- core-site.xml -->
<configuration><property><name>fs.default.name</name><value>hdfs://namenode/</value><final>true</final></property>
</configuration>

典型的hdfs-site.xml配置文件

<?xml version="1.0">
<!-- hdfs-site.xml -->
<configuration><property><name>dfs.name.dir</name><value>/disk1/hdfs/name,/remote/hdfs/name</value><final>true</final></property><property><name>dfs.data.dir</name><value>/disk1/hdfs/data,/remote/hdfs/data</value><final>true</final></property><property><name>fs.checkpoint.dir</name><value>/disk1/hdfs/namesecondary,/disk2/hdfs/namesecondary</value><final>true</final></property>
</configuration>

典型的mapred-site.xml配置文件

<?xml version="1.0">
<!-- mapred-site.xml -->
<configuration><property><name>mapred.job.tracker</name><value>jobtracker:8021</value><final>true</final></property><property><name>mapred.local.dir</name><value>/disk1/mapred/local,/disk2/mapred/local</value><final>true</final></property><property><name>mapred.system.dir</name><value>/tmp/hadoop/mapred/system</value><final>true</final></property><property><name>mapred.tasktracker.map.tasks.maximum</name><value>7</value><final>true</final></property><property><name>mapred.tasktracker.reduce.tasks.maximum</name><value>7</value><final>true</final></property><property><name>mapred.child.java.opts</name><value>-Xmx400m</value></property>
</configuration>

HDFS

运行HDFS需要将一台机器指定为namenode。上文中,fs.default.name描述HDFS文件系统的URI,其主机是namenode的主机名称或IP地址,端口号是namenode监听RPC的端口,默认是8020。
fs.default.name也指定了默认文件系统,可以解析相对路径。
属性项dfs.name.dir指定一系列目录来供namenode存储永久性的文件系统元数据。通常情况下,配置dfs.name.dir,将namenode的元数据写到一个(或两个)本地磁盘和一个远程磁盘之中。
属性项dfs.data.dir指定datanode存储数据的目录。dfs.name.dir描述一系列目录,其目的是支持冗余备份。但是dfs.data.dir描述一系列目录的目的是提高性能。
最后,还需要指定辅助namenode存储文件系统的检查点目录。属性项fs.checkpoint.dir指定一系列目录来保存检查点。与namenode类似,检查点映像文件也会分包存储在各个目录之中。

MapReduce

运行MapReduce需要用户指定一台机器为jobtracker。设置mapred.job.tracker属性,指定jobtracker的主机名或IP地址以及它在监听的端口。该属性并非URI格式,而是“主机:端口”格式,默认端口号为8021。
MapReduce作业在执行过程中,产生的中间数据和工作文件被写到临时本地文件中。这个数据量可能非常大,所以本地临时存储空间必须足够大。在设置mapred.local.dir属性时,使用一个逗号分隔的目录名列表,用户最好将这些目录分散到所以本地磁盘,以提升磁盘I/O效率。
属性项mapred.system.dir指定存储各个tasktracker共享文件的目录。
最后,属性mapred.tasktracker.map.tasks.maximum和mapred.tasktracker.reduce.tasks.maximum表示在tasktracker机器上有多少核是可用的,mapred.child.java.opts表示tasktracker子JVM的有效内存大小。

地址和端口

Hadoop守护进程一般同时运行RPC和HTTP两个服务器。RPC服务器支持守护进程间的通信,HTTP服务器则提供与用户交互的Web页面。当网络地址被设置为0.0.0.0时,Hadoop将与本机上的所有地址绑定。端口号0表示服务器会选择一个空闲的端口号,但这种做法与集群范围的防火墙策略不兼容,所以不推荐。

RPC服务器属性

属性名称 默认值 说明
fs.default.name file:// 被设为一个HDFS的URI时,该属性描述namenode的RPC服务器地址和端口,默认端口号是8020
dfs.datanode.ipc.address 0.0.0.0:50020 datanode的RPC服务器地址和端口
mapred.job.tracker local 被设为主机名和端口号时,该属性指定jobtracker的RPC服务器地址和端口号,默认端口号是8021
mapred.task.tracker.report.address 127.0.0.1:0 tasktracker的RPC服务器地址和端口号。tasktracker的子JVM利用它和tasktracker通信。

HTTP服务器的属性

属性名称 默认值 说明
mapred.job.tracker.http.address 0.0.0.0:50030 jobtracker的HTTP服务器地址和端口
mapred.task.tracker.http.addresss 0.0.0.0:50060 tasktracker的HTTP服务器地址和端口
dfs.http.address 0.0.0.0:50070 namenode的HTTP服务器地址和端口
dfs.datanode.http.address 0.0.0.0:50075 datanode的HTTP服务器地址和端口
dfs.secondary.http.address 0.0.0.0:50090 辅助namenode的HTTP服务器地址和端口

如果有多个网络接口时,可以选择其中某一个网络接口作为各个datanode和tasktracker的IP地址。可以通过修改dfs.datanode.dns.interface和mapred.tasktracker.dns.interface来变更网络接口的地址。

java程序员的大数据之路(12):Hadoop的守护进程相关推荐

  1. java程序员的大数据之路(13):Pig入门

    Pig简介 Pig为大型数据集的处理提供了更高层次的抽象. Pig包括两部分: 用于描述数据流的语言,称为Pig Latin. 用于运行Pig Latin程序的执行环境.当前有两个环境:单JVM中的本 ...

  2. java程序员的大数据之路(3):用maven构建Hadoop项目

    背景 由于Hadoop项目多数是比较大的项目,因此我们选择使用构建工具来构建Hadoop项目,这里我们使用的是maven.当然也可以使用Gradle等比较流行的构建工具 构建过程 这里总结一下我使用I ...

  3. java程序员的大数据之路(1):Hadoop安装

    Hadoop伪分布式安装 从今天开始我会在这里记录在大数据学习方面的方法和遇到的一些问题. 首先从最著名的开源平台Hadoop开始学习.参考安装教程,这个教程比较全面,按照步骤一步步安装即可. 安装时 ...

  4. java程序员的大数据之路(16):Hive简介

    安装Hive Hive的安装比较简单,可以直接从官网下载.然后把解压到合适的位置. Hive的配置 解压完成后,需要配置好环境变量. vim /etc/profile export HIVE_HOME ...

  5. java程序员的大数据之路(9):MapReduce的类型

    概述 Hadoop的MapReduce中,map和reduce函数遵循如下常规格式: map:(K1,V1) -> list(K2,V2) reduce:(K2,list(V2)) -> ...

  6. java程序员的大数据之路(2):创建第一个Hadoop程序

    环境 Ubuntu 16.04 + Hadoop 2.7.4 + Intellij idea 2017.2 + jdk 1.8 创建过程 新建工程 新建一个工程 输入工程名 可以随便给工程起一个名字, ...

  7. java程序员的大数据之路(15):Pig Latin用户自定义函数

    过滤函数 所有的过滤函数都要继承FilterFunc类,并且实现抽象方法exec(),该方法的返回类型为Boolean. 示例代码如下: package com.udf.filter;import o ...

  8. java程序员的大数据之路(14):Pig Latin

    结构 一个Pig Latin程序由一组语句构成,一个语句可以理解为一个操作,或一个命令.语句必须以分号结束. Pig Latin有两种注释方法,双减号表示单行注释.多行注释可以使用/* 和 */表示. ...

  9. java程序员的大数据之路(8):MapReduce的工作机制

    概述 Hadoop运行作业时的整个过程如果所示. 包含如下4个独立的实体. 客户端:提交MapReduce作业. jobtracker:协调作业的运行.它的主类是JobTracker. tasktra ...

最新文章

  1. qq企业邮箱 java发送_spring配置javamail利用qq企业邮箱发送邮件。
  2. 一个超乎想象的垃圾收集器:ZGC
  3. 计算机网络的OSI七层模型
  4. POJ 2337 输出欧拉路径
  5. 写给80后,我们的人生才刚刚开始
  6. [HTML5amp;CSS3]Transform具体解释
  7. 深度学习笔记(3) 向量化逻辑回归
  8. 【编程珠玑】第五章 编程小事
  9. 看了这么多代码,谈一谈代码风格!
  10. 关于绕开百度文库复制限制的那档子事
  11. 支持大规模视频融合的混合现实技术
  12. 百度下拉词获取方式---火车采集器
  13. 微信小程序云函数数组删除和添加并排序操作pull,push 用法
  14. ffmpeg视频转码压缩
  15. 前端技能树,面试复习第 1 天—— 建立前端知识框架 | HTML 知识考察点
  16. 【iOS 开发】活动指示器控件 UIActivityIndicatorView
  17. win10如何打开摄像头_干货|如何优雅的打开你的win10电脑
  18. 【CJY学习笔记】Linux防火墙基本操作(基于centos7)
  19. Matlab数学建模(九):机理建模方法
  20. 学微积,用手机;勇于创新,敢于实践

热门文章

  1. 动态规划--找零钱有多少种方法
  2. 气象模式 | WRFDA资料同化系统的发展
  3. sona: Spark on Angel部署教程
  4. Python解一元一次方程和一元二次方程,输出数学形式和小数形式
  5. 嵌入式产品的研发流程
  6. gitlab进行协作以及issue的使用说明
  7. 2021年中国传媒大学MBA考研复试真题分享
  8. 35岁年薪百万,我决定辞职考研
  9. vivaldi浏览器使用技巧:
  10. MySQL 系统变量(system variables)