一、Hadoop进程监听的地址和端口:

Hadoop启动时会运行两个服务器进程,一个为用于hadoop各进程间进行通信的RPC服务进程,另一个是提供了便于管理员查看hadoop集群各进程相关信息页面的http服务进程。

  

用于定义各RPC服务器所监听的地址和端口的属性有如下几个:

fs.default.name  :  定义HDFSnamenode用于提供URI所监听的地址和端口,默认端口8020

dfs.datanode.ipc.address :   DataNodeIPC服务器监听的地址和端口,默认为0.0.0.0:50020

mapred.job.tracker :  JobTrackerRPC服务器所监听的地址和端口,默认为8021

mapred.task.tracker.report.address :TaskTrackerRPC服务器监听的地址和端口:TaskTracker的子JVM使用此端口与tasktracker进行通讯,它仅需要监听在本地回环地址127.0.0.1上,因此可以使用任何端口,只有在当本地没有回环接口时才需要修改此属性值。

 

除了RPC服务外,DataNode还会运行一个TCP/IP服务用于数据块传输,其监听的地址和端口可以通过dfs.datanode.address属性进行定义,默认为0.0.0.050010

  

HTTP服务属性:(可以通过浏览器访问获取对应进程的信息)

mapred.job.tracker.http.address :   JobTrackerHTTP服务器地址和端口,默认0.0.0.050030

mapred.task.tracker.http.address:  TaskTrackerHTTP服务器地址和端口,默认0.0.0.050060

dfs.http.address  :  NameNodeHTTP服务器地址和端口,默认0.0.0.050070

dfs.datanode.http.address:   DataNodeHTTP服务地址和端口,默认0.0.0.050075

dfs.secondary.http.address:   SecondaryNameNodeHTTP服务地址和端口,默认0.0.0.050090

 

二、Hadoop配置文件:



Hadoop配置文件主要有core-site.xml,hdfs-site.xml,mapred-site.xml三个配置文件;

不过根据版本不同,配置文件也不尽相同,可以解压hadoop包后,用(find hadoop-*** -name *.xml/sh )查找,里面有详细的官方说明文档:

大致有以下几个:

 

masters :   运行 secondarynamenode的机器列表(容易混淆,新版本中这个文件没有了)

 

slavers:    运行datanodetasktrackers的机器列表;

 

hadoop-env.sh/  yarn-env.sh/  httpfs-env.sh/ mapred-env.sh 这三个配置文件是配置hadoop环境变量的配置文件(如果在全局模式下配置了,在这可以忽略,在新版本中才有的配置文件)  一般就是配置  JAVA_HOME / HADOOP_HOME之类;


core-site.xml 这个配置文件是对hadoop全局的配置文件:


fs.default.name:namenode RPC交互端口,默认hdfs://master:8020


hadoop.tmp.dir:hadoop临时文件目录,hdfs/mapreduce等很多文件目录的父目录,

默认:/tmp/hadoop-${user.name}


fs.checkpoint.dir:secondary NameNode的元数据存放目录 以,号隔开,hdfs会把元数据冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉;

默认:${hadoop.tmp.dir}/dfs/namesecondary

fs.checkpoint.edits.dir:secondary NameNode的事务文件存储的目录,以,号隔开,hdfs会把事务文件冗余复制到这些目录。

默认:${fs.checkpoint.dir}


hdfs-site.xml这个配置文件是对hdfs局部的配置文件:


dfs.data.dir:data node的数据目录,以,号隔开,hdfs会把数据存在这些目录下,一般这些目录是不同的块设备,不存在的目录会被忽略掉

默认:${hadoop.tmp.dir}/dfs/data


dfs.name.dir:name node的元数据,以,号隔开,hdfs会把元数据冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉

默认:{hadoop.tmp.dir}/dfs/name


dfs.name.edits.dir :name node的事务文件存储的目录,以,号隔开,hdfs会把事务文件冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉

默认:${dfs.name.dir}


dfs.replication : 文件副本复制的数量数,不指定默认3份。


dfs.support.append:支持文件append,主要是支持hbase

默认:false,改为true支持。


dfs.http.address:NameNode web管理端口:0.0.0.0:50070

dfs.datanode.address:datanode 控制端口:0.0.0.0:50010

dfs.datanode.ipc.address:datanode的RPC服务器地址和端口:0.0.0.0:50020

dfs.datanode.http.address:datanode的HTTP服务器和端口:0.0.0.0:50075


dfs.secondary.http.address :secondary NameNode web管理端口:50090


mapred-site.xml这个是对mapreduce的局部的 配置文件:


mapred.local.dir:MapReduce产生的中间数据存放目录,以,号隔开,hdfs会把数据存在这些目录下,一般这些目录是不同的块设备,不存在的目录会被忽略掉

默认:${hadoop.tmp.dir}/mapred/local


mapred.system.dir:MapReduce的控制文件

默认:${hadoop.tmp.dir}/mapred/system


mapred.job.tracker:job tracker交互端口 :hdfs://master:8021/

mapred.job.tracker.http.address:job tracker的web管理端口0.0.0.0:50030

mapred.task.tracker.http.address:task tracker的HTTP端口0.0.0.0:50060


没 有特殊需求的情况下,配置上 面 标红色的 项目就可以。



新版本中,又加了好几个配置文件,具体内容还没研究过,有待更新: